Commit graph

1636 commits

Author SHA1 Message Date
Griffin Smith
690e60b1d4 chore(grfn/emacs): Remove racer binding
Change-Id: Ia9d548d4d126fed0faa894006d077c253fa7f13e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5799
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2022-05-31 19:38:16 +00:00
Griffin Smith
8851075c27 feat(grfn/system): Resuscitate roswell
Resuscitate the configuration for roswell, the semi-portable
configuration I use for ec2 development boxes. Lots of the changes here
are trying to get Tramp working.

Change-Id: I2dc2fd1d9aa76e145fa3f3f847af761cb652ab47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5798
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: grfn <grfn@gws.fyi>
Tested-by: BuildkiteCI
2022-05-31 19:38:16 +00:00
James Landrein
fb22886165 feat(j4m3s): add keys
Change-Id: I8384d37f071a031d92d3d9b0d7692dae25880dc3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5797
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2022-05-31 16:05:38 +00:00
Vincent Ambo
a3e6e8dc24 fix(tazjin/nixos): Always install moreutils everywhere
I keep having this in the user env instead, not good.

Change-Id: I683efc9782281053cb4aee1875c3a664c8dcdae8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5794
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-30 15:12:02 +00:00
Vincent Ambo
4b830207da chore(tazjin/nixos): Cleanup of systemPackages
Change-Id: Ica651a2c392dc33b4f076e097d7b3889d50d96c6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5793
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-30 08:04:13 +00:00
sterni
58df008ca9 chore(3p/sources): Bump channels & overlays
This time, the emacs-overlay seems to have unbroken itself.

* //users/tazjin: use zfs.latestCompatibleLinuxPackages instead of
  linuxPackages_latest, since ZFS needs time to catch up (i.e. ZFS is
  broken with a 5.18 kernel).
  See https://github.com/NixOS/nixpkgs/pull/174091#issuecomment-1137175076

Change-Id: I8d1123af236a5e56618f6ac7a2e22511594b7d4b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5792
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-30 07:42:10 +00:00
tazjin
94b030f276 revert(users/tazjin): Revert "Welcome to the danger zone!"
This reverts commit ad7f07e6f1.

Reason for revert: This was just a test of b/167.

Change-Id: I1f709ed1c76c69555bf987370d4e521bd61e915e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5801
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-29 11:16:52 +00:00
Vincent Ambo
ad7f07e6f1 feat(users/tazjin): Welcome to the danger zone!
Debugging b/167. Just ignore this.

Change-Id: I516f52b34a2777a0e40e98cda43bb090720a70af
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5785
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
2022-05-29 11:13:52 +00:00
William Carroll
deb8796cc5 feat(wpcarro/tarasco): firewall.checkReversePath = loose
Tailscale is warning about this in `nix-build` via `trace`.

Change-Id: Ia44100f5a3cd12fbf9fd10dbf40bef10805aff12
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5749
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-05-27 23:31:34 +00:00
William Carroll
932a03e224 feat(wpcarro/tarasco): Enable earlyoom
See the comment or other CLs I've made in the past about earlyoom.

Change-Id: Ia4c0c61784aa3e76644de91a95e8b9fbdd743b54
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5748
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-05-27 23:31:33 +00:00
William Carroll
3dbfa04f21 fix(wpcarro/tarasco): Blacklist rtw88_8821ce
This naughty RealTek wireless module crashes my machine. I'm also moving other
`boot`-prefixed options out of `hardware.nix` and into `default.nix`. In
general, I'm not *really* a fan of the distinction between the two files in the
first place.

Change-Id: Iabdc776afc78f00971f426c5931b7235c8c0ee20
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5747
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-05-27 23:27:31 +00:00
William Carroll
8adf2c3740 feat(wpcarro/emacs): Add wpcarro@tarasco to ssh-hosts
For `M-x ssh-cd-home`

Change-Id: I8c16d9d0c420cb9feafcb466c4a416a04a4b1a26
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5746
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-05-27 23:27:30 +00:00
William Carroll
1f96143f48 feat(wpcarro/emacs): Add wpcarro@ava to ssh-hosts
For `M-x ssh-cd-home`

Change-Id: Iacb236793414b905071284e72d64e9dab3116319
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5745
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-05-27 23:27:30 +00:00
sterni
e86d0101d5 feat(sterni/emacs): function to display texcount for current file
Change-Id: Iae09dd79494d65e4025e1e34ab1d848ef2b9cd47
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5722
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-27 23:24:28 +00:00
William Carroll
ed29aed5bc chore(wpcarro/readme): Prefer shell pseudocode to bullet points
These docs get stale pretty often. Maybe my installation should be similar
like...

```shell
$ # pseudocode
$ nix-build https://code.tvl.fyi/depot.tar -A users.wpcarro.baseSystem
```

...where that automates more toil 🤷

Change-Id: I548142d9dff284afeb233ecf23036655b7f7c2df
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5744
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-05-27 23:21:25 +00:00
William Carroll
11a8eea0e3 feat(wpcarro/tarasco): Support tarasco 🇲🇽
Named after the Mexican restaurant, El Tarasco, in El Porto, which I live 3m
walking distance from.

Change-Id: I2cd4b68eaa974ad6c8fec73e0566bc0b831c57a8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5743
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-05-27 23:21:25 +00:00
William Carroll
e3530149c5 refactor(wpcarro/ava): Prefer disk/by-label to disk/by-uuid
I broke LVM (Logical Volume Manager - maybe?) when I did the following:

```shell
$ HOSTNAME=ava sudo rebuild-system
$ sudo reboot now
```

I had to rollback to the initial NixOS version and try again.

Change-Id: If90e5e23767392202425181be986f81deb5ddff7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5742
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-05-27 22:41:16 +00:00
William Carroll
534d7c34fc chore(wpcarro): Drop Makefile
Thank you for your service

Change-Id: I2e13aa7c28f461e80bd7ffcbc13cbe79594e0aee
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5741
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2022-05-27 22:41:15 +00:00
sterni
0e705fedb0 chore(3p/sources): Bump channels & overlays
* //nix/buildLisp: disable CCL once again due to
  The Mysterious Runtime Bug™.

* //users/tazjin/nixos: uninstall dmd which is broken in nixpkgs atm.

Change-Id: I8dd2220af48a7e087584b6f50529fb8477e6a2fb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5699
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
2022-05-27 21:15:10 +00:00
Vincent Ambo
aa29f359b8 chore(tazjin/home): persist another path on both laptops
Change-Id: I57f174c66b06212cf6fbce26ec9097a83b24abd0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5693
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-26 17:40:59 +00:00
Vincent Ambo
46d71fbff8 refactor(wpcarro): Prepare for restricted-eval
Change-Id: Ieb3b28d56ecd2819c3a7c08c22e33493d9e0be7f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5687
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 16:50:25 +00:00
William Carroll
d100c1f49f feat(wpcarro/ava): Support earlyoom
Strange start to my Monday where I spent ~2h debugging my hanging
NixOS. Strangely I'm not sure I made any changes to my configuration to trigger
this, and I was finding this hard to reproduce:
- graphical X sessions hung (once when opening Chrome)
- TTYs hung (during `nix-build` and `rebuild-system`)

Per kn's recommendations whenever a system is hanging, see if it's reachable
over the network (e.g. SSH). Since I didn't have my laptop, I downloaded Termius
on my iPhone, which I used to mosh into ava, which is a surprisingly nice UX.

I suspect my machine (with only 8GB of RAM) was OOMing, but I'm not
certain. Thanks to grfn I installed `earlyoom`. For more commentary, check-out
Profpatsch's blog post about this: https://profpatsch.de/notes/preventing-oom

What went well:
- Thankfully I installed a Matrix client on my iPhone last week, which allowed
  me to troubleshoot with the #tvl folks

AIs:
- I'd like some instrumentation like Prometheus, Loki (`journald`, `dmesg`), so
  that I can accumulate troubleshooting information that isn't destroyed when I
  reboot my machine (which I did 1/2-dozen times today).
- Consider adding `git` metadata to `system.nixos.label` to get more useful
  information in a GRUB/EFI context.

More unknowns:
- Why can't I switch back to EFI (from GRUB) for my bootloader?

Change-Id: Ie2a5a15f5c0ead346d50e331fa2937f8f3453960
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5625
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
2022-05-26 16:48:53 +00:00
Vincent Ambo
5d9d03057c refactor(grfn): Prepare for restricted-eval
Change-Id: I672ad0898b2ef6a11f8bc9233da0ded4a296fe0e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5686
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2022-05-26 16:37:02 +00:00
Vincent Ambo
d10cbc711d refactor(Profpatsch/blog): Prepare for restricted-eval
Change-Id: Ia73db534634b11c6361e4e88a4d73a1512d969ca
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5685
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2022-05-26 16:09:47 +00:00
Vincent Ambo
565993f016 refactor(tazjin): Additional restricted-eval cleanup
Change-Id: I4baa94f65a16248023b5fb0e2dd305d6984566c8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5690
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-26 15:40:44 +00:00
Vincent Ambo
9eb4002d18 refactor(tazjin/nixos): Prepare for restricted-eval
Change-Id: I6adbe1d53581dddc4c7c3a44516fbed3a661daff
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5689
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-26 12:53:21 +00:00
sterni
1ad9b249f4 feat(sterni/emacs): configure lsp-ui-sideline for code actions
Change-Id: Idd0d09c47466f77cc04a628c95152d306af563d5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5680
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 12:13:16 +00:00
sterni
80a80a0706 feat(sterni/emacs): configure lsp-ui add proper lsp bindings
Change-Id: I1a81feca1bde663d1fbea1e2520f25f0bb57453c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5679
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:51:13 +00:00
sterni
3a2ad8ed3b feat(sterni/emacs): fill background of languagetool issues
This used to be the behavior of languagetool.el which we now restore
finally. The yellow underline was really easy to miss on a white
background.

Change-Id: I8b34ed64f9f7a82c39de84575877910335024ffe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5678
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:51:13 +00:00
sterni
66d2ea3dfd feat(sterni/emacs): add binding for switch-to-buffer-other-window
Change-Id: Idbc6a9a080dc606d653b7fcf683182698836da43
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5677
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:50:12 +00:00
sterni
e4d87b1fd2 feat(sterni/emacs): load org-tracker from mutable path in home dir
Packaging this seemed a little tricky due to some quirks of the code,
but it's best to solve that whenever it's actually in depot. For now I
break it often enough that it's useful to be able to edit its source
quickly.

Still missing some necessary configuration which I'll probably steal
from grfn next week or so.

Change-Id: I1300807f7b1bc39ddb9f792c2ee500f4dd72d002
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5676
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:50:11 +00:00
sterni
462c85e2d8 refactor(sterni/emacs): banish elfeed and languagetool to ,m
I'll probably want to use <leader>f and <leader>l for different things
in the near future.

Change-Id: Iaf3de2dac90c018db8ca8797673bd1bf21df9c74
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5675
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:09 +00:00
sterni
72f0c3b6c1 fix(sterni/emacs): reflect changed command name in languagetool.el
Also delete duplicate java-arguments while we're at it.

Change-Id: I6e129f3aaefaa06e812d4dec36bd754fab4ab4e6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5674
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:08 +00:00
sterni
4bef7ef946 feat(sterni/emacs): default to ormolu as Haskell formatter
Change-Id: I4ce9c190e812cae56c00745e703fe3cc17755223
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5673
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:07 +00:00
sterni
71407ab2a6 feat(sterni/emacs): allow launching magit from project-switch
I always found myself starting a shell or dired to do ,gr right after…

Change-Id: I609bbe13c74a9360608939aca79748a8e59343fd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5672
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-26 11:47:07 +00:00
sterni
98dbd715fa feat(sterni/emacs): enable which-key mode
Change-Id: Ibfb1b729ad8dc1de72e4da5833077ea4cd764638
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5668
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2022-05-25 18:30:39 +00:00
sterni
03d1986316 feat(3p/agenix): update to 2022-05-16 and add to niv
The new version brings the new secretsDir setting which means we no
longer have to hardcode /run/agenix everywhere.

Change-Id: I4b579d7233d315a780d7671869d5d06722d769fa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5646
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: grfn <grfn@gws.fyi>
Autosubmit: sterni <sternenseemann@systemli.org>
2022-05-25 15:00:37 +00:00
Vincent Ambo
c55f61cd9b feat(tazjin/emacs): Configure zetteldeft for Markdown
Change-Id: Ib652374d42b6f701a7371325355871f8cc5325f9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5650
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-25 11:46:13 +00:00
Vincent Ambo
1bdf44c61f feat(tazjin/emacs): add zetteldeft & deft to prepare for showdown
The buildup to the showdown of org-roam vs. zetteldeft.

I can never quite get into org, but I wanna find a solution to the
problem I think I have which I think these solve

Change-Id: I03f7ee63b0af8dc3f8c52ad6fa4d6fa5048540bd
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5644
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-25 11:46:12 +00:00
Vincent Ambo
739434f417 revert(tazjin/emacs): Don't ignore messages from blocked senders
This reverts commit a989a91f9f.

This seemingly doesn't work anymore, and it is also not required
anymore because I no longer have the problem this solved.

Change-Id: I3c9c076b45f9aa865260ce7cb103538f694fe3e0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5643
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-25 11:46:11 +00:00
sterni
c93527d8a1 refactor(sterni/emacs): use use-package for elfeed
When I first added elfeed, for some reason I couldn't set it up with
use-package. Now the situation has reversed itself and elfeed started to
crash with cryptic elisp error messages. Copying tazjin's approach to
configuring elfeed has solved this issue luckily.

Change-Id: I57ec8f8d8ace6aa6545483f7b2559065a56792f1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5649
Reviewed-by: sterni <sternenseemann@systemli.org>
Autosubmit: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-23 17:12:55 +00:00
sterni
d60feb21e8 feat(sterni/emacs): add binding for find-file-at-point
Change-Id: I5b44df45d97e69b1a83c3e84039f55a3fced509f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5645
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2022-05-22 21:55:36 +00:00
sterni
5a1a18f58e chore(3p/sources): Bump channels & overlays
* //users/sterni: disable ada-mode, as GNAT bootstrap is broken in
  channels currently

Change-Id: I430f77baba2bcf306121e80aba61684c229c3981
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5641
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: tazjin <tazjin@tvl.su>
2022-05-22 13:08:37 +00:00
Vincent Ambo
074ee66eb0 fix(tazjin/nixos): force tgsa proxying over IPv4
Change-Id: I5b77d1c3a7e19144c0002d2b6f909317cfc62092
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5613
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-16 09:21:29 +00:00
Vincent Ambo
9b395edaa5 chore(tazjin/tgsa): remove note about long image links
this is no longer the case since image links are now forwarded by tgsa
with a cache

Change-Id: I36216efb5f372115e082a11a51c04736f102debb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5612
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-16 08:20:22 +00:00
Vincent Ambo
73c08943b8 feat(tazjin/tgsa): use permanent media links in bbcode
uses the tgsa-proxied media links in the message bbcode, leading to
stable image serving even if telegram swaps cdn addresses around, as
long as their embed page is någorlunda the same.

Change-Id: I50af1b3512d4e429fae4a2b3d10395664169e7a1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5611
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-15 00:01:31 +00:00
Vincent Ambo
b308361a73 feat(tazjin/tgsa): add stable redirects to telegram images
telegram occasionally changes the upstream urls at which images are
served, with old/new partially overlapping in time afaict.

with this commit, a new endpoint is added to tgsa at

  /img/$user/$post_id/$img_idx

which serves a redirect to the actual image url that telegram had
returned within the last hour (i.e. as per the cache).

next step is to use these image urls in the bbcode itself.

Change-Id: I9aa5cb56bc444cbe796868346c67f2e1e1b79413
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5610
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2022-05-14 23:50:50 +00:00
Vincent Ambo
f200b1265f refactor(tazjin/tgsa): move error handling one layer up
this lays the groundwork for adding another handler and returning
handler results as `anyhow::Result<rouille::Response>`.

needed for the image redirect stuff.

Change-Id: I909bd9c2f46f42ea759d50662d7bc36c1f408ed3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5609
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2022-05-14 23:50:50 +00:00
Vincent Ambo
e3d09c3446 refactor(tazjin/tgsa): factor out cache access helper
factor out a function to access telegram posts from the cache,
fetching them anew if required.

a small behavioural change means that the program now takes a write
lock when fetching a post, to avoid simultaneously fetching the same
post many times (quite likely once it serves image redirects).

Change-Id: If9c1429f86fb118dab90834f349cb222709c3a31
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5608
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
2022-05-14 23:50:50 +00:00
Vincent Ambo
89f25b431d feat(tazjin/tgsa): Expire cached telegram entries after one hour
Telegram expires certain links in messages after some (unknown) amount
of time; this commit is the first step to working around that by
providing an image URL proxy.

In order to do that, we tick two important boxes here:

1. Store an extensible data structure in the cache.
2. Expire them periodically.

Change-Id: Iba192d8b71db4493c942d1baf5680bd086f8f60b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5607
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2022-05-14 22:31:31 +00:00