Skip to content

tippr v0.20.1

Choose a tag to compare

@github-actions github-actions released this 24 Oct 06:20

✨ 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's screenshots-VERSION artifact). 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 pinned packaging: 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_url is 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 unpack tippr-0.20.1-compose.tar.gz, copy
    .env.example to .env, fill it in and run docker compose up -d (docker/README.md).
  • Proxmox: tippr-0.20.1-proxmox-amd64.tar.zst is 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.gz into /home/tippr/src and
    run sudo TIPPR_USER=tippr TIPPR_DOMAIN=example.com ./install-tippr.sh in tippr/; it doesn't need
    to clone anything (docs/INSTALL_tippr.md).

SHA256SUMS lists the files' checksums.