Favorites: star files, Favorites sidebar view (per-user, server-side) #296
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Cordy/Cairn#296
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Request (2026-08-20, Nikola): similar to Recents, tagging files as favorites. Mockup approved 2026-08-20 (ships together with #295).
Design — mirrors the #293 recents architecture:
internal/favoritesstatestore: per-user ordered set of{Path, Name, At}(added-time, newest first), atomic JSON at<state dir>/favorites.json. Case-insensitive dedupe. Soft cap 200 per user (refuse beyond with a friendly message — keeps the listing cheap).GET /api/v1/favorites(existence-filtered via scopedStatlike recents — deleted/revoked entries drop off),POST /api/v1/favorites?path=(add),DELETE /api/v1/favorites?path=(remove). Nil-safe handler field + narrow interface, same pattern asRecentsStore.Per-user only — nobody sees another user's stars; no admin surface.
Shipped as v0.6.57 (PR #298), live on both dogfoods.
What changed:
favorites.jsonbeside the other runtime state) — stars follow you across browsers/devices; nobody else sees yours. Deleted or access-revoked items drop off automatically. Capped at 200 per user (friendly error beyond).Dogfood checklist:
Closing — verified on the dogfood (shipped v0.6.57, PR #298).