Repository navigation
Collections: owner-only actions, Shared with me, and removal of collection groups #406
Description
Summary
Client side of Silo-Server/silo-server#1615. A personal collection belongs to the profile that created it, and only that profile can change it. The owner can turn on Show to other profiles, and every profile on the same login then sees the collection read-only in a Shared with me section. Personal collection groups are removed from the API.
Why v1
The server change blocks 1.0 and removes fields and routes this app calls today. The app needs to follow before the /api/v2 lock.
Changes
Shared (shared/):
- Stop using the personal group routes and fields:
CollectionApigroup calls (createGroup,getGroup,getGroupsOrder,moveCollectionToGroup, and the rest),group_idon collections andgetCollectionsOrder,groupsin the list response and thegroupscapability. Remove group handling fromCollectionRepositoryandCollectionsViewModel. - Drop
allowed_profile_idsfromPersonalDataModels.kt.is_sharednow means "every profile on this login". - Split the collection list into the profile's own collections and Shared with me by comparing
creator_profile_idwith the acting profile. Label shared ones "by Name" from the login's profile list. Order Shared with me by owner, then by the order the server returns. - Only offer delete, item removal, sync and reorder on collections the acting profile created. Today
CollectionDetailViewModelandTvCollectionDetailViewModeltreat every personal collection as manageable; the server refuses these actions for anyone but the creator (same problem as silo-server#1614 on the web).
Android mobile:
CreateCollectionSheet(and any edit screen): add a Show to other profiles switch, off by default. Helper text: Every profile on this login will see this collection. Titles a profile can't access stay hidden from it. Nobody else on the server can see it.CollectionsScreen: Your collections without group sections, then Shared with me.
Android TV:
TvCollectionsScreen: replace group sections with Your collections and a Shared with me row. Shared cards show "by Name" and no management actions.
Library Collections tab (both): cards in the "My collections" group whose creator_profile_id isn't the acting profile show "by Name" instead of "User collection".
Rough size
M
Validation reference
Collections validation: parent Silo-Server/silo-server#192. Affects Android #5 and Android TV #6, which get a sharing case when silo-server#1615 lands. Server feature blocks 1.0.
AI harness
Claude Code
AI tool(s)
GitHub CLI, Git
AI model(s)
Claude Opus 5.5 (claude-opus-5-5)
AI involvement
AI-assisted. The design came from a discussion with the maintainer; the AI located the affected code on main at c38fb93c and drafted this issue.
Independent or adversarial review
n/a; issue only.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsTodo
Activity