about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2020-07-26 r/1482 chore(3p/lisp): Add eta & glittershark to OWNERSVincent Ambo1-0/+5
Change-Id: I372d84b2fa979059bda14264b23f9c11adaf4222 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1470 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-26 r/1481 chore(web/panettone): ignore .fasl filesGriffin Smith1-0/+1
Sly spits these out as a result of the various compile commands, but we don't want them committed. Change-Id: I6f45b6de6dc978667a0575d0ed361c573045ef92 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1464 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-07-26 r/1480 docs(REVIEWS): recommend remote.origin.push configKane York1-1/+14
Change-Id: I090841101b9ee0295aabb2097f953bf149f39a9d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1403 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-07-26 r/1479 fix(gerrit): fix hovercards under FirefoxLuke Granger-Brown8-6/+42
Firefox doesn't implement the IE6 fromElement/toElement, and it's not in the MouseEvent spec (at the moment). Replace with the worse-named but better-specified target and relatedTarget attributes instead. Upstream change: https://gerrit-review.googlesource.com/q/I9eeb26c032a38de9d7185749373c7982c796acb2 Change-Id: I9f9a1eb9342bc80b91b5b364a04cc5fa9a7ccaeb Reviewed-on: https://cl.tvl.fyi/c/depot/+/1442 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-26 r/1478 fix(3p/nix): fix broken clang-tidy configKane York1-5/+1
LineFilter doesn't actually exist in this version of clang-tidy. It was only working because the config was ignored. Change-Id: Ice5ddb5d1031dfc2cc4fee24674464f965323d8b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1431 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-25 r/1477 chore(3p/nix): build in RelWithDebInfo modeKane York1-1/+1
This eases debugging of live crashes. Change-Id: Ie15a7f8fb3f091cae0fbe012e58862d416a42891 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1433 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-25 r/1476 chore(whitby): add rxvt-unicode's terminfoLuke Granger-Brown1-0/+1
Otherwise I have to set TERM to something else so that I can actually use the machine when I'm booted into Linux and it's incredibly tedious and I hate it. Change-Id: Icfb5aacfea8cd6227743d29d9b07dc1b745d22c5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1435 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-25 r/1475 chore(monorepo-gerrit): enable attention set, disable assignee, disable ↵Luke Granger-Brown1-4/+3
polygerrit CDN Change-Id: I66c09afc0813e032a1b5a04cbdbe4b95db2e97d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1438 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-25 r/1474 chore(gerrit): update to 3.2.2-1002-gea26b5ee7aLuke Granger-Brown7-20/+22
This is the version currently (2020-07-25) deployed on https://gerrit-review.googlesource.com/, and includes features such as The Attention Set. Change-Id: Idf29f96c38d7737efb0d64c4cd294dab46fe5412 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1437 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-25 r/1473 feat(3p/nix): Start implementing RPC store clientGriffin Smith5-16/+450
Add a stub class for wrapping a gRPC client to the new, proto-backed nix store protocol, along with several methods implemented but several left throwing a not implemented exception. Paired-With: Vincent Ambo <mail@tazj.in> Paired-With: Perry Lorier <isomer@tvl.fyi> Change-Id: Id943d4f6d75084b8498786d580e6c9f7c92c104d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1436 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-25 r/1472 feat(3p/nix): Add main function for grpc daemonGriffin Smith10-14/+174
Implement the main function for the new, proto-based nix daemon. This mostly replicates the behavior of the previous nix daemon - it starts a grpc server listening on the same nix socket path and supports the same set of options - with the exception of --stdio, which has been renamed to --pipe and documented in the man page. Change-Id: Ib729283c1d5d35c0e1b0a968bc1f052f5527f2d7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1356 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-25 r/1471 feat(3p/nix): Template systemd unit files in buildGriffin Smith1-0/+13
Template the systemd unit file templates as part of the nix installPhase, putting them in the same place that the upstream nix derivation does. Change-Id: I3ceabfc0c837564e33b9ae7f9eeb7185d6fbe907 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1429 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi> Reviewed-by: tazjin <mail@tazj.in>
2020-07-25 r/1470 chore(tazjin/frog): Enable Docker for Nixery testingVincent Ambo1-1/+7
Change-Id: Ia0ffb781fc61f42aa4ad043a6f73fa995eb2c1b5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1434 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-25 r/1469 chore(3p/nix): disable clang-tidy in cmakeKane York1-2/+3
Change-Id: I9ff1ae10afe5af066aaff377424522a19977dc3d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1428 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-25 r/1468 chore(3p/nix): Remove obsolete upload-release.pl scriptGriffin Smith1-156/+0
This hardcodes eelco's home directory, among other things we no longer care about. Change-Id: Ide894107c091c37e30bba9daf473fc7dfc8b8563 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1427 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-25 r/1467 feat(web/panettone): Make responsiveGriffin Smith2-3/+5
Make the site responsive, by making all the hard :widths we were using into :max-widths, and adding a viewport meta tag. Change-Id: I02f054f81ff57fbd1c4603b179b2104367f03e3b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1415 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-25 r/1466 fix(3p/nix): Don't include depotPath in the main drvGriffin Smith2-9/+12
Including depotPath in the shellHook of the main derivation for tvix was, unsurprisingly, causing spurious rebuilds. It's still useful when developing locally, though, so I've extracted it to a `build-shell` derivation as a passthru attribute and updated the documentation. Fixes: #20 Change-Id: Ibc686b9f06ec68e79759ca2c989414bd5fbce696 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1426 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-25 r/1465 feat(3p/nix): Add build for VM for testing tvixGriffin Smith3-1/+23
Add an expression, based on the nixos qemu virtualisation framework, for a basic system whose nix is tvix, to be used for testing tvix Change-Id: I3c7422bb10d3ce05a3094671cb770f1f745d814c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1423 Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: Alyssa Ross <hi@alyssa.is> Tested-by: BuildkiteCI
2020-07-25 r/1464 feat(tools/cheddar): Add endpoint for Markdown renderingVincent Ambo1-26/+56
Similar to the source code highlighting endpoint, but for Markdown. This is to be used by the bug tracker, as well as Sourcegraph in the future. Change-Id: I4bea5c46ba969ba9965b61409e1c19c2edf1246c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1424 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-25 r/1463 chore(3p/nix): Reduce number of active clang-tidy checksVincent Ambo1-0/+1
The full clang-tidy check suite is *very* slow. This reduced list is some kind of middle-ground between running all checks, and having a useful developer experience. Crucially most of the static analyzer checks (except for the ones related to security issues) have been disabled. We should look into running the full suite in CI only. Change-Id: I02b96ad3b4d1a43bd6aa90ffdcba800dad966714 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1422 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-25 r/1462 refactor(3p/nix): Remove custom base64 implementationGriffin Smith7-78/+56
Replace the custom, rather questionable base64 implementation with absl::Base64{Une,E}scape. To make sure that the custom implementation was doing the same thing I've also added a test covering nix::Hash::to_string, which was one function that used it - the test passed prior to the replacement, and continued to pass afterwards. The previous base64Decode function threw an exception on failure - to avoid going too far down the rabbit hole I've replicated that functionality at all call sites, but this should be replaced with more sensible error handling such as StatusOr eventually. Also, before this change: ❯ nix eval -f . users.tazjin.emacs.outPath "/nix/store/g6ri2q8nra96ix20bcsc734r1yyaylb1-tazjins-emacs" And after: ❯ ./result/bin/nix eval -f . users.tazjin.emacs.outPath "/nix/store/g6ri2q8nra96ix20bcsc734r1yyaylb1-tazjins-emacs" Change-Id: Id292ffbb82fe808f3f1b34670afbe7b8c13ad615 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1385 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-24 r/1461 fix(web/panettone): Fix html5 complianceGriffin Smith1-10/+12
- who:html-mode needs to be html5 rather than HTML5 apparently, even though the documentation says otherwise - wrap content in an :html tag with the :lang "en" attribute Fixes: #22 Change-Id: I58ff8947d17ac02659e4c8d98155f57127ec7005 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1421 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2020-07-24 r/1460 chore(3p/nix): log whether or not clang-tidy is enabledKane York1-0/+1
CMake likes to remember that we overrode it with an empty string and not use the new env var. Change-Id: I16587f27750c9ebd4f65349bb59b37e0f8117f18 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1406 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-24 r/1459 fix(3p/nix): fix all UninitializedObject warningsKane York1-1/+1
The cpptoml occurrences are ignored in CL 1419. Updates: #11 Change-Id: Ifb21c93b09c67e6b6a4c9e7089abffe7616569fd Reviewed-on: https://cl.tvl.fyi/c/depot/+/1407 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-24 r/1458 chore(3p/nix): ignore all unfixable clang-tidy warningsKane York1-0/+4
Change-Id: I641c447fc57df4fed40ed4e89d79a88342b67bc8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1419 Reviewed-by: Alyssa Ross <hi@alyssa.is> Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-24 r/1457 fix(3p/nix): do not call vforkKane York4-21/+12
The use of vfork() in Nix is entirely illegal. Quote: If the process created by vfork() returns from the function in which vfork() was called, or calls any other function before successfully calling _exit() or one of the exec*() family of functions, the behavior is undefined. -- Linux man-pages, release 5.05 Add a TODO to use the higher-performance variants of clone() on Linux when it is available. Change-Id: I42370e1568ad6e2d00d70d0b66c8aded8f1288bb Reviewed-on: https://cl.tvl.fyi/c/depot/+/1418 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: Alyssa Ross <hi@alyssa.is>
2020-07-24 r/1456 fix(3p/nix): fix null pointer dereferencesKane York1-2/+2
Change-Id: I4c37febcd4978f17720b2526c267c6bf96e84bcc Reviewed-on: https://cl.tvl.fyi/c/depot/+/1417 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-24 r/1455 feat(web/panettone): Make issues visible publiclyGriffin Smith1-21/+31
Make auth optional on the index, closed-issues, and view-issue pages, and only render the various buttons (close issue, new issue, make comment, etc.) if the user is authenticated. Fixes: #5 Change-Id: I0a2aaf4a7cc4c5ef0494cc183410f00d2a3b7e06 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1414 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-24 r/1454 feat(web/panettone): Add a Log Out link to the footerGriffin Smith2-18/+53
Generalize the rendering of the footer nav, and add a Log Out button to the right. Change-Id: I107e2370fd8f12949218ecacb611649a48abd738 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1413 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-24 r/1453 feat(web/panettone): Add "All Issues" link on issue pageGriffin Smith2-1/+13
This was something that was complained about verbally - if someone gets a link to an issue directly it's nice to be able to click on a link to view all issues. Change-Id: Id4e0c7208edc51980c6577bb10e6c6dea1e7ab55 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1412 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-24 r/1452 feat(web/panettone): Redirect to original URI after loginGriffin Smith2-9/+17
Once the user authenticates, redirect them to the original URI they were trying to get to Fixes: #7 Change-Id: Id7c8cbe3547923f6c4c5faed180ea8ea6528fddd Reviewed-on: https://cl.tvl.fyi/c/depot/+/1411 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-24 r/1451 fix(3p/nix): fix more clang-tidy warningsKane York3-4/+7
Change-Id: I1e8a4852ffa450c552a4cdfc709554799854934c Reviewed-on: https://cl.tvl.fyi/c/depot/+/1416 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-24 r/1450 feat(web/panettone): Add issue subject to page titleGriffin Smith1-1/+4
Fixes: #8 Change-Id: I5513018e6d4908881a3522a24764729f2638b521 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1408 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-24 r/1449 feat(web/panettone): Disallow comments with an empty bodyGriffin Smith1-10/+14
Change-Id: Ic77a0caf419389e8460bf7e5688293f3a588caa4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1405 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-24 r/1448 feat(web/panettone): Disallow issues with an empty subjectGriffin Smith2-10/+25
Disallow creating issues with an empty subject, and render a nice(ish) alert box indicating the error. Change-Id: I2857923dc0eb7702c85cd1974a73270ca27720fc Reviewed-on: https://cl.tvl.fyi/c/depot/+/1404 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-07-24 r/1447 fix(3p/nix): Link nixutil to its dependenciesGriffin Smith2-5/+6
nixutil depends on bzip2, lzma, boost::context, brotli{enc,dec}, and openssl, but wasn't directly linking to them. This was causing linker errors in a test that only depended on nixutil. Change-Id: I60e77ea7b18b08e2946fcf9176ae0f355cd71844 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1384 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-23 r/1446 fix(web/panettone): Fix failure on invalid usernameGriffin Smith1-11/+11
Handle if the username submitted to the login form is one of a nonexistent user, rather than returning a 500 Fixes: #1 Change-Id: Iebc68dea3c91dc928e4386cb172d3c1515fb1556 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1402 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-07-23 r/1445 fix(web/panettone): Put snapshot in the right placeGriffin Smith1-1/+5
For some reason cl-prevalence tries to put the snapshot in the *parent directory* of the directory that's passed to make-prevalence-system. This is icky, but this should work around it Fixes: #2 Fixes: #3 Fixes: #4 Change-Id: I8300246275887653586108cd7b3b033df3bca203 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1401 Tested-by: BuildkiteCI Reviewed-by: isomer <isomer@tvl.fyi>
2020-07-23 r/1444 feat(web/panettone): Add issue statusesGriffin Smith2-49/+138
Add support for issue statuses, which is currently a trivial groupoid of open and closed. On the show page for open issues there's a Close button, and on the show page for closed issues there's a Reopen button. In addition, the index page is filtered by open issues only and there's a link to view closed issues. Change-Id: I6c0c3d2e874b1c801e9e06c804f5c1b12db5dbdc Reviewed-on: https://cl.tvl.fyi/c/depot/+/1352 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-23 r/1443 feat(web/panettone): Add support for commentsGriffin Smith2-7/+78
Add a new-comment form and list all issue comments on the issue page Change-Id: Ia74083484614ba0ca0f2879276f717f709d0f42f Reviewed-on: https://cl.tvl.fyi/c/depot/+/1351 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
2020-07-23 r/1442 feat(web/panettone): Add initial stylesGriffin Smith5-62/+236
Take an initial crack at styling most of the Panettone application, taking inspiration from the styles from todo.tvl.fyi and tvl.fyi itself. This uses the LASS CSS library, after a brief attempt at using css-lite which I ended up not going with because I don't like the library's design very much, and also it's not compatible with sbcl's (safety 3) (some macroexpansions SETQ undeclared variables). Change-Id: I054402e4c68ae1e99884d5164e6e2fc39d2779ff Reviewed-on: https://cl.tvl.fyi/c/depot/+/1350 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
2020-07-23 r/1441 feat(web/panettone): Display who opened issues and whenGriffin Smith2-8/+39
Add a line to the issue show page displaying who opened the issue and when, the latter formatted in dottime. Change-Id: Ie70d7fd9e62ae92f9a479969d4ea21daddccee40 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1345 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-23 r/1440 feat(tvl-slapd): add implrBartosz Stebel1-0/+5
Change-Id: I7d22bf61ac72e86a17035d6125055da8aa53d762 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1387 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-23 r/1439 feat(ops/nixos): Deploy Panettone to WhitbyGriffin Smith3-2/+64
Deploy Panettone to whitby as a systemd service, proxied to from an nginx virtual host listening at b.tvl.fyi Change-Id: I69755566151a45120e6b3453751af0e9291fa241 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1339 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1438 feat(web/panettone): Read config from envGriffin Smith3-12/+31
Read the port and data directory from environment variables, in preparation for deploying as a systemd unit to Whitby Change-Id: I066dced7b7926b6bdc77132d13a4da6c886b20e8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1338 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1437 fix(3p/nix): remove usage of strcpyKane York4-9/+10
Change-Id: I86125609f433469a8722c780fd758234211d677e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1381 Tested-by: BuildkiteCI Reviewed-by: Alyssa Ross <hi@alyssa.is> Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-23 r/1436 docs(3p/nix): Document fast build by disabling clang-tidyKane York1-0/+16
Change-Id: I5a3a4a4013c35a3a377ad0b6068a1a40bf6d77e6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1386 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-23 r/1435 feat(3p/nix): run clang-tidy during buildsKane York3-1/+19
We need to -isystem the libcxx header files in order for clang-tidy to ignore them, as the Nix clang toolchain isn't doing that automatically. Change-Id: I05b9e9bd522de4c0e2ad543214f6bf6ab66a306b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1359 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-23 r/1434 feat(3p/cgit): add "this commit" option to switch formAlyssa Ross1-0/+12
Branches are grouped into their own section to make the "this commit" option visually distinct. Adding this option will result in two options being marked as selected if a branch has the same name as a commit oid. But that would cause all sorts of other problems anyway (attempting to switch to the branch would actually give you the commit, etc.), so let's not worry about that. A "permalink" link on the blob view next to the "plain" link would probably be more discoverable, but that would only work for the blob view. The switch UI is visible everywhere. This patch is in use already at <https://git.qyliss.net/> and <https://spectrum-os.org/git/>. Signed-off-by: Alyssa Ross <hi@alyssa.is> Message-Id: <20200723204820.16776-1-hi@alyssa.is> Cc: Profpatsch <mail@profpatsch.de> Change-Id: I7e88d1231dd402e0ad764e16b28e9a51964c6293 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1382 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-23 r/1433 feat(web/panettone): The start of a very simple issue trackerGriffin Smith6-3/+329
Initial commit for Panettone, a very simple issue tracker for TVL. In its current state this launches a web server with authenticates with our ldap server, and supports listing and creating issues via static html pages and simple forms. We've been needing an issue tracker for a while now, but none of the options out there seem very good - or there are some good ones, but they're AGPL licensed and we don't want to deal with them. Rather than muck around with Trac or Bugzilla, we've decided to write our own. Change-Id: I704f0996d15199329bbd5450f3d959046bf13973 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1337 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>