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>
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>
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>
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
This lets pass create TOTP tokens, which is very handy.
Change-Id: I85b699087e83c3d18cd8840df11c4e27c85e1f3f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5578
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This results in a much more useful element size. Note that this still
does not scale some core UI elements, such as the mouse cursor, at all.
Change-Id: I7d4da485f0723740a7228a1561aaf50135c86032
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5575
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This silences some new git warning about whatever.
Change-Id: Iaa5225a307b850a756871fa5f494d687eb020fd7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5574
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This is much nicer than button areas on a large touchpad.
Change-Id: I369f96f6b99cdf1803be1056b31fcfab8c0deae4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5569
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This is my new Huawei MateBook X.
Change-Id: I32a8b77dd8f53b3c89bf63f448cd2880f9a457b7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5554
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Adds a small module that automatically picks the right home
configuration for each machine.
For some reason, importing home-manager itself in this module causes
infinite recursion. I've not looked into why, and left the import in
the tverskoy config instead.
Change-Id: Ie27109a3c4478b198ab646b2e179999cf053980e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5552
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
This will be reused between machines.
Change-Id: Ice7835ce7e63b00284e046606309e882412cda26
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5547
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
I have to google all of this this each time otherwise.
Change-Id: Ib7df0882e4681bd061f77a00b678641a7f37c58c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5546
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
This is no longer required; said customer has switched to Tailscale.
Change-Id: Iebe2fdfbf4013af86b7236e061cf4dbf47ac7c9e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5537
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
There's some configuration shared betwene my physical machines which
is just duplicated all over the place right now. What's the point of
having Nix if you don't use it fully?
Change-Id: Ic7e89f918d2517637b3d49617b4dc1a2cc6023b9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5536
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Some things were kinda out of date ...
Change-Id: Idc8430299c76423a41fb6d952caff4696cc4d71f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5508
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
undo-tree recently change dsome behaviour and started barfing "history
backup files" all over the place. These are really annoying and this
commit disables them completely.
Change-Id: I1c4ac0b12ba12d1f45c3f0516d16ba4f1f090700
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5504
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Changes:
* updated keycloak configuration for new version
* migrate to emacs28 outside of //users, re-add emacs27 but with a
warning attached urging people to migrate
Change-Id: I3e5765a63934541f72f6c4a8673d3b4671850c93
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5501
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
Cleans up a whole bunch of things I wanted to get out of the door
right away:
* depot internal references to //third_party/nixery have been replaced
with //tools/nixery
* cleaned up files from Github
* fixed SPDX & Copyright headers
* code formatting and inclusion in //tools/depotfmt checks
Change-Id: Iea79f0fdf3aa04f71741d4f4032f88605ae415bb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5486
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
When quoting a post containing a tgsa quote, the entire quote was
previously erased. Doing it this way will leave the Telegram link in it.
Change-Id: I53bfadd0615734f7e219b20509858d9b73c908a4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5482
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
The link shortening was in place because posts with image URLs that
were too long would not get recognised as valid image links.
astral has fixed this after my report:
https://forums.somethingawful.com/showthread.php?threadid=3999866
I verified this with the example post that has a bunch of images and
such in it.
Thanks astral!
Change-Id: I60e90fd52020ee5464c931a4dde91382c8a149ab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5481
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Audio can not be embedded on these stupid dead comedy forums, but
people can click through to listen.
Change-Id: I6e28636e69e424bb8cbc6b92963d1b28b3c04bf6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5478
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
I couldn't figure out how to get the ID for the `single=1` mode for
linking to a video directly, but linking to the post in embed mode
should also work.
Change-Id: Iebbd62724c36cee227a7c24968617ab418e8bd0c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5467
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Supports only posts with plain photos, and loses all message
formatting, but it's getting there.
Change-Id: I9e4afcf3072d1e0724521ccbdc1338fe4f8d5ebe
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5466
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Use nixos-unstable-small which fixes CVE-2018-25032
(out of bounds write while compressing).
* //users/grfn/xanthous:
- Supporting random-fu 0.3 requires considerable changes and patching
random-extras (https://github.com/aristidb/random-extras/pull/5).
For now we downgrade random-fu and its dependency rvar to 0.2.*,
forcing us to build xanthous with GHC 8.10.7, due to random-fu 0.2.*
not supporting that version.
Nix expressions for the downgraded packages are checked in to avoid
the potential need to compile Haskell at pipeline eval time.
- generic-arbitrary exposes a GenericArbitrary newtype now.
This means we no longer have to implement it in xanthous
downstream and patch generic-arbitrary to expose the
GArbitrary type class.
- Minor adjustments for lens 5.0:
Xanthous.Game.Memo: clear needs to use ASetter' instead of Lens'
Xanthous.Data.EntityMap: TraversableWithIndex no longer has an
itraversed function.
- Xanthous.Orphans: adjust for aeson's KeyMap, use KM.size explicitly
instead of relying on MonoTraversable's length
* //nix/buildLisp: the CCL issue has resurfaced, disabling the
implementation once again.
* //3p/arion: remove, as depot uses the nixpkgs package of it anyways.
* //users/wpcarro: accomodate GHC 9.0.1's stricter parsing of operators.
* //users/tazjin: disable rustfmt as it stopped respecting settings
* //3p/overlays: upgrade home-manager until fix for serivce generation
has landed upstream
* //users/grfn/system: remove rr override, as the pinned commit is part
of the 5.5.0 release shipped by nixpkgs.
Change-Id: If229e7317ba48498f85170b57ee9053f6997ff8a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5428
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
I need this for some work config which I can't put in public git :/
Change-Id: Id6a160d9dd9c1aedace68aca732744da22e413c5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5427
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This will be needed for manual NAT configuration in the next step.
Change-Id: I466265f436377e128416ea9a4b8017d78bd1ddd0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5383
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This host was previously managed manually, now adding it to depot
because doing that was a huge hassle.
Change-Id: I1e212fce13da735b5329578d9b2dd8f370f25cbc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5357
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
While in Egypt, I am on the go more often and actually having the
machine charge fully is quite useful.
Change-Id: I45109057936a0b1d8075f9eb5dcd77c45fce893d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5352
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
This allows me to jump to a workspace that is already displayed on
some buffer.
This also interfaces correctly with my back-and-forth jump
functionality, setting the variables to allow quick jumping back to
the previous buffer via the numerical index of the destination or - of
course - via s-b.
Change-Id: I25db7535089bcb17b3d61d53030b9154cfeac023
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5323
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
We really need target list diffing, would have caught this earlier.
Change-Id: Ifc064400b3115c6e2242d0b503cde4216b2ee787
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5257
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
this feature makes it so that if you jump to a workspace by index, and
then ask to jump that same index again, you end up where you started.
this is useful for quickly jumping to something to look at it, and
then back.
Change-Id: I12f5bba88c0d5b3ae5956d2b6a606f49146551f7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5244
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
this makes it possible to move forwards/backwards in workspace history
in the order in which I used them, while tracking the offset (e.g. it
is possible to go 3 steps back, do something, then move 2 steps
forward again).
this should make it possible to learn ad-hoc relative layouts for
whatever task i'm working on and reduce the number of times where i
frantically flip through all workspaces and try to figure out where
anything is.
note that this key binding is not very ergonomic, but i've remapped it
on my kinesis to the prior/next buttons. i never use those. using
<prior>/<next> directly doesn't work because too many modes override
them.
Change-Id: I257723b9e14a68b53be68539dd752db3445546e7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5243
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
rustfmt only sometimes detects path-based nested config
files (probably some kind of race?), so my users folder uses a
separate formatting check for rustfmt to avoid flaky CI. Enough flakes
around already ...
Change-Id: Ifd862f9974f071b3a256643dd8e56c019116156a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5242
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
They're big and I don't use them.
Change-Id: I87978c93ecf6cb5b5dd9935da61b0671522b06fa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5203
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This will end up in the whitby initrd, which is why I care about this file.
Change-Id: I48920de05643b63e05a99879175f4c044b1f36ea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5126
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Include the link to my new Telegram channel and do some rewording.
Change-Id: I51392dc9b9c694e2bf3a211bfe5297b4af0aebbb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5080
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Temporarily use a master commit as some interesting failures have been
fixed there (yubikey-manager and notmuch).
* //users/tazjin/nixos/camden: The acme module was moved around, so we
need to adjust the disabled module path.
Change-Id: I21c6a1963ffe4205f3577f531ce10b778a82e2ff
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4865
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
mostly to persist the configuration, which pins the tmpdir to a
sensible (persistent) location
Change-Id: I69693ed3a198b4aec281e53c5f7add4d0d8df657
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4834
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
telega.el currently throws errors related to some broken internal
logic about media codecs, which breaks this check in CI.
Change-Id: I8518977dba801dec90b966c84771ff0f59dcbb3d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4824
Tested-by: BuildkiteCI
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
This is much easier than the shitty keyboard layout switcher which
caused all kinds of terrifying bugs.
Unfortunately the layout switcher remains additionally because this
doesn't work with Quassel (Qt dropped support for XIM).
Change-Id: I7c58cebf9391216b6e7134d8c283d52cb18332de
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3497
Tested-by: BuildkiteCI
Autosubmit: tazjin <mail@tazj.in>
Reviewed-by: tazjin <mail@tazj.in>
the combination of this with zoxide on the shell is epic
Change-Id: I4773012cfe8b19562d6a66971114a25e9844a1f7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4513
Reviewed-by: tazjin <mail@tazj.in>
Autosubmit: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI