about summary refs log tree commit diff
path: root/users
AgeCommit message (Collapse)AuthorFilesLines
2024-08-27 r/8597 chore(users/yl3dy): add OWNERS fileAlexander Kiselyov1-0/+3
Change-Id: I6618fb8de137c5887d3bd9e1cb0507cc818cb525 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12360 Reviewed-by: yl3dy <aleksandr.kiselyov@gmail•com> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-27 r/8596 feat(users/azahi/pkgs): add bruhazahi1-0/+42
Just testing out depot workflow by adding random stuff. Change-Id: I8acafe73b86d1936b64f8a4dd084c21c04e305bf Reviewed-on: https://cl.tvl.fyi/c/depot/+/12358 Tested-by: BuildkiteCI Autosubmit: azahi <azat@bahawi.net> Reviewed-by: azahi <azat@bahawi.net>
2024-08-27 r/8594 chore(users/azahi): add OWNERS fileazahi1-0/+3
Change-Id: Ic192e12b8858cc321a91c9ff545bdaaee75503c5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12354 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-27 r/8592 feat(tazjin/cursed): add bubblegum demo from VolgaSprint talkVincent Ambo2-0/+85
Change-Id: I4d9bd21e3dd6dbc24d46907e6270d49b97f50b99 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12352 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-25 r/8589 chore(users/aspen): use cargo-* packages from nixpkgsFlorian Klink3-58/+4
These started throwing eval warnings due to usage of cargoSha256, and are both available in nixpkgs. Change-Id: Ice636bebc0a839410125bc19b2252158add2b96e Reviewed-on: https://cl.tvl.fyi/c/depot/+/12337 Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi> Autosubmit: flokli <flokli@flokli.de>
2024-08-25 r/8588 chore(users/aspen): hardware.opengl -> hardware.graphicsFlorian Klink2-2/+2
Change-Id: I388a26221b805bc2aa7563d464888cc8b9ea9c92 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12336 Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi> Autosubmit: flokli <flokli@flokli.de>
2024-08-25 r/8585 feat(nix-compat): Add NixDeserialize and NixRead traitsBrian Olsen2-6/+13
Add a trait for deserializing a type from a daemon worker connection. This adds the NixDeserialize trait which is kind of like the serde Deserialize trait in that individual types are meant to implement it and it can potentially be derived in the future. The NixDeserialize trait takes something that implements NixRead as input so that you can among other things mock the reader. Change-Id: Ibb59e3562dfc822652f7d18039f00a1c0d422997 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11990 Autosubmit: Brian Olsen <me@griff.name> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-08-25 r/8581 feat(tazjin/german-string): impl Clone for GermanStringVincent Ambo1-0/+20
Small strings are always copied fully, without allocations. Large transient strings copy the data and allocate. Large persistent strings are also a trivial copy. Change-Id: I319c0b800fa7a4a62e634176b959bb2fa766a4eb Reviewed-on: https://cl.tvl.fyi/c/depot/+/12342 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-25 r/8579 chore(users/tazjin): hardware.opengl -> hardware.graphicsFlorian Klink5-7/+7
Change-Id: I649a6de6eef0b9b8c9cb658fdb6e4e46f5c8be1c Reviewed-on: https://cl.tvl.fyi/c/depot/+/12335 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-23 r/8572 feat(users/picnoir/tvix-daemon): Add crate2nix-checkIlan Joselevich1-0/+10
Change-Id: I92a2fd6369e1f45c8afa25f778ac424782699b55 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12304 Reviewed-by: flokli <flokli@flokli.de> Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com> Tested-by: BuildkiteCI
2024-08-23 r/8567 feat(users/emery/pkgs): add syndicate-serverEmery Hemingway1-0/+34
Change-Id: I3cd358e55a7f0208af8fe8aa990b9f2ee7ffe865 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12299 Reviewed-by: emery <emery@dmz.rs> Tested-by: BuildkiteCI
2024-08-23 r/8562 feat(users/emery): add custom Cyrillic keyboard layoutEmery Hemingway2-0/+121
Change-Id: I37f95c904e8a05cf8d8e437c41b9710c2ebf0300 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12294 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-22 r/8551 feat(tazjin/german-string): add constructor that leaks a Vec<u8>Vincent Ambo1-2/+29
Change-Id: Id0b6b4794128573ddb62e82fd77d080e564978be Reviewed-on: https://cl.tvl.fyi/c/depot/+/12264 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2024-08-22 r/8550 feat(tazjin/german-string): add persistent construction from staticsVincent Ambo1-9/+56
Makes it possible to construct persistent German Strings from data with 'static lifetime. This doesn't leak any additional data. Change-Id: Ifb3a36ff72b106724883302e4c2195ac54acd352 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12263 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2024-08-22 r/8549 refactor(tazjin/german-string): add type for encoding storage classVincent Ambo1-6/+24
Adds a StorageClassPtr type that is set up to be able to steal bits from an aligned pointer to encode the storage class of a German String. Change-Id: I64591174eac1ebcb73e624a59bd107ba1e02c69d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12262 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-21 r/8547 feat(nix-compat/nix_http): init parse_nar[info]_strFlorian Klink2-74/+201
This moves the URL component parsing code we had in nar-bridge to nix-compat. We change the function signature to return an Option, not a Result<_, StatusCode>. This allows returning more appropriate error codes, as we can ok_or(…) at the callsite, which we now do: on an upload to an invalid path, we now return "unauthorized", while on a GET/HEAD, we return "not found". This also adds support to parse compression suffixes. While not supported in nar-bridge, other users of nix-compat might very well want to parse these paths. Also fix the error message when parsing NAR urls, it mentioned 32, not 52, which is a copypasta error from the narinfo URL parsing code. Change-Id: Id1be9a8044814b54ce68b125c52dfe933c9c4f74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12260 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2024-08-20 r/8542 chore(aspen/system): Turn off disableWhileTyping for libinputAspen Smith1-6/+1
I... actually really hate this, it turns out. Plus it breaks video games, lol. Change-Id: I4b86e38ee78f5f3b6ffec5e7cc4f1dc054d91c56 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12256 Reviewed-by: aspen <root@gws.fyi> Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI
2024-08-19 r/8535 feat(tazjin/german-string): add constructor method from owned dataVincent Ambo1-12/+40
Makes it possible to construct a GermanString from an owned byte vector, without having to clone the data. This is done by "disowning" the vector using ManuallyDrop to access its internal pointer. For transient strings, this memory is then owned (and freed) by the GermanString instance. Small strings are copied out of the heap and stored inline as before, to avoid any dereferencing operations. Change-Id: I754736099f71d646d430aed73e558a5a7626c394 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12249 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-19 r/8534 feat(tazjin/german-string): add pointer equality check in EqVincent Ambo1-2/+3
This can short-circuit two large string comparisons. Change-Id: If45e7cf33921fe571482dc710c27ef8cc7c70885 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12245 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-19 r/8533 chore(tazjin/german-string): add Nix buildVincent Ambo1-0/+5
Change-Id: I1e8c500c9bb4ba365ba32f53f60bcf657f62ed62 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12243 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-19 r/8532 feat(tazjin/german-string): add [Partial]Ord implementationVincent Ambo1-0/+62
Change-Id: I8002ec63be45a15160387c21ed1fa8721a7c3eb4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12242 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
2024-08-19 r/8531 test(tazjin/german-string): add roundtrip proptestsVincent Ambo1-1/+21
Change-Id: Iee392368252d5c6e96d879b213aee34a301d13d6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12241 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-19 r/8530 feat(tazjin/german-string): add Eq impl & corresponding proptestsVincent Ambo3-1/+428
Change-Id: I66a258fad5d4e249268b9d2743d46b30c5ac1dac Reviewed-on: https://cl.tvl.fyi/c/depot/+/12240 Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su>
2024-08-19 r/8529 feat(tazjin/german-string): add Debug implementationVincent Ambo1-0/+7
Change-Id: I9a4a8a4815ac210c402cfc2feb1fe0606affb327 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12239 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-19 r/8528 feat(tazjin/german-string): PartialEq implementation for GermanStringVincent Ambo1-0/+16
This is where one of the advantages of this string representation starts to shine: For small strings there's no derefencing any heap memory at all, and for the long representation we can compare the prefix before moving on. Change-Id: Iac333a52e8d7c9dd09e33dbcf51754e321c880e6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12238 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-19 r/8525 fix(tazjin/german-string): add maximum length checkVincent Ambo1-0/+4
Change-Id: I4fd9b2a31749d65632b662807c4e703a9df9ec9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/12237 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-19 r/8524 feat(tazjin/german-string): add data accessors for &str and &[u8]Vincent Ambo1-1/+67
Change-Id: I992e625861f79ef6d9993e8caee4e02d3fc5557e Reviewed-on: https://cl.tvl.fyi/c/depot/+/12236 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-19 r/8523 feat(tazjin/german-string): add Drop impl for transient stringsVincent Ambo1-0/+17
All of these strings are currently transient (the storage class is not yet represented anywhere), and the ones that are heap allocated need to be deallocated when the transient string dies. Change-Id: Iba0ca926df5db7594f304c5d5318db9d69c6f42c Reviewed-on: https://cl.tvl.fyi/c/depot/+/12235 Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-19 r/8522 feat(tazjin/german-string): init initial representationVincent Ambo4-0/+82
This adds an initial implementation of the so-called "German Strings" in Rust. https://cedardb.com/blog/german_strings/ This implementation is *far from* complete, the only thing that can be done right now is construct a string, and even that I'm not fully happy with. Change-Id: I2697932a0ef373be76ffd14d59677493a5783b58 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12234 Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2024-08-15 r/8490 fix(aspen/system): Remove duplicate emailAspen Smith1-1/+1
Change-Id: I7b30ca4940bcc65488b2fbb190b3f51dc4d76c15 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12204 Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi>
2024-08-14 r/8488 chore(3p/sources): Bump channels & overlayssterni1-2/+2
* //users/sterni/machines/ingeborg: adjust to yet another API change in the fcgiwrap module Change-Id: Ic601bb7161887dec5cfbe68205be816cf9b92d17 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12202 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de> Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org>
2024-08-10 r/8473 chore(tazjin/khamovnik): enable ADBVincent Ambo1-0/+2
Change-Id: I1c754fdc54465f93dfb10e9d903a66a90447ab85 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12070 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-10 r/8472 chore(tazjin/emacs): add tree-sitter grammar for typescriptVincent Ambo1-0/+1
Had to fix some stuff in a typescript project, it's better with highlighting. Change-Id: I984540a791167427acde3494182521b8839aed6d Reviewed-on: https://cl.tvl.fyi/c/depot/+/12069 Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2024-08-08 r/8460 chore(aspen/web): some tweaksAspen Smith2-2/+2
Change-Id: I268728af52785efb5e6b3df7d4bfe0e0d54c13a1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12169 Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi>
2024-08-08 r/8459 feat(aspen/web): Link to some more music i released this yearAspen Smith1-0/+7
Change-Id: Ib55b5b02d85257e2d9c30697df7dbb303a6b3c27 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12168 Tested-by: BuildkiteCI Autosubmit: aspen <root@gws.fyi> Reviewed-by: aspen <root@gws.fyi>
2024-08-08 r/8458 feat(aspen/web): freshen up, mention tvix in projects listAspen Smith1-5/+12
Change-Id: I34d1c3efd32882271ca553f180deb6249014fb32 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12165 Autosubmit: aspen <root@gws.fyi> Reviewed-by: aspen <root@gws.fyi> Tested-by: BuildkiteCI
2024-08-08 r/8456 fix(aspen/system): Drop a broken remote builderAspen Smith1-9/+0
bye bye mugwump Change-Id: Ie30771caaf23dd10872c33ad60f904f089fa6b6c Reviewed-on: https://cl.tvl.fyi/c/depot/+/12150 Autosubmit: aspen <root@gws.fyi> Reviewed-by: aspen <root@gws.fyi> Tested-by: BuildkiteCI
2024-08-06 r/8449 fix(users/Profpatsch/whatcd-resolver): reduce json data from dbProfpatsch4-20/+104
We’d transfer the full json data for each torrent from the db instead of just the 2 or 3 fields we need. Adds some more helpers for parsing database values. Adds some better logging events & traces. Change-Id: I5db386c4ea247febf5f9fc3815da2e7f11286d41 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12140 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-08-06 r/8448 fix(users/Profpatsch/whatcd-resolver): fix postgres query logProfpatsch3-104/+109
The queries would not be interpolated anymore, because we didn’t pass the thing down deep enough. Also only init the `pgFormatPool` if we want to use the formatter, this saves on a bunch of subprocesses. Change-Id: I8d69ef5aab4d8eac1cbfb1c3991d4edaacba254f Reviewed-on: https://cl.tvl.fyi/c/depot/+/12139 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2024-08-06 r/8447 fix(users/Profpatsch/whatcd-resolver): SQL formatting offProfpatsch4-53/+78
It turns out the pg_format thing is just too slow for my use-cases most of the time, even when pooling the mf. Most queries stay 90%+ in the perl script, even though they are very fast to execute on their own, screwing up the traces a lot. So instead I replace the `postgres-simple` quasi-quoter that strips whitespace (and tends to screw up queries anyway) with a simple one that just removes the outer indentation up to the first line. Why did I spend so much time on pg_format haha Change-Id: I911cd869deec68aa5cf430ff4d111b0662ec6d28 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12138 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-08-06 r/8446 chore(users/Profpatsch): park ical-smolifyProfpatsch4-0/+0
Parked projects: I might pick these up again, but don’t want to maintain them right now. Might delete later, or reinstate. Change-Id: Ieb4f51dfaeba33c84820ca804b57c016e05bf566 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12137 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-08-06 r/8445 refactor(users/Profpatsch/whatcd-resolver): continue httpProfpatsch3-6/+7
Ideally there’d be a better generic abstraction of doing basic http calls (with tracing) in the future, but for now just reexport. Change-Id: Id7548739ea62e9172f2773f8db79fe726096b7f1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12136 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-08-06 r/8444 refactor(users/Profpatsch/whatcd-resolver): start moving http stuffProfpatsch3-62/+70
There’s a bunch of duplication in how http client things are done, let’s move that all to a single module. Change-Id: Ic08c9bce49d562e4fa640a5bdfc15973a28a7bcb Reviewed-on: https://cl.tvl.fyi/c/depot/+/12135 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI
2024-08-04 r/8440 feat(aspen/system): Switch to podmanAspen Smith2-2/+15
Change-Id: Ifc5e724f455627d34b784509c62900fd112cb492 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12134 Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi>
2024-08-03 r/8439 feat(aspen/system): Tweak trackpad settings on laptopsAspen Smith1-0/+7
Change-Id: Ie04c97b9b043bdfd8d2d20138d5bc795f340e8b7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12126 Tested-by: BuildkiteCI Reviewed-by: aspen <root@gws.fyi> Autosubmit: aspen <root@gws.fyi>
2024-08-03 r/8438 chore(aspen/system): Update NixOS config for renamed optionsAspen Smith4-8/+7
Change-Id: If25502452070492a698326e9f101f9ae421e2426 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12125 Reviewed-by: aspen <root@gws.fyi> Autosubmit: aspen <root@gws.fyi> Tested-by: BuildkiteCI
2024-08-01 r/8435 chore(3p/sources): Bump channels & overlays (2024-07-28)Aspen Smith32-22369/+173
* Treewide: re-run depotfmt * //third_party/nixpkgs:html5validator: build with Python 3.11, dependency openstackdocstheme doesn't support 3.12 * //users/sterni/machines/ingeborg: adapt to poorly handled fcgiwrap module API change: https://github.com/NixOS/nixpkgs/pull/318599 * //tvix/*-go: regenerate protobuf files * //third_party/nixpkgs:treefmt: Remove patch for merged pull request * //users/flokli/ipu6-softisp: rebase, drop upstreamed kernel patches Change-Id: Ie4e0df007c287e8cd6207683a9a25838aa5bd39a Reviewed-on: https://cl.tvl.fyi/c/depot/+/11971 Autosubmit: sterni <sternenseemann@systemli.org> Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: flokli <flokli@flokli.de> Reviewed-by: aspen <root@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: Ilan Joselevich <personal@ilanjoselevich.com>
2024-07-30 r/8428 fix(users/Profpatsch/whatcd-resolver): make getTorrent no jsProfpatsch1-5/+32
Start of an effort to make the app work without javascript enabled (graceful degradation yay). We use a trick where buttons are nested into a form element, passing their value as input; this should be better than depending on `hx-vals`. If htmx is disabled, just redirect and reload the full page instead of sending back the snippet. Probably depends on the use-case of each snippet though. Change-Id: I6c73e624c4bd29b1cbd5492b2f84f48102edc68b Reviewed-on: https://cl.tvl.fyi/c/depot/+/12056 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-07-30 r/8427 feat(users/Profpatsch/whatcd-resolver): read redacted key from envProfpatsch3-17/+44
Change-Id: I5667710423aeeacfbb8dddf5b0b8750dc8f878aa Reviewed-on: https://cl.tvl.fyi/c/depot/+/12055 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
2024-07-30 r/8426 fix(users/Profpatsch/whatcd-resolver): better show ApplicationErrorProfpatsch1-2/+4
Change-Id: I7a1087afc4000299529a7518f273bfee8d651c72 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12054 Reviewed-by: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI