SHARES: rename to Share (view) and Collaborate (edit); drop 'live' (grill) #479

Open
opened 2026-09-30 05:06:50 +00:00 by kayg · 4 comments
Owner

Request (owner, 2026-09-30)

"I think we should name live shares differently - something like collaborate which should have both read/write turned on or simple share which is read only. and the live part, isn't everything live anyways? since everything is server side?"

Decision to apply (grill the details first)

  • Share means view only. Collaborate means view and edit.
  • Drop "live" from all user-facing text: everything is server-side, so every share is live. Keep it only if an internal term is needed to tell a share from a copy, and put that in CONTEXT.md.
  • Open for the grill: public links vs Users; whether a Share can be upgraded to Collaborate in place; expiry; what Collaborate means for Notes (co-editing via Yjs), Calendar, Money and Folders; and how the recipient sees shared items (they appear in the recipient's search: #461).
  • Update DESIGN, CONTEXT, the UI strings, the API docs, and the deep-link grammar (§33) if share kinds appear there.
## Request (owner, 2026-09-30) "I think we should name live shares differently - something like collaborate which should have both read/write turned on or simple share which is read only. and the live part, isn't everything live anyways? since everything is server side?" ## Decision to apply (grill the details first) - **Share** means view only. **Collaborate** means view and edit. - Drop "live" from all user-facing text: everything is server-side, so every share is live. Keep it only if an internal term is needed to tell a share from a copy, and put that in CONTEXT.md. - Open for the grill: public links vs Users; whether a Share can be upgraded to Collaborate in place; expiry; what Collaborate means for Notes (co-editing via Yjs), Calendar, Money and Folders; and how the recipient sees shared items (they appear in the recipient's search: #461). - Update DESIGN, CONTEXT, the UI strings, the API docs, and the deep-link grammar (§33) if share kinds appear there.
Author
Owner

Owner decisions, grill round 1 (2026-10-01): #461: a recipient of a Share can read the Item through every surface (web, API, MCP, CalDAV, search); fix the test to assert that non-recipients are denied. Public links are view only. A Share can switch between Share and Collaborate in place (recipients notified). Public links expire after 30 days by default (changeable); User shares do not expire unless set. Collaborate covers Notes (live co-editing), Calendar, Folders (deletes go to the owner's Trash), Money (shared household budget) and Tasks; every edit is attributed and undoable. Recipients see shared items in place in each Tab's sidebar ("important stuff first, then filters"). New: a share option that doubles as an invite link: a person without an account opens it, creates an account, and lands back on the shared item (details in grill round 2).

**Owner decisions, grill round 1 (2026-10-01):** #461: a recipient of a Share can read the Item through every surface (web, API, MCP, CalDAV, search); fix the test to assert that non-recipients are denied. Public links are **view only**. A Share can switch between Share and Collaborate in place (recipients notified). Public links expire after 30 days by default (changeable); User shares do not expire unless set. Collaborate covers Notes (live co-editing), Calendar, Folders (deletes go to the owner's Trash), Money (shared household budget) and Tasks; every edit is attributed and undoable. Recipients see shared items **in place** in each Tab's sidebar ("important stuff first, then filters"). **New:** a share option that doubles as an **invite link**: a person without an account opens it, creates an account, and lands back on the shared item (details in grill round 2).
Author
Owner

Owner decisions, grill round 2 (2026-10-01): the invite link is a share option: a tick "Invite people without an account" on the share creates an invite link. The admin switch lives in Settings → Invitations ("Share links can invite new people", on by default). A link may be used by several people until it expires (default 7 days, at most 5 new accounts), the owner sees who joined and can revoke it. The link grants Share or Collaborate (the owner chooses; changeable). Collaborators cannot reshare unless the owner allows it per share. Notices: in-app inbox + sidebar badge now; email once #575 (app email via MXRoute) is built.

**Owner decisions, grill round 2 (2026-10-01):** the invite link is a **share option**: a tick "Invite people without an account" on the share creates an invite link. The admin switch lives in **Settings → Invitations** ("Share links can invite new people", on by default). A link may be used by several people until it expires (default 7 days, at most 5 new accounts), the owner sees who joined and can revoke it. The link grants Share or Collaborate (the owner chooses; changeable). Collaborators cannot reshare unless the owner allows it per share. Notices: in-app inbox + sidebar badge now; email once #575 (app email via MXRoute) is built.
Author
Owner

Owner confirmation (2026-10-01): shared items appear in a "Shared" entry in each Tab's sidebar (a sidebar sub-view, the same as Files → Shared today), not mixed into the owner's own lists. Important entries come first in the sidebar, then filters. The grill is complete; build after merge round 4 deploys (order: Calendar Sets #543, sharing #479, Mail proxy #486 after Connected Accounts lands).

**Owner confirmation (2026-10-01):** shared items appear in a **"Shared" entry in each Tab's sidebar** (a sidebar sub-view, the same as Files → Shared today), not mixed into the owner's own lists. Important entries come first in the sidebar, then filters. The grill is complete; build after merge round 4 deploys (order: Calendar Sets #543, sharing #479, Mail proxy #486 after Connected Accounts lands).
Author
Owner

Static audit evidence for DESIGN §54:

The current Share dialog still uses Can view / Can edit in apps/web/src/lib/files/ShareDialog.svelte:283-309. Public link permissions still include edit in crates/plugins/files/src/public.rs:368-386, and the edit route remains available at :1106-1113. DESIGN §54 says public links are view-only and names Share versus Collaborate for account shares.

Expected: label account shares as Share or Collaborate, and remove public Edit creation and access while keeping File drop as its separate link kind. Regression idea: public edit links are rejected after creation and existing public links cannot write; an account share can switch between Share and Collaborate.

Static audit evidence for DESIGN §54: The current Share dialog still uses Can view / Can edit in apps/web/src/lib/files/ShareDialog.svelte:283-309. Public link permissions still include edit in crates/plugins/files/src/public.rs:368-386, and the edit route remains available at :1106-1113. DESIGN §54 says public links are view-only and names Share versus Collaborate for account shares. Expected: label account shares as Share or Collaborate, and remove public Edit creation and access while keeping File drop as its separate link kind. Regression idea: public edit links are rejected after creation and existing public links cannot write; an account share can switch between Share and Collaborate.
Sign in to join this conversation.
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
kayg/calternal#479
No description provided.