Skip to content

v3.11.0

Choose a tag to compare

@58bits 58bits released this 13 Jun 12:06

Highlights

  • @byline/host-tanstack-start, @byline/core, @byline/db-postgres, @byline/admin — added the system activity area at /admin/activity, the final workstream (W4) of the auditability domain. It's a paged, filterable feed over the read-time union of two event sources: the version stream (content saves, surfaced as document.created / document.updated and attributed via the W1 created_by trail) and the byline_audit_log (status / path / locale changes, deletions, and future admin-realm events). The two sources are disjoint by construction — a delete mints no version, a status change mutates the version row in place — so nothing double-counts; rows are ordered by a normalised occurred_at. The feed filters by collection, action type, and date range, resolves acting-user labels (with a "former user" tombstone for deleted accounts) and collection labels, and links each row to the document it describes. Backed by the new IAuditQueries.findAuditLog (@byline/core contract, @byline/db-postgres UNION ALL implementation) and the getSystemActivityLog host server fn.

  • @byline/admin, @byline/host-tanstack-start — added a new admin.activity.read ability (the @byline/admin/admin-activity module, registered through registerAdminAbilities) that gates the activity area system-wide and independently of any collection's content abilities — so an auditor role can be granted visibility into who-changed-what without read or write access to the documents themselves. Super admins see the area automatically; an Activity menu item appears in the admin sidebar when the actor holds the ability.

  • @byline/host-tanstack-start, @byline/ui — added hover tooltips to the collapsed admin sidebar menu icons. In the icon-only (compact) drawer state the labels are hidden, leaving the icons undiscoverable; each item (and the preview toggle) now shows its label in a tooltip on hover, using the existing @byline/ui Tooltip, positioned to the right of the rail. The tooltip is gated on the compact state so it never duplicates an already-visible label.

Migrations

  • @byline/db-postgres, @byline/adminno schema migration is required. The byline_audit_log table that backs the activity feed already shipped in v3.10.0, and the new admin.activity.read is a registered ability key (code), not a database object. The only optional step for an existing site: to let a non-super-admin role see /admin/activity, grant it admin.activity.read through the permissions UI — a normal data operation, no DDL, no script. Super admins need nothing.

All other @byline/* packages bumped to 3.11.0 in lockstep with no behavioural changes this cycle.