about summary refs log tree commit diff
path: root/web/panettone/default.nix (follow)
AgeCommit message (Collapse)AuthorFilesLines
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/2427 feat(panettone): Send email notifications for commentsGriffin Smith1-0/+1
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 Smith1-1/+2
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-01-25 r/2144 feat(panettone): render a subset of markdown in issue subjectssterni1-0/+2
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>
2020-11-22 r/1896 feat(panettone): Bring back + fix irccat issue creation announcementGriffin Smith1-0/+1
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 irccatglittershark1-1/+0
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 irccateta1-0/+1
- 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-08-29 r/1737 feat(panettone): Add nav to the top of the page as wellGriffin Smith1-0/+1
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-07-31 r/1511 feat(web/panettone): Render issues+comments as MarkdownGriffin Smith1-0/+1
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/1509 feat(web/panettone): Log when users change issue statusesGriffin Smith1-0/+14
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-29 r/1505 refactor(web/panettone): Remove prevalenceGriffin Smith1-1/+0
Now that we've migrated over all the data to postgresql, we can get rid of cl-prevalence as a dependency from Panettone along with all code that mentions it. Change-Id: I945f50a88fea5770aac5b4a058342b8269c0bea2 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1495 Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <mail@tazj.in> Tested-by: BuildkiteCI
2020-07-28 r/1498 fix(panettone): Add missing util.lisp to buildGriffin Smith1-0/+1
Change-Id: Id2fdd84145712d75f23844ad1ececa835cec6a84 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1487 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
2020-07-28 r/1497 feat(panettone): Use postgres as the storage backendGriffin Smith1-0/+2
Switch from cl-prevalence to postgres (via postmodern) as the storage backend for panettone. The first time the application starts up after this commit, it will (idempotently) initialize the db schema and migrate over all data from the prevalence snapshot to the database - the plan is then to get rid of the prevalence classes and dependency once that's deployed. Change-Id: I4f35707efead67d8854f1c224ef67f8471620453 Reviewed-on: https://cl.tvl.fyi/c/depot/+/1467 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> Reviewed-by: eta <eta@theta.eu.org>
2020-07-24 r/1452 feat(web/panettone): Redirect to original URI after loginGriffin Smith1-0/+1
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-23 r/1442 feat(web/panettone): Add initial stylesGriffin Smith1-0/+4
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 Smith1-1/+2
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/1433 feat(web/panettone): The start of a very simple issue trackerGriffin Smith1-0/+20
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>