feat: hidden items shown only to the participants an owner picks #1
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/hidden-items"
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?
Owners can add a hidden item and choose which of the list's participants can see it.
Behavior
Backend (
backend/src/lists.rs,items.rs)0005: addsitems.hiddenand anitem_viewerstable.lists::visible_to. It applies to the participantlist_view, theshared_listscounts, every participant item RPC (claim, join, leave, open-to-share, comment), editing and deleting your own comment, and answer push notifications. An answer notification would otherwise leak the item's name.items.set-viewers { id, viewers: number[] | null }.items.addtakes an optionalviewers. Only owners can call either, viewers must be current participants, and neither works on off-list gifts.Frontend
contacts-dialog.tsbecomes the genericpeople-dialog.ts. Picking contacts and picking viewers share it instead of keeping two copies of the checkbox list.viewers.tsowns the "who can see it" flow, used both right after creation and from the item's menu.Also in this PR
@start9labs/start-sdk3.0.6 → 3.1.1, the pre-PR SDK bump;tscis clean.1.1.0:0, which no registry serves yet.Verified:
cargo test(25 pass, including 4 new tests covering visibility, claim dropping, permission and validation rules, and roll-forward),make bindings,npm run checkinweb/(strict templates, prettier) andnpx tsc --noEmit. Not verified: I didn't build the.s9pkor click through the UI on a running instance; CI builds the package.Helix-Harness: claude-code
Helix-Model: claude-opus-5-5
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.