#539: per-file activity feed #619

Merged
Cordy merged 8 commits from fix-539 into main 2026-09-18 16:12:30 +00:00
Owner

Per the design note on #539 (build on approval-by-silence).

  • New internal/activity package: bounded, newest-first event store (activity.json beside recents/favorites; write-time caps 5000 events / 90 days; atomic JSON via statestore). Deliberately NOT the #61 audit log.
  • GET /api/v1/activity?path=&limit= through the caller's scoped store (Stat gate — invisible paths yield nothing).
  • Recorded beside existing chokepoints: upload/update (existed-before decides which), rename/move (activity.Kind, history re-keyed incl. directory prefixes), copy, share-created/share-removed (grants + links), trash restore (new nil-safe TrashAPI.Act hook).
  • Details pane: Activity drill-in row + panel (actor · action · time, inline empty state), feat.activity boot probe, i18n ×4, pure:act-label block.
  • #433 verb scanner: exempted internal/activity/activity.go (activity.Event, not audit.Event).

Red witnessed (go vet + node both failing before impl), then green: go vet, go test ./..., extract fence, full web test suite.

Per the design note on #539 (build on approval-by-silence). - New `internal/activity` package: bounded, newest-first event store (`activity.json` beside recents/favorites; write-time caps 5000 events / 90 days; atomic JSON via statestore). Deliberately NOT the #61 audit log. - `GET /api/v1/activity?path=&limit=` through the caller's scoped store (Stat gate — invisible paths yield nothing). - Recorded beside existing chokepoints: upload/update (existed-before decides which), rename/move (`activity.Kind`, history re-keyed incl. directory prefixes), copy, share-created/share-removed (grants + links), trash restore (new nil-safe `TrashAPI.Act` hook). - Details pane: Activity drill-in row + panel (actor · action · time, inline empty state), `feat.activity` boot probe, i18n ×4, `pure:act-label` block. - #433 verb scanner: exempted `internal/activity/activity.go` (activity.Event, not audit.Event). Red witnessed (go vet + node both failing before impl), then green: go vet, go test ./..., extract fence, full web test suite.
Cordy merged commit b83ab7fd62 into main 2026-09-18 16:12:30 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#619
No description provided.