Skip to content

tippr v0.22.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 18:14

✨ Features and improvements

  • A site can be split over several servers: the installer's TIPPR_ROLE makes a server the backend
    (PostgreSQL, Cassandra, RabbitMQ, ZooKeeper, OpenSearch, memcached, the "here now" counts, the queue processors
    and the scheduled jobs) or a frontend (the pages and live comments), any number of which, on any servers,
    share one backend behind a load balancer. all, one server doing everything, stays the default. The backend
    opens its services to the frontends' address range and writes /etc/tippr/cluster.env, the passwords, signing
    secrets and shared settings a frontend installs from; the Proxmox template makes either from firstboot.env.
    Media has to be in object storage. /admin/servers shows each server's role and leaves out the services it
    doesn't run, and updating a backend checks its app and database rather than its (absent) pages. See
    docs/SERVERS.md.
  • Members' data exports are kept in PostgreSQL: rather than on the disk of the server whose queue processor
    made them, so on a split site any frontend gives a member theirs, and old ones are cleared (the files on disk
    never were). Exports made before still download.
  • /admin/backups works on a split site: on a frontend its requests go through ZooKeeper to the backend's
    tippr-backup, and it shows the backend's backups and progress, passed both ways every 10 seconds by
    tippr-backup-relay.timer on the backend. Another server copying a split site's backups with a transfer key
    can't go through a frontend (the files are on the backend), so the page says to copy the folder instead.
  • Preferences unlock once, like admin mode: with two-factor on, preferences ask for the code (or a passkey) when
    you open them, rather than on each form: the security page and the password and email page always, and every
    preferences page (options, privacy, friends, blocked, apps) when you choose "also ask for a code before opening
    any of your preferences" on the security page, which replaces asking on each save. Once unlocked their forms need
    no code, and they stay unlocked while you use them, locking again 15 minutes after you last open one; a form saved
    after that says to reload the page and unlock them again. Turning two-factor off and deleting your account still
    ask for a code then.
  • New report reasons, following the content policy: spam or vote manipulation, harassment or threats, hateful
    content, someone's personal information, sexual content involving minors, other illegal content, impersonation,
    malware, phishing or scams, breaking the site's rules (named for the site, rather than "breaking tippr"), and
    other. A vault with its own rules lists those first and the site's in a menu, as before. Each reason is kept in
    English on the report and shown to moderators in their own language; reports made before keep their wording.
    Reporting from a vault's rules page no longer fails.

🐞 Bug fixes

  • The report form was hard to read in night mode: its box stayed light yellow under night mode's light text. It
    now uses night mode's dark notice colours, as does the list of reasons on a reported post.
  • A post or comment a moderator had reported broke the page for its moderators: the reports queue and the
    vault's listings gave an error while showing who reported it and why. They show the moderators' reports again.
  • Deleting an account on /admin/users gave "forbidden": the form's "delete for good" checkbox is named confirm,
    which inside the form's own submit handler hid the browser's confirm(), so its "are you sure?" threw an error
    and the browser sent the form as a plain page instead, which the site refused. It asks and deletes again. The
    other admin forms that ask first (forgetting a server, updating, flushing the cache, payments) use the same
    safer call, and the two that put translated text straight into their script (deleting an account, forgetting a
    server) no longer break on a translation with an apostrophe.

Downloads

  • Docker: docker pull techidiotsllc/tippr:0.22.0, or unpack tippr-0.22.0-compose.tar.gz, copy
    .env.example to .env, fill it in and run docker compose up -d (docker/README.md).
  • Proxmox: tippr-0.22.0-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.22.0-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.