about summary refs log tree commit diff
path: root/web (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-04-06 r/2449 fix(panettone): set external-format for stream from cheddarsterni1-1/+1
drakma ignores the :external-format-in parameter if :want-stream is t: > If want-stream is true, the message body is NOT read and instead > the (open) socket stream is returned as the first return value. > If the sixth value of HTTP-REQUEST is true, the stream should be > closed (and not be re-used) after the body has been read. The > stream returned is a flexi-stream with a chunked stream as its > underlying stream. If you want to read binary data from this > stream, read from the underlying stream which you can get with > FLEXI-STREAM-STREAM. Since it doesn't return a plain CL stream which would just work with SBCL, we need to set the external format on the resulting flexi-stream. Fixes b/107. Change-Id: I6e3178123c0927ef21fabf8118d9d357c8afbd42 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2869 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: glittershark <grfn@gws.fyi>
2021-04-06 r/2448 refactor(panettone): remove code duplication in render-markdownsterni1-20/+13
Move the common part (encoding/decoding json and connecting to cheddar) into request-markdown-from-cheddar. The two render-markdown implementations are now only thin wrappers around that function. Change-Id: I81bb34b684af44228dcad02fca541082e6d060ce Reviewed-on: https://cl.tvl.fyi/c/depot/+/2868 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-05 r/2446 fix(web/converse): Update to use mime_guess::from_pathVincent Ambo2-3/+1
... instead of its deprecated predecessor. Change-Id: I8af286c6b1ee7c25c153f1209d094ae4f5eb53cc Reviewed-on: https://cl.tvl.fyi/c/depot/+/2860 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-05 r/2445 refactor(web/converse): Use crimp instead of reqwestVincent Ambo5-379/+115
This simpler, curl-based HTTP client (which I wrote years ago) is a first step towards cleaning up the dependency mess of converse. Dependency stats: +4, -28 Change-Id: I4f5f3c9307895d261bfb0a6bcf2337b747f9a4c0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2859 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-05 r/2444 chore(web/converse): Apply 'cargo fix --edition'Vincent Ambo7-29/+29
This does not yet change up `extern crate` and `macro_use` statements, but since we still depend on Diesel that also wouldn't work right now. Change-Id: I36de1b7b56f7d220f567346e13bad8da06461517 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2858 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-05 r/2443 fix(web/converse): Bare minimum changes to build in 2021Vincent Ambo7-6568/+1840
This project depends on Tokio, via actix, and both of those are bad ideas. This wasn't as clear 3 years ago as it is now, but to demonstrate it the project has amassed issues which required at least this minimum of changes to be buildable in 2021 (using a modern rustc). Yes, this adds dozens of new dependencies again (because of a top-level update) but don't worry: They will be gone when I'm done here. Change-Id: I1dde9dc0325da7bdcb6608359fab33e27692dc1d Reviewed-on: https://cl.tvl.fyi/c/depot/+/2857 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
2021-04-05 r/2442 docs(converse): Convert README to MarkdownVincent Ambo1-2/+2
Change-Id: Iad5902622a9993c94116edc55de8fa5f6c38d3f1 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2856 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-05 r/2441 chore(converse): Remove old Github-specific thingsVincent Ambo8-150/+4
* remove files that depot already has, or doesn't need * remove links to old source location Change-Id: Idcd9361bfed00289f09af62f5342c4fd8bd04404 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2855 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-05 r/2440 feat(web/converse): Import repositoryVincent Ambo54-0/+11309
Imports the converse forum software I wrote a few years ago. I want to clean this up a bit and try using Hotwire with it. Note: The original repository was AGPL-3.0 licensed. I'm the copyright holder and have relicensed it to GPL-3.0 in the commit that is being merged. Imported from: https://github.com/tazjin/converse git-subtree-dir: web/converse git-subtree-mainline: 386afdc794eefd5bcbc47a3fd7b898a07f69f978 git-subtree-split: 09168021e7405f6b83798d0b43aa6e69e744ae87 Change-Id: Ia8b587db5174ef5b3c52910d3d027199150c58e0
2021-04-05 r/2439 feat(web/bubblegum): allow passing status as an intsterni2-9/+16
The whole pass the name of the status as a string thing was mostly born out of an overeager use of yants. It is still very neat especially for common cases like "OK", so we'll keep it, but also allow passing the integer variant of the status as well which probably feels more natural for a lot of people, especially over getting the casing right for "I'm a teapot". Change-Id: I3f012a291447ef385efdd28132292a8b331998c0 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2850 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-05 r/2438 feat(web/bubblegum): report some errors to the user via HTTPsterni2-34/+51
We can actually catch some errors that may be generated in bubblegum applications where we can report them to the user in a way that doesn't require curl -vv: * Type errors in the status argument: By removing yants completely we not only (presumably) gain some performance, but also the ability to return an internal server error on an unexpected type instead of throwing. * User generated evaluation errors: by using builtins.tryEval we can catch throws and asserts the user inserted when generating the body and report to the user that something went wrong. To do: also support for the headers. Change-Id: I8363b9825c6c730e624eb8016a5482d63cbc1890 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2849 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-04 r/2433 fix(panettone): Add email.lisp to source filesGriffin Smith1-0/+1
email.lisp was missing from the buildLisp derivaation's source files, which meant that none of its definitions were being loaded into the image even though the package was defined by packages.lisp. As an aside, this really should've broken the build - we got a style-warning in panettone.lisp for referencing the missing definitions, but that only surfaced as a warning, and ended up breaking once deployed Change-Id: Ie99c3efeef8e6943aa1f9cfc426957d622c2d718 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2845 Reviewed-by: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI
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