about summary refs log tree commit diff
path: root/web (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-05-28 r/4184 feat(web/panettone): Redirect to created issue after creation.Griffin Smith1-1/+2
Fixes: b/54 Change-Id: I5ae6c8aa2a4448554a8ba4cb41185ada1ecf8cb0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5784 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-05-28 r/4183 fix(panettone): Correctly extract user emailVincent Ambo1-1/+1
Change-Id: I30c83f93006eed63c20440faf7118c8d22c1a239 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5783 Reviewed-by: grfn <grfn@gws.fyi> Autosubmit: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-05-28 r/4182 fix(web/panettone): Don't add extra padding when already paddedGriffin Smith5-8/+20
Because of math being upsetting, we were adding 4 padding characters to an already-properly-padded base64 string, which broke tazjin. This also breaks this function out into panettone.util, and adds a test for it. Change-Id: I7bc8a440ad9d0917272dd9f2e341081ea14693da Reviewed-on: https://cl.tvl.fyi/c/depot/+/5782 Autosubmit: grfn <grfn@gws.fyi> Reviewed-by: tazjin <tazjin@tvl.su> Tested-by: BuildkiteCI
2022-05-28 r/4181 fix(web/panettone): Properly handle un-padded base64 in jwtsGriffin Smith1-1/+13
The JWT spec apparently specifies that base64 strings in jwts aren't to be padded - but the common lisp base64 library doesn't know how to decode unpadded base64 (it signals a condition in that case). This adds the extra padding characters (a number of `=` characters such that the length of the string is a multiple of 4) using some FORMAT wizardry (?). Change-Id: Ic6b66f05db2699bf1f93f870f5dd614c37eccc2d Reviewed-on: https://cl.tvl.fyi/c/depot/+/5781 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: grfn <grfn@gws.fyi>
2022-05-28 r/4180 feat(web/panettone): Implement OAuth2-based authenticationVincent Ambo4-165/+119
Instead of directly connecting to LDAP and attempting to bind usernames/password, authenticate users through an OAuth2 flow to Keycloak. This has the advantage of reusing the same SSO we already have for Gerrit, Buildkite, ... However, much of panettone's functionality makes assumptions about LDAP being used. As a result there are some warts introduced by this (for now): * Since LDAP DNs are used as primary keys for users, we have to construct fake DNs based on LDAP usernames It might be sensible to migrate this to the UUIDs used by Keycloak eventually. * LDAP is part of the serving path for issues (for fetching user information), however panettone no longer has a way to fetch arbitrary user information unless it is persisted in its database. To work around this, we construct a "fake" user based only on its DN (i.e. only the username is going to be "correct") and use that to serve issues. * Email notifications no longer work (panettone can not access email addresses) Some of these need to be worked around by persisting some of that information in the panettone database instead, as we don't want to give the service the ability to access arbitrary user information anymore. We can probably do this with the user settings feature that already exists and populate it on launch, but as of this commit email and displayName functionality is simply broken. Change-Id: Id32bf5e09d67f0f1e883024c6e013eb342f03b05 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5772 Reviewed-by: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI
2022-05-28 r/4178 fix(web/panettone): Only send emails if the email is knownVincent Ambo2-3/+4
Upcoming changes to the authentication model may mean that user objects do not have an email address attached. Change-Id: I4fddb810f723c790d243f779714ca7f189a02aeb Reviewed-on: https://cl.tvl.fyi/c/depot/+/5770 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-04-17 r/3970 chore(web/converse): Bump dependenciesVincent Ambo1-486/+442
Change-Id: Id2786ae93d9bc45ce98834fb4c444510b1beb22f Reviewed-on: https://cl.tvl.fyi/c/depot/+/5474 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-04-17 r/3969 chore(atward): Bump dependenciesVincent Ambo1-53/+82
Change-Id: I949d71648e82aaed2f1f571c4c537f0a1c075225 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5473 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-04-14 r/3947 fix(web/panettone): Fix shell.nix for new third_party formatGriffin Smith1-1/+1
Change-Id: I16dfe9295866afdd62802b6c35be66646f3f26c8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5446 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-04-14 r/3946 fix(web/panettone): Dont double up on bordersGriffin Smith1-7/+8
Don't render the <ol class="issue-history"> when we have nothing to put in it, which is the case when there's no issue history and the user is not logged in. This avoids an awkward-looking double bottom border on issues with no comments for unauthenticated users. Change-Id: I1c6aac40e4ba93e9428a0da589c67582b1589c17 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5445 Autosubmit: grfn <grfn@gws.fyi> Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su>
2022-04-11 r/3943 refactor(atward): Split tests into separate fileVincent Ambo2-191/+190
Change-Id: I447bc95b60a7dca912ca75e118c075e52f8c8ebe Reviewed-on: https://cl.tvl.fyi/c/depot/+/5402 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-02-16 r/3836 refactor(ops/modules): Move cgit configuration into a moduleVincent Ambo2-85/+0
The ancient `//web/cgit-taz` path stems from the time I had code.tazj.in serving my initial version of the depot. I've been meaning to clean this up for forever, so here we go. Note that this leaves the git-serving module in a strange state where it only deals with josh. I'll rename it accordingly. Change-Id: I47ed1e9d90958299b5440a18a1b9075274754e33 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5294 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org>
2022-02-13 r/3814 refactor(web/panettone): Use postmodern connection poolsVincent Ambo3-60/+61
Instead of managing Postgres connections on our own, use the `with-connection` postmodern function with pooling enabled as a route decorator. This should resolve at least some of the issues from b/113 with leaking connections, and an unreported issue with connections being reused while transactions are in progress. Change-Id: I1ed68667a3240900de1ae69df37d2d3018caf204 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5198 Tested-by: BuildkiteCI Reviewed-by: eta <tvl@eta.st> Autosubmit: tazjin <tazjin@tvl.su>
2022-02-08 r/3791 style(rust): Format all Rust code with rustfmtVincent Ambo9-181/+251
Change-Id: Iab7e00cc26a4f9727d3ab98691ef379921a33052 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5240 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: tazjin <tazjin@tvl.su>
2022-02-07 r/3777 fix(web/panettone): unbind LDAP connections after authVincent Ambo1-10/+10
unbind & close the stream of newly created LDAP connections after auth, which might prevent some of the resource leaking we've got going on i did actually verify in sly that this still works. yay. Change-Id: I92c8ca20de642585ae4c24aa455d051ee6e44a87 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5193 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-02-04 r/3768 chore: clean up some obsolete TODOssterni1-3/+0
* //3p/nix: probably not worth investing time into this anymore * //users/sterni/emacs: The emoji problem disappeared by itself with a newer emacs version, however a different one remains… * //web/panettone: If we ever want to change the behavior, we should just decide the behavior statically instead of using conditions and restarts, as we only call it in one place, so making different decisions depending on call sites is not really a use case we have. Change-Id: Iff9d439ce356db41ce34d690fb7b6a01822022fa Reviewed-on: https://cl.tvl.fyi/c/depot/+/5223 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: sterni <sternenseemann@systemli.org>
2022-02-03 r/3760 refactor: expose cheddar-about script from cheddarsterni1-4/+1
Any other cgit configuration in depot would need this script wrapper as well. Change-Id: Ifa04e1c9de9c925eb3f60c5d3854221ae02ef06c Reviewed-on: https://cl.tvl.fyi/c/depot/+/5206 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: sterni <sternenseemann@systemli.org>
2022-01-31 r/3723 style: format entire depot with nixpkgs-fmtVincent Ambo17-144/+209
This CL can be used to compare the style of nixpkgs-fmt against other formatters (nixpkgs, alejandra). Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: cynthia <cynthia@tvl.fyi> Reviewed-by: edef <edef@edef.eu> Reviewed-by: eta <tvl@eta.st> Reviewed-by: grfn <grfn@gws.fyi>
2022-01-13 r/3591 fix(web/panettone): make (who:html-mode) sticksterni2-3/+4
(who:html-mode) needs to be set at macro expansion time to properly take effect which wasn't the case before, but is ensured now by :compile-toplevel. :load-toplevel ensures that who inside the repl will behave the same. Since the :html5 behavior is now actually used, we need to adjust some of the test cases to account for the different :html5 escaping mode. Change-Id: I4dfe1d2db38da6a2486fde86596f7e5f50ed8b9f Reviewed-on: https://cl.tvl.fyi/c/depot/+/4885 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2022-01-12 r/3586 docs(web/tvl): Document that channel is now reachable via MatrixVincent Ambo1-1/+4
We have a new channel visitor who joined via Matrix and pointed this out. Apparently hackint reestablished the Matrix bridge. Change-Id: I25ec7fdc5c1b68a9b0bc92b6c19ffe12ecb93c5f Reviewed-on: https://cl.tvl.fyi/c/depot/+/4864 Tested-by: BuildkiteCI Autosubmit: tazjin <tazjin@tvl.su> Reviewed-by: sterni <sternenseemann@systemli.org>
2022-01-01 r/3507 chore(web/atward): Bump all dependenciesVincent Ambo2-477/+115
Change-Id: I4a79204e50cf519dce729e5c86bc397b82715008 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4758 Tested-by: BuildkiteCI Autosubmit: tazjin <mail@tazj.in> Reviewed-by: sterni <sternenseemann@systemli.org>
2021-12-27 r/3448 refactor(web/todolist): omit unnecessary intermediate drvzseri1-9/+13
also import yants functions explicitly Change-Id: Idd16d130a95efc30216cb54051c7193a42978003 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4689 Tested-by: BuildkiteCI Reviewed-by: zseri <zseri.devel@ytrizja.de> Reviewed-by: lukegb <lukegb@tvl.fyi> Autosubmit: zseri <zseri.devel@ytrizja.de>
2021-12-22 r/3334 fix(web/static): Publish logo in all coloursVincent Ambo1-0/+5
Easier to link to for the sock people. Change-Id: I5ea5c20ca98e3a4eb7eac41fdcf2e81b026786db Reviewed-on: https://cl.tvl.fyi/c/depot/+/4522 Reviewed-by: tazjin <mail@tazj.in> Autosubmit: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-12-16 r/3269 fix(panettone): Fix export of issue status to SQLGriffin Smith1-1/+6
Postmodern changed[0] how users customize the way lisp values get exported to SQL - now, in addition to defining methods of `cl-postgres:to-sql-string`, we have to pass `:col-export` and `:col-import` args to the field itself in the dao class. I'm not *entirely* sure why both are necessary, but without both this doesn't work. [0]: https://github.com/marijnh/Postmodern/blob/v1.33.1/CHANGELOG.md#changelog-v-1331 Change-Id: Iae8fb63c34fb6c79b9dfa350129032aab5cd2233 Reviewed-on: https://cl.tvl.fyi/c/depot/+/4383 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: grfn <grfn@gws.fyi>
2021-12-01 r/3130 feat(web/tvl/blog): Add a small footnote about Moscow in the postVincent Ambo1-0/+4
... the idea being that this might lead to some people from the Moscow Nix community to reach out, which would be beneficial for me in terms of having some IRL people to bounce ideas around with. Change-Id: Ib41f54609e9ec9d7fdafbf7024fb5df7034afd87
2021-12-01 r/3127 fix(web/tvl/blog): Fix Tvix post publication dateVincent Ambo1-1/+1
Change-Id: I6f69507c75436e882f2248430eb894b1310bfca8
2021-12-01 r/3126 feat(web/tvl/blog): Publish introductory Tvix blog postVincent Ambo2-3/+2
Change-Id: I16c565ac1194cec44382b77f1c65c5ff569fdcca
2021-12-01 r/3124 feat(web/tvl): List blog posts on homepageVincent Ambo1-1/+14
Change-Id: Ic0ee18466fbaca1a374e7489be640f49571eb9c5
2021-12-01 r/3123 fix(web/tvl/blog): Include only published posts in listings & feedVincent Ambo2-1/+7
Change-Id: I76c9c2c5cc82c7d0f59f907b6f1abee92a92cbf7
2021-12-01 r/3122 refactor(web/tvl/blog): Update Tvix intro blog postVincent Ambo2-17/+24
This incorporates feedback from sterni from cl/4052 and chipb on IRC. Change-Id: I0547d130dcd578746d5183c563be4b1d042cb5f8
2021-11-30 r/3120 fix(web/tvl/blog): Fix link to embedded imageVincent Ambo1-2/+2
Change-Id: I8bec643267785c6d3523380a2a17ab5e9213b51c
2021-11-30 r/3119 feat(web/tvl/blog): Write Tvix introduction blog postVincent Ambo4-4/+82
This post is intended to just let people know about the existence of Tvix, tell them a bit about the background and how to follow along. Change-Id: Ib5194d3aa385a0e30b4768ba28cb063784f6e0a3
2021-11-30 r/3117 chore(web): Correct URLs for assets & feeds on TVL blogVincent Ambo2-2/+5
Change-Id: I8720d49f8f3f4010f57a53e763a4f246bf4eb3d8
2021-11-23 r/3088 refactor(readTree): Move 'drvTargets' into readTreeVincent Ambo1-1/+1
This function is also generally useful for readTree consumers that have the concept of subtargets. Change-Id: Ic7fc03380dec6953fb288763a28e50ab3624d233
2021-11-13 r/3055 feat(web/tvl/template): add title to derivation namesterni1-2/+2
This should help when debugging template generated derivations. Change-Id: I9958a7e67c8442c5ad97da2a9d3622a0556b6a1a Reviewed-on: https://cl.tvl.fyi/c/depot/+/3861 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-11-13 r/3054 fix(web/static): avoid drvHash unnecessarily inflating closuressterni1-1/+6
The string context of drvPath apparently causes a derivation to _directly_ reference the whole dependency closure of the derivation drvPath belongs to. This not only is unnecessary in this case (since we are using drvHash to construct HTTP URLs which are primarily contigent on the deployed configuration and not the shape of the nix store), but also creates a very confusing derivation (e. g. web.tvl's index.html would *directly* reference pandoc). Change-Id: I6e9900e9e35fbd639061e53322e4ccb3fbb7e7ec Reviewed-on: https://cl.tvl.fyi/c/depot/+/3862 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-11-12 r/3038 fix(tvl/logo): Fix rendering of PNG filesVincent Ambo1-1/+1
The previous format for entering the shape of the 'V' (as exported by Inkscape) is incompatible with the PDF rendering process, somehow. This reverts the letter back to the old path definition format with the offending point manually removed. Change-Id: I6ff3310afb5a757d657f2f0d8a761f355a8e50c9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3843 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-11-12 r/3037 fix(tvl/logo): Fix shape of 'V'Vincent Ambo1-1/+1
There was an additional point in this letter's path, which led to a small fragment of the "buttcrack" remaining. Change-Id: I4aa25190c2f2d5fbae55d85c499939ec72a25add Reviewed-on: https://cl.tvl.fyi/c/depot/+/3842 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-11-08 r/3025 fix(web/blog): make base URL configurable for atom feedsVincent Ambo4-13/+14
This was previously hardcoded to tazj.in, which is not going to work of course. Instead it now takes the blog config which has a new baseUrl parameter. For ease of use, the configs of my and the TVL blog have been moved into a location that is accessible in the tree for reuse. Change-Id: I94e71aaa7859db4380eb7013740a17f6b6a02620 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3777 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-11-07 r/3013 docs(atward): Document availability of new query typesVincent Ambo1-0/+5
Change-Id: Ie96eae39722c0bd22f3801cc9e24c28148f0a0cd Reviewed-on: https://cl.tvl.fyi/c/depot/+/3779 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-05 r/3006 feat(web/tvl): Render blog posts and atom feed for TVLVincent Ambo1-2/+33
Includes the blog posts and feed in the $out directory, but without linking them from the TVL homepage yet. Change-Id: If9c094b29e43e9a81b0cc3d731261dc4b10557c1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3776 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-11-05 r/3004 feat(web/tvl/blog): Add scaffolding for first blog postVincent Ambo2-0/+14
No content yet, but I need this in place to chop up the other changes nicely. Change-Id: I4302e14ab513d6d4dd23e9e8ab5493223b9a80b4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3774 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-11-05 r/3003 refactor(web/tvl/template): Move footer into a separate targetVincent Ambo2-15/+22
This makes it possible for the footer to be reused in other places, e.g. when templating blog posts (which do not go through //web/tvl/template (yet)). Change-Id: Ia8ab0e1c6db4f76b4de49239e11a4474038f60ae Reviewed-on: https://cl.tvl.fyi/c/depot/+/3773 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-05 r/3002 feat(atward): Support depot revision queries (r/...)Vincent Ambo1-4/+26
Redirects these to the cgit commit view. Only supports cgit because we don't have a good way to coax Sourcegraph into fetching these refs. Change-Id: I8c28ed015ba37c04eb4b7a667bde70ff6a92bf4c Reviewed-on: https://cl.tvl.fyi/c/depot/+/3772 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-05 r/3001 fix(web/blog): Correctly wrap footer contentVincent Ambo1-2/+2
Name clash went undetected because I called this variable the same thing, oops. Change-Id: Iafa508f26887302b1c256088c50c68cd0ed7eea2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3771 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-04 r/3000 refactor(web/blog): Move atom feed creation logic to //web/blogVincent Ambo2-7/+35
This was previously all inside of my personal homepage configuration, but that's not really where it belongs. This moves the blog post -> feed entry logic to //web/blog and moves some other minor logic (like entry order) into the atom feed implementation itself. Change-Id: Idde0241c48e979580de73f2b9afd04e6ca7f4c9a Reviewed-on: https://cl.tvl.fyi/c/depot/+/3770 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-11-03 r/2998 refactor(web/blog): Configurable blog name and footerVincent Ambo2-24/+14
Required for actually using this generically for the TVL blog. Change-Id: I92d8d10341f9ab4f92c90f7976be261b3255a0f0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3768 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-10-22 r/2988 chore(web/blog): Move out of //users/tazjinVincent Ambo2-0/+142
This will also be used for the TVL blog, with status updates of projects like Tvix. Note that while this commit evaluates, there are still some things specific to my blog in this code which I'll untangle in a future commit. Change-Id: If59431161b165d7249cbb856073a4cae84a1bfbf Reviewed-on: https://cl.tvl.fyi/c/depot/+/3732 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi>
2021-10-20 r/2984 feat(web/panettone): support dark modeSmitty1-45/+41
When the system is set to dark mode, this is detected through prefers-color-scheme and the color scheme is adjusted accordingly. This fixes #18. The colors are set using CSS variables on the body that are overrridden based on the current color scheme. Change-Id: Id2f95dee4d6968e1b62ce37534f623e489fabde4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3722 Tested-by: BuildkiteCI Reviewed-by: grfn <grfn@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org>
2021-10-16 r/2973 chore(web/atom-feed): Move feed generator out of //users/tazjinVincent Ambo1-0/+145
I intend to use this for updates on TVL projects, which will end up on the homepage, which is outside of //users. Change-Id: I03542d1bcef3d9fc4599294655caab5ed22ba5d9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3728 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>