Skip to content

Releases: profullstack/tsbb

v0.5.0

Choose a tag to compare

@ralyodio ralyodio released this 03 Sep 22:03
217140f

A container that keeps itself current

0.4.0 taught a board to update itself, but only when it ran from a git checkout; a Docker image had nothing to move and could only show the notice. Now it can follow releases too.

Set TSBB_CHECKOUT_DIR to a directory on the container's volume (/app/data/app, say). On first boot the container clones the repository there at the image's own commit and installs from the image's own package store, about three seconds with no download, and runs from that checkout. Each new release is then fetched into the volume and the server started again from it, within five minutes of it being published. A container restart comes back on the release the volume holds, not the image it was built from.

Without TSBB_CHECKOUT_DIR the image runs its own code exactly as before.

The image now carries git, the start command is sh bin/entrypoint.sh, and the Railway healthcheck window is 300 seconds.

Full changes: #13, #14.

v0.4.0

Choose a tag to compare

@ralyodio ralyodio released this 03 Sep 21:34
45da2a6

A board that keeps itself current

A minute after it starts, and every five minutes after that, a board asks GitHub for the newest release. When there is one and the board runs from a git checkout, it fetches the tag, runs pnpm install, and restarts itself. This is the three commands you would otherwise type by hand every release, and this release is the last one you have to.

It is on by default. An administrator turns it off under Board settings → Updates. The admin overview now carries an Updates card: what is running, what is out, when it last checked, a Check now button, and Update now when there is something to install. A failed check or install is shown there, not just logged.

What it refuses: a checkout with local changes (that is somebody's work), anything that is not a vX.Y.Z release tag, and a container. The Docker image has no .git to move, so a board on Railway or under docker run sees the notice and is updated by redeploying, as those platforms expect.

On restart the board spawns a fresh copy of itself and exits, so pnpm start in a terminal or under nohup carries on. Under systemd or pm2 set TSBB_RESTART=exit with Restart=always. TSBB_UPDATES=off stops the check altogether, and tsbb update [--check] does the same job from a shell.

Full changes: #11, #12.

v0.3.0

Choose a tag to compare

@ralyodio ralyodio released this 03 Sep 21:17
57d33ad

Unread indicators, and a way to catch up

A forum row on the board index now lights up, with an "N new" count beside its name, when it or any subforum holds a topic you have not read. Categories roll their forums up, so the index answers whether there is anything new below without a click.

Signed-in members get a Mark all read bar above the categories (and on Latest), and each forum page gets Mark forum read, which covers its subforums. Both write one marker per forum rather than a row per topic, so the cost stays flat however big the board grows.

Posting a topic or a reply now marks it read for its author. Before, the topic you had just written showed as unread to you until you opened it again.

For API clients: POST /api/v1/read and POST /api/v1/forums/{slug}/read, and the forum listings carry an unread count per forum. See docs/API.md.

No migration is needed; the forum_reads table has been in the schema since 0.1.0 and is now used.

Full changes: #9, #10.

v0.2.0

Choose a tag to compare

@ralyodio ralyodio released this 03 Sep 14:51
744598d

The first tagged release of tsbb.

New

  • Forums filled from RSS or Atom feeds. Attach feeds to a forum from its admin page. The worker polls each on its own interval and posts every new item as a topic under the account you choose. Items are remembered by guid, so nothing is posted twice, and the first fetch of a long feed posts only the newest few. Fetch now, pause, resume and remove from the same page. (#7)
  • Member posting policy per forum. Members may start topics and reply, reply only, or read only. Enforced in the one permission resolver, so the web UI, the REST API and the terminal client agree; staff are always exempt. (#7)
  • Board setting feeds.importEnabled to switch feed import off board-wide.
  • A dependency-free RSS 2.0, RSS 1.0 and Atom parser.

Fixed

  • Per-post Reply and Quote links now follow the viewer's reply permission instead of leading to a refusal.

Upgrading

Migration 0008_feed_sources.sql runs at boot. No configuration changes are needed.