v3.11.0
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 asdocument.created/document.updatedand attributed via the W1created_bytrail) and thebyline_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 normalisedoccurred_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 newIAuditQueries.findAuditLog(@byline/corecontract,@byline/db-postgresUNION ALLimplementation) and thegetSystemActivityLoghost server fn. -
@byline/admin,@byline/host-tanstack-start— added a newadmin.activity.readability (the@byline/admin/admin-activitymodule, registered throughregisterAdminAbilities) 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/uiTooltip, 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/admin— no schema migration is required. Thebyline_audit_logtable that backs the activity feed already shipped in v3.10.0, and the newadmin.activity.readis 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 itadmin.activity.readthrough 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.