Repository navigation
tippr v0.20.1
✨ Features and improvements
- A browser test in the release workflow: after the smoke test, four ordinary members (not admins) use the site
in Chrome: one posts through the submit form, the others reply to each other down a thread, and they all vote on
the post and the comments, changing and undoing votes, with the arrows and scores checked. A fifth account,
moderator of the test vault only, handles a member's report from the queue, removes and approves a comment,
distinguishes its own, locks and unlocks the thread, and bans and unbans a member, each checked as the moderator,
the members and logged-out visitors see it, and in the moderation log. And support requests: two members write to
the admins from the contact page; an admin turns on admin mode with a two-factor code, takes one, notes and replies,
and gives an employee one category, who sees only that; the member gets the answer from the admin team, without the
admin's name or the staff note, and their reply reaches the ticket. Every page is checked
for JavaScript errors, failed requests, sideways scrolling on a phone and unreadable text, and saved as a
screenshot at desktop and phone width in both themes (the run'sscreenshots-VERSIONartifact). See
docs/RELEASING.md.
🐞 Bug fixes
- Updating could leave the queues and jobs stopped: the installer installs the pinned Python packages, but pip
kept a package already installed under the same name and version even when it came from elsewhere, and an older
formenergy-observability from PyPI then conflicted with the pinnedpackaging: the pages worked, but paster refused
to start the consumers and jobs. The packages pinned to a URL (the baseplate and formenergy-observability forks) are
now always reinstalled, and the installer checks that the packages fit together, as paster does, failing the install
(so an update rolls back) if they don't. - Clicking "reply" on a comment threw a JavaScript error ("e is not defined", from reddit's code): the reply
box still opened, but the comment's hidden replies weren't shown with it, and the error was reported on every
reply. - Every page loaded a tracking pixel nothing used, and on Docker it was missing: reddit counted pageviews from
the pixel's log, which nothing reads now that tippr counts them as it serves them, and Caddy had no route for it,
so every page had a 404. Pages no longer load it (tracker_urlis blank), and Caddy answers the remaining pixels
(sponsored links, embeds) as the installer's nginx does. - A vault's NSFW setting was hard to find: it's labelled "NSFW: viewers must be 18 or older" on the vault form
now, instead of "viewers must be over eighteen years old" (and the /v/all option gains its missing "in"). - The support pages said "254 milliseconds ago": they say "just now" for the last minute, as the rest of the
site does. - Search results showed the wrong descriptions: a vault's page described the whole site (its link previews
already used the vault's own description), and a post's showed its markdown (* item,[link](https://...)).
A vault's page now has its own description, and a post's or comment's reads as plain text. - A comment a moderator removed stayed in front of logged-out visitors for up to 2 minutes: they get a thread's
comments from a short cache, which removing, approving, distinguishing or editing a comment didn't clear (it
follows the comment count). Those now change the thread's cache key, so the next view is built afresh. - Removed posts and comments were hard to read for moderators: their salmon background left the grey tagline and
buttons at 1.4:1. They're a pale red with a red edge now. - The unread message count was unreadable in night mode: night mode's link colour turned it teal on its orange
badge; it's white again.
Downloads
- Docker:
docker pull techidiotsllc/tippr:0.20.1, or unpacktippr-0.20.1-compose.tar.gz, copy
.env.exampleto.env, fill it in and rundocker compose up -d(docker/README.md). - Proxmox:
tippr-0.20.1-proxmox-amd64.tar.zstis an LXC template with the whole site installed;
create a container with the site's domain as its hostname and start it (docs/PROXMOX.md). - Installer (Ubuntu 24.04): unpack
tippr-0.20.1-installer.tar.gzinto/home/tippr/srcand
runsudo TIPPR_USER=tippr TIPPR_DOMAIN=example.com ./install-tippr.shintippr/; it doesn't need
to clone anything (docs/INSTALL_tippr.md).
SHA256SUMS lists the files' checksums.