about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2020-09-18 r/1801 feat(notable): Add a mode for displaying single notesVincent Ambo1-1/+48
This mode displays the note's timestamp in its header line, and the content in its body. Some rudimentary key bindings are set up in the list view to view notes in full (RET), and in both modes to quit the current buffer (q). Change-Id: Icb35baec220a9efcfa2b86617b16178669df996f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1985 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-18 r/1800 fix(gs/emacs): Use html_url when linking to PRsGriffin Smith1-1/+1
'url is the API url of the PR, we want html_url to link to the web UI Change-Id: I058592cde8c01e0feb5f7d51b577f1c41137a717 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1989 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-18 r/1799 fix(gs/emacs): Fix undefined variable in magit-clubhouse integrationGriffin Smith1-1/+1
Change-Id: Ic56e6f3b1e8fca717c8765eb47739cecf3e5cc56 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1984 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-17 r/1798 feat(notable): Add note listing functionalityVincent Ambo2-2/+61
Adds a very simple initial display of all notes in chronologically descending order. Currently this is a read-only view with no available actions. Change-Id: I6d47363909f1a9ab8d1d18a1c44966883aa758ad Reviewed-on: https://cl.tvl.fyi/c/depot/+/1983 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-17 r/1797 feat(notable): Add a function for listing existing notesVincent Ambo1-5/+16
Change-Id: I23697b4798ee4d4e94d3f7c1a4e4e9abf5115345 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1982 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-17 r/1796 feat(emacs-pkgs/notable): Begin implementation by adding note-takingVincent Ambo3-0/+124
I'm writing a note taking system because I don't like any of the existing ones. This adds a note-taking function which prompts the user for note content and persists it in a user-configurable directory. Next steps are roughly: * listing notes * editing notes * archiving notes At which point I would consider this functional. The idea is to keep adding incremental improvements that fit my workflows after that, and if it ends up being useful for anyone else - great. Change-Id: I7ae0eb4015511ebdbaeff92d8d32502726eb57c4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1981 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-16 r/1795 fix(tvix): Convert INVALID_ARGUMENT to InvalidPathGriffin Smith1-2/+6
The code that calls queryPathInfoUncached explicitly catches the InvalidPath exception and translates it into a null result - but the RPC code was throwing a regular old Error for invalid paths. At some point we should get rid of all the exception-driven control flow in this whole thing, but in the meantime this gets us back to functional. Change-Id: I2a38790ee0c691ab0c8394c7738d7693fa42aa10 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1980 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-15 r/1794 refactor(3p/tvix): make Value.primOp a std::shared_ptrKane York2-4/+3
Change-Id: I04cc42ae62d2ff71b07fde8e3710dcc9b4363a05 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1973 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-15 r/1793 fix(3p/tvix): properly zero the largest member of ValueKane York1-1/+4
The static_assert is present to force us to change the constructor when a member grows. Change-Id: Ifa4f4a03eb7ce13cff109cf26ecf0032045905e9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1972 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-15 r/1792 refactor(3p/tvix): convert NixList usage to shared_ptrKane York4-12/+12
Starting to reclaim memory. Fairly simple mechanical replacement. Change-Id: I6b4c5c5596729470d1a049eba61e69e8097decf4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1971 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-14 r/1791 refactor(tvix): Make static strings constexpr string_viewsGriffin Smith8-42/+46
Make all static std::strings constexpr std::string_views, and replace concatenation with absl::StrCat where necessary. Technically all of these are constant, so they really don't need to be top-level statics - and since I'm trying to get rid of as much global state as possible in preparation for making the nix daemon properly multithreaded I figured I'd knock these out while I was at it. Change-Id: Ibd3ad9ef68f0a0eacb135541b39fdb13dae042e1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1939 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-14 r/1790 fix(panettone): Make pre blocks overflow-x scrollGriffin Smith1-1/+3
This prevents wide code blocks from displaying over the container element. Fixes: b/53 Change-Id: I44cb5ff4eddf4c01bb706069a68618382b0dc7ba Reviewed-on: https://cl.tvl.fyi/c/depot/+/1934 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-14 r/1789 feat(gs/emacs): Link created PR to clocked in itemGriffin Smith1-0/+16
After creating a pull request link it to the currently clocked in org-mode headline if any. Change-Id: I75d7e70316494e355e11864496fdfc8b9e3009e1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1979 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-14 r/1788 feat(gs/emacs): Use selected text as initial capture contentGriffin Smith1-1/+1
Change-Id: Ie3be26fe043e096330ad456b83f789365703efd7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1978 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-14 r/1787 fix(gs/emacs): Always refresh gcal access tokenGriffin Smith1-0/+1
the oauth2 emacs lib *claims* it does this for us, but it demonstrably doesn't. Change-Id: I6495ac30799bb3d3fd7406cec5139602c311d22a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1977 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-14 r/1786 fix(tazjin/emacs): Gracefully handle irregular Quassel titlesVincent Ambo1-7/+8
Some Quassel dialogues (e.g. popups, or clients that aren't connected yet) don't match the expression and cause errors. This falls back to the raw title for the window if no match is found. Change-Id: I67b9cd7f6e2cb8e3e118d7fb7eeb615380be09d6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1976 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-12 r/1785 fix(tazjin/emacs): Include -/& in Quassel channel namesVincent Ambo1-1/+1
Change-Id: Id21de577043fe0fea90ae684a311ac7239714cf8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1974 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-12 r/1784 feat(gs): Bind a push-to-talk keyGriffin Smith3-1/+46
Bind a key, which I've located at the top-left of my right keyboard, to a momentary push-to-talk by muting and unmuting my pulseaudio source using xbindkeys. I had been putting this off for a while because i3 doesn't support binding different commands to keyup than to keydown events, but the xbindkeys support appears to have solved that reasonably well, plus it's got Scheme in it so that's cool. If there's demand for it I'll gladly expose this as a reusable, configurable home-manager module outside my users dir in the depot. Change-Id: Ie591c93037dbdac364d5d8a718d99edb70780789 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1975 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-10 r/1783 refactor(tvix): Convert refLength to constexprGriffin Smith1-9/+9
This is constant, so let's make it a constexpr. Change-Id: I6a9eb9f740979740f730ebe142d2cbf23dbcfd70 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1961 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-10 r/1782 fix(tvix): Make working flag thread_localGriffin Smith1-5/+4
Since the daemon is running in threads now rather than forking a process per connection (thanks to grpc) this static flag to prevent accidentally initializing a new worker during a build is getting stepped on by multiple threads. This converts it to thread-local, and also adds an actual message to the check so that if it hits in the future we know what's going on. Fixes: b/58 Change-Id: I07a2f1582e56709c104f79935e5405fa24888f59 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1940 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: V <v@anomalous.eu>
2020-09-09 r/1781 feat(gs/emacs): Add command to rename branch after Clubhouse ticketGriffin Smith1-6/+23
Similar to the b C command to create a *new* branch named after a clubhouse ticket, add a new b M command to *rename* a branch after the currently clocked-in clubhouse ticket. Change-Id: I750106f5d417517fd8114536d9dc0905380d616a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1970 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-09 r/1780 feat(gs/home): Add chupacabra home-manager to CI targetsGriffin Smith4-2/+6
Also move fcitx to system, since it's a nixos thing not a home-manager thing. Change-Id: I3e047494a478520e939d48fc72cc91a2d797bf74 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1969 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-09 r/1779 revert(gs/home): "Install clj-kondo and babashka"glittershark1-2/+0
This reverts commit 6489f080997f06b70302f4df7fb1afe0f35656ff. Reason for revert: build of graalvm fails :'( Change-Id: I0fcd173988ab900c837d0040117c3120e29469a1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1942 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-09 r/1778 feat(gs/keyboard): Add layout to ci targetsGriffin Smith1-0/+2
Change-Id: Ieab80a7bf962305631759b1c42a01c4bffdd84a0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1968 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-09 r/1777 feat(gs/home): Install clj-kondo and babashkaGriffin Smith1-0/+2
These depend on graalvm which is gonna be a big ol build Change-Id: I3b67e22677390921e408b9fea12191718b27cd7f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1967 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-09 r/1776 feat(gs/system): Install fcitx+cloudpinyinGriffin Smith2-0/+11
汉语时间! Change-Id: Ic52c2d393ee55c1d251416a66c15f4b6d6722bfa Reviewed-on: https://cl.tvl.fyi/c/depot/+/1966 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-09 r/1775 feat(gs/zshrc): Change cursor shape based on modeGriffin Smith1-6/+27
Use a block cursor in normal mode, and a beam cursor in insert mode. Change-Id: I1cf5eebeaadf41cd006b324de62eb7f6804e149a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1965 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-09 r/1774 feat(tazjin/emacs): Rename Quassel EXWM windowsVincent Ambo1-0/+14
This gives Quassel buffers sensible titles containing the name of the network the buffer is currently displaying. Ideally it would show me the name of the Quassel Core connection, but this isn't exported from Quassel into the X window title. The regex captures both the channel and the network, but only the network is currently used for display - I may revisit that at some point. Change-Id: Ife4c06919d9e9c0114ff298e1443b2b27ce2f146 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1964 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-08 r/1773 feat(gs/keyboard): Don't overlap backspace in FPS layerGriffin Smith1-3/+3
Change-Id: Ia69ef054b60a43fa64517b5853d1076f7e6bdddc Reviewed-on: https://cl.tvl.fyi/c/depot/+/1963 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-08 r/1772 feat(gs/home): Install multimcGriffin Smith1-1/+1
Change-Id: Ib0fcf1fd51749d3878e66b350ecb8e81daa47aab Reviewed-on: https://cl.tvl.fyi/c/depot/+/1962 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-06 r/1771 chore(tvix): dontStrip tvix buildGriffin Smith1-0/+3
This is mostly to help in tracing through the core dumps for b/58, but is also generally a good idea while we're still in hardcore debugging-mode. Fixes: b/63 Change-Id: Ib816a2a98bf3b8afa6e8b255a74ccb93af6508c5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1937 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-06 r/1770 feat(tvix): Implement EnsurePath RPC handlerGriffin Smith1-0/+13
Missed this one Fixes: b/62 Change-Id: I6f3bbcd3e2a7db5786283761b57466da33a497f7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1936 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-09-06 r/1769 feat(gs/home): Alias lwo = lorri watch --onceGriffin Smith1-0/+1
Change-Id: Ied475c3b704cf54e41767c47465dd94247c7b953 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1935 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-06 r/1768 revert(tvix): "Disable sandboxing by default until its time comes"Griffin Smith1-8/+15
This reverts commit a41c3dedb18201aa689206079e203f41c9bef389. Reason for revert: I believe its time has come. Change-Id: I4133dc8a3b57b40b280646d1622ed7a0409c5246 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1941 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-06 r/1767 feat(tvix): Write even more build logs to clientGriffin Smith1-89/+84
Write *all* build logs (essentially everything that wasn't a DLOG), not just the stdout of the builder, to the client-bound log_sink_ that's threaded through build.cc. These logs are significantly more useful on the client, both when debugging tvix itself and (more importantly) when building things with it. To make this all work, this commit also refactors the passing-around of the log sink in build.cc slightly - the main reference is now owned by the Worker class, which already stores pointers to itself on the Goals it creates, so those Goals can then load the log sink from the Worker. This change was originally made to allow for logging to the log_sink from instance methods of the worker, but actually feels significantly more natural than storing the sink on the goal anyway. Change-Id: I461685bc7f5c0a326054940ac5971b568dd43f8e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1925 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-06 r/1766 chore(tazjin/keys): Add S10e keyVincent Ambo1-1/+2
Change-Id: I3efdd49e23bdc357f15ea189b890e25843cc0255 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1933 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-06 r/1765 chore(whitby): Double the number of build agents againVincent Ambo1-1/+1
The main bottleneck of our builds right now is Nix evaluation, which means that most of the time is spent idling during builds. Since we're evaluating in parallel, lets give it a few more builders. I don't want to go all the way to 64 immediately to first see if we get any adverse effects from highly concurrent builds running concurrently (if we do we could group them into different "concurrency groups" in Buildkite). Change-Id: Ibc3f89fb59cb4ee471b152ff36887ffe2b39f8f8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1932 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-05 r/1764 fix(tazjin/emacs): Kill vterm buffers if their process exitsVincent Ambo1-1/+2
This has somehow stopped being a thing in newer vterm versions, causing the weird behaviour with my term switcher - buffers with the correct name were sticking around, but no longer in the right mode. Change-Id: Ie641eb3db91808d7d1016de1e8ef3ad271c8995e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1931 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-05 r/1763 fix(term-switcher.el): Explicitly fail if buffers are missingVincent Ambo1-4/+5
Since upgrading to Emacs 27 I have observed a strange behaviour where this terminal switcher sometimes fails to select a valid buffer, in which case it falls through to the case that just opens a new buffer instead. This is kind of annoying and to aid in debugging this change makes the creation of new buffers explicit and fails if no matching buffer is found. Note that this is likely not a fix for the issue itself, but it will help debug what is going on. Change-Id: I906869aba7d25156aaf92c090b169ce02785b85e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1930 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-03 r/1762 fix(u/riking/dotfiles): source rbenv config correctlyKane York1-1/+1
Change-Id: I1cf3dfc2d1edd2cb97ca432de5eb03c434b566e3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1929 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-09-03 r/1761 feat(u/riking/dotfiles): port non-functions of bashrc to fishKane York1-0/+8
Change-Id: I5fff28f67fe721b7662c5931e3b1b2226644598a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1928 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-03 r/1760 feat(u/riking/dotfiles): convert bashrc functions to fishKane York5-0/+63
Change-Id: I8a7d1806a8920d31c0b572a4259eef908339e449 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1927 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-01 r/1759 feat(gs/emacs): Generate org agenda commands from project tagsGriffin Smith1-2/+35
Auto-generate org agenda commands from project tags of the form `project__foo_bar`, prefixed with `p` and named based on the first letters of the words in the project. there is (obviously) some overlap here but that can be fixed by just adding extra underscores to things to disambiguate. Change-Id: If07b15a21d8bcb6df6245e8c6e4731041930ecc1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1926 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-09-01 r/1758 refactor(tvix): Remove default buildMode arguments from libstoreGriffin Smith1-4/+4
These were not used anyway, and *may* have been causing a weird series of problems leading to things sometimes aborting. Or maybe it has nothing to do with it - the only correlation we've found is from disassembling the output of a core dump. Regardless, this feels stylistically like a good idea. Change-Id: I288b50945e74ea90c118a21767fa4387c9f47f7d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1921 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-01 r/1757 feat(tvix): Print "Tvix" in the version stringGriffin Smith1-1/+1
Rather than printing "Nix" in the version string, print "Tvix". This is cosmetically nice, but also is very useful when making sure I actually have installed tvix on a system successfully. Change-Id: Idd1a9954bd66509327f52b7457cfba2f090ab30c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1924 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-09-01 r/1756 refactor(tvix): getEnv(): Return std::optionalEelco Dolstra17-66/+66
This allows distinguishing between an empty value and no value. Patch ported from upstream at https://github.com/NixOS/nix/commit/ba87b08f8529e4d9f8c58d8c625152058ceadb75 Change-Id: I061cc8e16b1a7a0341adfc3b0edca1c0c51d5c97 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1884 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-09-01 r/1755 feat(tvix): Support systemd socket activationGriffin Smith3-14/+85
When the nix daemon starts up, first check (using sd_listen_fds) whether we have been systemd socket-activated. If so, instead of passing the nix daemon socket path to grpc, start a manual accept(2) loop, passing the client file descriptors to grpc via AddInsecureChannelFromFd. There's an open grpc issue at https://github.com/grpc/grpc/issues/19133 for building support into grpc to do this automatically, but as of right now this appears to be the only way to make this happen. Making this happen, by the way, was a bit of a journey - at one point I attempted to ServerBuilder's experimental AddExternalConnectionAcceptor API, and that didn't work either - it appears that the final missing piece to getting this working was explicitly fcntl(2)ing the client file descriptors to set O_NONBLOCK before passing them into gRPC. With that set, this all works inside of the test vm. Fixes: b/56 Change-Id: I5d2ab2b5b02eb570249b30a9674e115c61b0ab0e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1882 Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-09-01 r/1754 feat(tvix): Expose depot in the test vmGriffin Smith1-0/+4
Expose depot to the test vm via NIX_PATH, so we can test the build of depot packages from inside the test vm. Change-Id: I26314634895ab1339f5715c0b0b261028eefdaa3 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1923 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-09-01 r/1753 feat(gs/system): Add nixbuild.net as remote builderGriffin Smith1-0/+5
Change-Id: I3b071cc91af5ee896e88c10d6594333ff4eddf77 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1922 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-31 r/1752 fix(ops/monorepo-gerrit): Escape escape characters with more escape charactersGriffin Smith1-1/+1
Escape! Change-Id: Idec7d17feda13ccf1ec03c41106ec6ed581d9e47 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1901 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>