about summary refs log tree commit diff
path: root/web
AgeCommit message (Collapse)AuthorFilesLines
2021-04-04 r/2431 feat(panettone): Add some more info to emailsGriffin Smith1-12/+22
Add a little bit more information to issue notification emails, including the IDs of issues and links to the issues themselves. Change-Id: Ia54209f936a37c6dbdb60ebff5bb8c1034cffc9a Reviewed-on: https://cl.tvl.fyi/c/depot/+/2809 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
2021-04-04 r/2430 feat(panettone): Send notifications when issues are reopenedGriffin Smith1-0/+15
Send notifications both to IRC and email when issues are reopened after being closed Change-Id: I3a63419c6547ac28eeaafbe212a2a01a5fc2b5af Reviewed-on: https://cl.tvl.fyi/c/depot/+/2808 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
2021-04-04 r/2429 feat(panettone): Send emails when issues are closedGriffin Smith3-18/+42
Send notification emails to the same group of users who receive notifications on issue comments when issues are marked as closed. This also takes the opportunity to generalize issue notification emails a bit, and lay the groundwork for (but not implement) explicit issue subscriber lists. Change-Id: Ie2572ed3ad0207d415b4c362438f772925e7a2c5 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2807 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
2021-04-04 r/2428 feat(panettone): Add a settings pageGriffin Smith4-6/+70
Add a user settings page, with a single checkbox that allows disabling receiving all email notifications. Change-Id: Ibef2a497cd59f93b695ff8b9cd36047e514e00c2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2806 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
2021-04-04 r/2427 feat(panettone): Send email notifications for commentsGriffin Smith4-2/+46
When a user posts a comment on an issue, send email notifications (respecting the enable-email-notifications setting) to the author of that issue and all the other users who have commented on that issue. Since the oauth & gmail API stuff that the relay does is slow, this happens in a background thread. Change-Id: Ic00c265deab1030d9ba64c29c9f56314dd179141 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2805 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
2021-04-04 r/2426 feat(panettone): Add functions to send email notificationsGriffin Smith4-1/+65
Add a new package to panettone, :panettone.email with functions to send email notifications to users through the SMTP relay on whitby, respecting the value of `enable_email_notifications` on the user_settings table. Change-Id: Ia4ec65965abda06f1fadb178143d66bb8eae6482 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2804 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
2021-04-04 r/2425 feat(panettone): Add a user settings tableGriffin Smith2-1/+33
Add a new user-settings table and dao class, with a flag that allows an individual user to disable receiving email notifications Change-Id: I537bfca74490941934c0adc7328bcd6ed5c9c0b9 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2803 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: tazjin <mail@tazj.in>
2021-04-01 r/2395 chore(web/bubblegum): add OWNERS filesterni1-0/+3
Forgot to add this when moving it out of my //users directory. Change-Id: If6d30a2a58a6bd73e160706cb706e3b2e100e909 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2754 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2021-04-01 r/2394 feat(web/bubblegum): nix CGI programming frameworksterni8-0/+585
So here is what has been keeping me up at night: At some point I realized that nix actually made a somewhat passable language for CGI programming: * That `builtins.getEnv` exists as one of the impurities of Nix is perfect as environment variables are the main way of communication from the web server to the CGI application. * We can actually read from the filesystem via builtins.readDir and builtins.readFile with bearable overhead if we avoid importing the used paths into the nix store. * Templating and routing are convenient to implement via indented strings and attribute sets respectively. Of course there are obvious limitation: * The overhead of derivations is probably much to great for them to be useful via IfD. * Even without derivations, nix evaluation is very slow to the point were a trivial application takes between 100ms and 400ms to produce a response. * We can't really cause effects other than producing a response which makes it not viable for a lot of applications. There are some ways around this: * With a custom interpreter we could have streaming and multiplexed I/O (using lazy lists emulated via attrsets) to cause such effects, but it would probably perform terribly. * We can use builtins.fetchurl to call other HTTP-based microservices, but only in very limited constraints, i. e. only GET, no headers, and only if the tarball ttl is set to 0 in the global nix.conf. * Terrible error handling capabilities because builtins.tryEval actually doesn't catch a lot of errors. To prove that it actually works, there are some demo applications, which I invite you to run and potentially break horribly: nix-build -A web.bubblegum.examples && ./result # navigate to http://localhost:9000 The setup uses thttpd and executes the nix CGI scripts using users.sterni.nint which automatically passed `depot`, so they can import the cgi library. Change-Id: I3a22a749612211627e5f8301c31ec2e7a872812c Reviewed-on: https://cl.tvl.fyi/c/depot/+/2746 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-01 r/2389 style(web/todolist): List paths without 'At ' prefixVincent Ambo1-1/+1
This also looks much cleaner than before. Change-Id: I767b881c73699151afc03746c04e413e74f30387 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2750 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2021-04-01 r/2388 feat(web/todolist): Drop 'TODO' prefixes in individual itemsVincent Ambo1-5/+10
This modifies the capture regex executed by `jq` to capture the TODO text itself as a separate capture group, which is then used for the content of the TODO listing. The web listing looks much cleaner this way. Change-Id: I00a14da57b315a353f700c112ba33f38e16f1f85 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2749 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
2021-03-31 r/2376 chore(web/tvl): Remove some former membersVincent Ambo1-6/+0
Change-Id: I11d3f473142a9b15c5fed6b213c825ccf1c70491 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2714 Reviewed-by: adisbladis <adisbladis@gmail.com> Tested-by: BuildkiteCI
2021-03-31 r/2369 chore(web/tvl): Point footer links at useful thingsVincent Ambo1-3/+5
These were actually just copy&pasted from the layout of my blog (//users/tazjin/blog), even including a dead link. This commit adds more relevant links instead. Change-Id: Ib55aac492f1f9bff650edfa43b52d3d5d611410c Reviewed-on: https://cl.tvl.fyi/c/depot/+/2713 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-31 r/2367 revert(web/tvl): Revert 's/The V/tazjin's v/"'Vincent Ambo2-6/+6
This was originally done when "the purge" happened, and I don't think it's quite accurate anymore. This reverts commit 94846503c59b4155cc98280ef1c5cbcf69696ff9. Change-Id: I4be2bccfa68505a2f663ab1695e547321d2dd0b8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2709 Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
2021-03-28 r/2355 feat(web/panettone): Noping issue authors' usernamesGriffin Smith4-3/+20
When sending irc notifications, insert a zero-width space after the first character of the username of the author of issues, to prevent that user from receiving a ping. Fixes: b/95 Change-Id: Ibcacb45129b2cb99b587744eb61f4f1dbc0060d6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2693 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-03-28 r/2354 chore(web/panettone): Add sterni to OWNERSGriffin Smith1-0/+1
Sterni has been doing a lot of good mainenance work, and I'd like to enable that in as unblocked a fashion as possible. Change-Id: I5bbd2459864c3d4b7e6b9927fc5d4824efc854e6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2692 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: sterni <sternenseemann@systemli.org>
2021-01-29 r/2152 fix(panettone): handle missing DNs when looking up displaynamessterni2-13/+21
* Fix find-user-by-dn raising an error condition if the search returns no results, return nil instead. * Adopt strategy of defaulting to “someone” as displayname if lookup fails for all usage of displaynames in panettone. I've tested this change for issues and comments created by missing users. Adjusting the displayname seems to fix all 500 being created by missing users both logged out and logged in. Change-Id: I0a84eb0631c4a49f1664bed6d03afa60dce6eb47 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2448 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-01-25 r/2144 feat(panettone): render a subset of markdown in issue subjectssterni6-4/+198
This is achieved by implementing a simple markdown renderer in CL which has the following limitations: * Only supports inline `code`, *emphasize 1*, _emphasize 2_ and ~~strikethrough~~. * Does not support nested markup. This allows for a relatively simple renderer which doesn't need to parse markdown into a in-memory data structure first. The rendered result is directly written to a stream to integrate well with cl-who which is also reused for rendering tags and xml-escaping strings. Fixes #90. Change-Id: Ice88ed770b1fab6365f3b93e8663e25077befa0b Reviewed-on: https://cl.tvl.fyi/c/depot/+/2389 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
2021-01-25 r/2143 fix(panettone): escape value attr of inputs if dynamic contentsterni1-2/+3
I checked all :value attributes in panettone.lisp and wrapped them with who:escape-string if its value comes from user-influenced places. Static values or values from panettone internals are left as is. I did not do a comprehensive check for other places where something similar could happen though. Fixes #92. Change-Id: I134acc0d2f025f173588b37c19a93589365e879b Reviewed-on: https://cl.tvl.fyi/c/depot/+/2401 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2021-01-23 r/2140 chore(users/multi): remove user from the depot.multi1-6/+0
This commit removes my user directory in the depot, my user account on whitby, my entry in the LDAP database, and my entry in the website graph. I've had my fun with TVL, but I want to move on to spending time on some other things. This additionally removes aranea from the website graph, which they have requested in private. Change-Id: I2d098c8fe239f20d9f6c6cbf66a3dfb4a955a4cf Reviewed-on: https://cl.tvl.fyi/c/depot/+/2436 Tested-by: BuildkiteCI Reviewed-by: multi <depot@in-addr.xyz> Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-01-19 r/2133 chore: Remove banned userV1-2/+0
Change-Id: Icd61f7c567a327c74a4f381168e94737b2b30702 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2422 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu> Reviewed-by: tazjin <mail@tazj.in>
2021-01-18 r/2131 feat(todolist): use static slapd user data for knownUserssterni1-9/+2
Since the slapd data is static and generated using nix, we can simply move the user list into ops/users, so it's recognized by readTree and we can use it as ops.users both in ops/nixos/tvl-slapd and web/todolist as a general purpose user registry for depot. Update docs/REVIEWS.md as well. Change-Id: I35caaaab70a5578c47cedc7f33077dd513766290 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2419 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-11-27 r/1928 fix(panettone): only scroll if content is too wideAlyssa Ross1-1/+1
Guessing Griffin uses a Mac with invisible scroll bars. ;-) Change-Id: I1771f941f149d5ab5816e67861b6bcd91001e652 Cc: Griffin Smith <grfn@gws.fyi> Reviewed-on: https://cl.tvl.fyi/c/depot/+/2163 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-11-22 r/1904 fix(panettone): Prefix all IRC messages with a ZWSPGriffin Smith1-1/+4
Prefix all IRC notifications from panettone with a unicode zero-width-space so that they don't get picked up by other IRC bots (notably bslsk05). Change-Id: I350fd1b6d2145e496c22a8f56ba3530fc9f1a978 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2127 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: tazjin <mail@tazj.in>
2020-11-22 r/1903 feat(panettone): Send notifications when issues are closedGriffin Smith1-5/+14
Send an irc notification when issues are marked closed, in a similar format to the notifications sent when new issues are created. Change-Id: I2fdde33f0dedc223a5c2265eed778161938f8e9a Reviewed-on: https://cl.tvl.fyi/c/depot/+/2126 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-11-22 r/1896 feat(panettone): Bring back + fix irccat issue creation announcementGriffin Smith4-6/+43
This reverts commit e1067b1497b3dea0c37ae51bba21f42f1e7d35b5. The original issue here was misusing ISSUE-ID instead of ID, but also the associated username for the message should've been CN instead of DN Change-Id: I1629c0cb7597ff2ee2867f27870378eecdafe126 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2125 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
2020-11-19 r/1884 revert(panettone): announce newly created issues using irccatglittershark4-38/+4
This reverts commit 2e2bdf9c6ce1cd66ba5cfe1a42786a6f486b7969. Reason for revert: this is not working, and is resulting in newly created issues just showing a blank page (b/74) Change-Id: I3f06afc52d6c5289269402fc75bb32ad9c376bf4 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2082 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-11-08 r/1877 feat(panettone): announce newly created issues using irccateta4-4/+38
- The new PANETTONE.IRC package contains the SEND-IRC-NOTIFICATION function, which opens a new TCP socket to irccat (if it's running and configured) in order to announce the creation of new issues. - The IRCCATHOST and IRCCATPORT environment variables must be set for this to work. - Additionally, the ISSUECHANNEL environment variable may be used to direct announcements at a given channel (otherwise it'll just use the first one). Change-Id: I429a66f24d0f80ed10db173d6af7105fb1d3d023 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2077 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
2020-10-27 r/1866 feat(web/tvl): graph implrBartosz Stebel1-2/+2
Considered adding hswaw, but after q3k left it'd be a single edge, so perhaps no point. Change-Id: Ifd8609a5227e5c3bee1d5726bb5cf70ebb2cefdf Reviewed-on: https://cl.tvl.fyi/c/depot/+/2053 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-10-27 r/1861 fix(web/tvl): Fix TVL graphV1-1/+1
Change-Id: I6ce3be85a0248841837d18fdd4d251729061bfc8 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2062 Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: firefly <firefly@firefly.nu> Tested-by: BuildkiteCI
2020-10-20 r/1852 feat(web/tvl): Add graph nodes for AfRA & friendsVincent Ambo1-0/+8
Change-Id: Iac50cea9277167b28695dd908af66548e0e414b1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2052 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
2020-10-20 r/1851 feat(web/tvl): Accommodate the passage of time in TVL's graphVincent Ambo1-17/+15
Some overdue updates: People leaving, people joining. Not all new people are in here yet either, but you have to start somewhere. Change-Id: I66dfae443f60d090c02c619d09c12599b936b2dc Reviewed-on: https://cl.tvl.fyi/c/depot/+/2051 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi>
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-08-31 r/1746 fix(panettone): Automatically reconnect to ldapGriffin Smith3-17/+55
Wrap all ldap access in a macro that automatically reconnects and retries operations that fail due to a connection error, to handle the case where the ldap server restarts while we still have an open connection. Fixes: #44 Change-Id: I4859cf509106e480f97fed17e7f08e0eea909352 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1871 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
2020-08-29 r/1737 feat(panettone): Add nav to the top of the page as wellGriffin Smith3-24/+33
The absence of the navbar containing the "all issues" and "log out" links from the top of the page has been a common complaint - initially I disagreed, but after some time thinking about it I've come around. This adds the same nav - with the "All Issues" link and the "Log Out" link - to the top of every page, and also fixes a bug where query params would prevent the "All Issues" link from being hidden on the "All Issues" page, which looked especially weird when they were right next to each other. Change-Id: I1d07175fa07aee057ddd140a6864d01342fbb7ef Reviewed-on: https://cl.tvl.fyi/c/depot/+/1868 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-08-29 r/1734 feat(panettone): Add styling for blockquotesGriffin Smith1-0/+7
Style blockquotes (which show up in rendered markdown) similarly to how github does, by rendering a 5px-wide margin to the left with some padding. Fixes: #48 Change-Id: I79aa3b6cda5d928885c2cc36f504009232252c17 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1869 Tested-by: BuildkiteCI Reviewed-by: eta <eta@theta.eu.org>
2020-08-28 r/1731 feat(panettone): Increase session timeout to 90 daysGriffin Smith1-0/+2
The default was really annoyingly short - 90 days feels perfectly fine for what we want, though we may want to increase even further. Fixes: #19 Change-Id: I917abd95c4925f8491cd2be7cd87d91bb6621153 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1867 Tested-by: BuildkiteCI Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-28 r/1730 feat(panettone): Configure a session secretGriffin Smith1-4/+13
Load a SESSION_SECRET env var and set it as the hunchentoot session secret if present, so that restarting panettone doesn't destroy all sessions due to the secret getting regenerated. Refs: #19 Change-Id: Ia2c633fa998e128ecece66e824df01c430da8235 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1866 Reviewed-by: kanepyork <rikingcoding@gmail.com> Tested-by: BuildkiteCI
2020-08-09 r/1628 fix(web/panettone): revert "implement shorthand issue URLs"glittershark2-16/+6
This reverts commit 311511385455f680aedf78aab761fcebf3ca7731. Reason for revert: this is causing all issues to return a 404 - reverting until we can get it working. Change-Id: I5f3c5ec3b24f245a1f7ef12645200d16ed0f1b35 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1721 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
2020-08-08 r/1617 feat(web/panettone): implement shorthand issue URLsedef2-6/+16
Fix #32 Change-Id: I6ccec959201673850b4b56a44734a2874aad5856 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1648 Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: edef <edef@edef.eu> Tested-by: BuildkiteCI
2020-08-03 r/1564 fix(web/panettone): Fix more calls to (id nil) in new issue formGriffin Smith1-32/+35
Change-Id: Id514d80e00005b7b7eb2f305e92af33ca70d6964 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1594 Tested-by: BuildkiteCI Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-08-03 r/1563 fix(web/panettone): Fix new issue formGriffin Smith1-1/+2
Passing a nil issue to this was breaking because you can't get the id of nil. I am too used to clojure. Change-Id: Icf76cbb23d902ec59fa97c21b134936fa40eb43e Reviewed-on: https://cl.tvl.fyi/c/depot/+/1593 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-02 r/1547 feat(web/panettone): Add direct anchor links to commentsGriffin Smith2-12/+23
Fixes: #31 Change-Id: I5a8228229eb2b68bdfc5addd305ab055443aa5a6 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1581 Reviewed-by: lukegb <lukegb@tvl.fyi> Tested-by: BuildkiteCI
2020-08-02 r/1539 feat(web/panettone): Allow editing issuesGriffin Smith4-41/+146
Allow editing both the subject and the body of issues, recording events indicating the edit and displaying those events in the issue history. Fixes: #14 Change-Id: I9ed05271ce9bf6bda4e56f15e249c0f28c862b27 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1517 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-08-01 r/1517 fix(web/panettone): Don't try to markdownify eventsGriffin Smith1-3/+3
Events - which are interleaved with comments - don't have bodies, so they can't be converted to markdown. Change-Id: Iba818b95dab59cae5a08c8b4eca94955e11e584b Reviewed-on: https://cl.tvl.fyi/c/depot/+/1509 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-31 r/1511 feat(web/panettone): Render issues+comments as MarkdownGriffin Smith3-4/+64
Use the new cheddar markdown endpoint to render issue bodies and comment bodies as JSON. I've checked, and this *also* appears to be XSS safe (yay) Change-Id: Ib4b19fd581b0cf40ba03f5d13443535d17df6632 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1500 Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-31 r/1510 feat(web/panettone): Display issue historyGriffin Smith4-34/+80
Display the history of an issue (which currently is just opening and closing) inline with the issue's comments on the issue show page Change-Id: Id167bceef765cb4c24e86983d1dcd6624d0e5956 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1497 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-31 r/1509 feat(web/panettone): Log when users change issue statusesGriffin Smith7-112/+215
Log in the database, in a way that will generalize to tracking edit history as well, when users change the status of an issue. To facilitate easily knowing who is currently authenticated (without introducing a circular dependency) the authentication-relaated code has also been factored out into its own package, which is nice because we want to replace that sooner rather than later anyway. Fixes: #13 Change-Id: I65a544fab660ed1c295ee8f6b293e0d4945a8203 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1496 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-31 r/1508 feat(web/panettone): persist original-uri through failed authGriffin Smith1-1/+2
Even if the user fails to log in, maintain the original-uri param if present, so that if they eventually succeed at logging in they still get where they were originally trying to get. Change-Id: I2faa5eced002ab899c803cf19095cea76897d92d Reviewed-on: https://cl.tvl.fyi/c/depot/+/1499 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2020-07-31 r/1507 feat(web/panettone): Redirect to original URL after loginGriffin Smith1-1/+6
Add an original-uri query param to the target of the Log In link pointing at the current URL, so that when the user eventually successfully logs in they are redirected to the page they were originally on Fixes: #21 Change-Id: I75ed7b75fa00b1b09c8b26bf4dcf5bc6b6d7f53a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1498 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>