openpencil/crates
Kayshen-X 6e036e1528 fix(web): recovery affordance, tenant-aware URLs, and restore isolation for online
Closes the remaining review findings:

- an online conflict auto-accept stashes the overwritten document
  (single slot, cleared on identity change) and tells the user the
  remote version was applied and Undo restores their work — the apply
  was already undoable via the initialized() latch, now pinned by
  tests on both sides of the seam and named in all 15 locales
- every wasm daemon request goes through one tenant-aware URL builder
  (idempotent stamping at construction and dispatch), fixing the AI
  transport, model catalog, and image panel requests that dropped the
  ?tenant= parameter on shared pages
- tenant restore and eviction persistence no longer touch the
  process-global thumbnail registry, so two restored accounts cannot
  capture or overwrite each other's image state
- document pushes parse and validate before the state lock; only the
  baseVersion re-check, gate, and infallible install run under it
2026-08-08 18:25:00 +08:00
..
op-acp fix(editor): async hygiene — safe block_on, bounded acp channels, thread teardown 2026-07-26 13:19:34 +08:00
op-ai feat(desktop): one-click mcp registration for twelve clis 2026-08-05 00:52:13 +08:00
op-ai-skills fix(ai): require first-class styled interactive widgets 2026-08-07 02:00:23 +08:00
op-auth-bridge chore: bump version to 0.8.3 2026-08-06 21:15:39 +08:00
op-chrome-extension-core feat(web): chrome extension offline download emits a ready-to-open .op file 2026-08-05 22:15:09 +08:00
op-cli chore: bump version to 0.8.3 2026-08-06 21:15:39 +08:00
op-codegen refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
op-collab chore(rust): align workspace checks 2026-08-01 16:19:26 +08:00
op-collab-host feat(web): session-safe sync recovery, SSE fan-in, and collab undo for the browser host 2026-08-08 11:52:10 +08:00
op-collab-policy-file fix(collab): harden p2p collaboration against resource exhaustion 2026-08-01 09:48:23 +08:00
op-collab-relay-client fix(collab): close review follow-ups and align the reauth budget test 2026-08-01 11:42:10 +08:00
op-collab-relay-control-plane refactor(collab): split the control-plane pairing wire tests 2026-08-03 21:05:11 +08:00
op-collab-relay-locator-hsm fix(desktop): unblock native CI on windows and de-flake the idle heartbeat test 2026-08-08 12:48:59 +08:00
op-collab-relay-locator-server feat(collab): replace public invites with 10-char region-tagged pairing codes 2026-08-02 08:31:13 +08:00
op-collab-relay-protocol feat(collab): replace public invites with 10-char region-tagged pairing codes 2026-08-02 08:31:13 +08:00
op-collab-relay-server feat(collab): minimize the relay credential and confirm the owner on LAN 2026-08-01 14:24:46 +08:00
op-collab-smoke feat(collab): allow cross-account collaboration 2026-08-01 13:01:24 +08:00
op-collab-transport fix(desktop): unblock native CI on windows and de-flake the idle heartbeat test 2026-08-08 12:48:59 +08:00
op-config-store test(desktop): keep persistence tests out of the real user config 2026-07-28 00:29:39 +08:00
op-design-lint fix(agent): repair text that is invisible against its own background 2026-08-02 21:21:13 +08:00
op-editor-core fix(web): recovery affordance, tenant-aware URLs, and restore isolation for online 2026-08-08 18:25:00 +08:00
op-editor-host-core feat(desktop): one-click mcp registration for twelve clis 2026-08-05 00:52:13 +08:00
op-editor-ui feat(web): mint collaboration-namespaced ids at every browser creation site 2026-08-08 12:36:56 +08:00
op-figma refactor: typed error enums across the whole workspace 2026-07-27 21:09:06 +08:00
op-git
op-host-desktop refactor(desktop): split chat-tab run binding out of keyboard_input 2026-08-08 11:52:34 +08:00
op-host-native refactor(desktop): extract collab runtime into op-collab-host crate 2026-08-07 19:55:26 +08:00
op-host-services fix(web): recovery affordance, tenant-aware URLs, and restore isolation for online 2026-08-08 18:25:00 +08:00
op-host-web fix(web): recovery affordance, tenant-aware URLs, and restore isolation for online 2026-08-08 18:25:00 +08:00
op-host-web-server refactor: dedupe cross-crate code and converge hardcoded literals 2026-07-26 11:24:22 +08:00
op-html fix(html): make web-snapshot text, icon and layout capture faithful 2026-08-05 22:15:09 +08:00
op-i18n fix(web): recovery affordance, tenant-aware URLs, and restore isolation for online 2026-08-08 18:25:00 +08:00
op-mcp fix(agent): inherit artboards for sibling screen continuations 2026-08-07 02:00:23 +08:00
op-opmerge chore(sync): integrate origin/v0.8.2 interactions and retry batch 2026-07-18 13:11:52 +08:00
op-orchestrator fix(agent): inherit artboards for sibling screen continuations 2026-08-07 02:00:23 +08:00
op-pen-loader feat(renderer): carry interactive widget semantics through scenes 2026-08-07 02:00:23 +08:00
op-process-io
op-rpc-transport fix(mcp): authenticate the live endpoint and degrade the bootstrap cache 2026-08-01 12:23:09 +08:00
op-smoke fix(agent): inherit artboards for sibling screen continuations 2026-08-07 02:00:23 +08:00
op-util feat(collab): add authenticated p2p collaboration 2026-07-29 00:06:58 +08:00
op-web-sdk feat(editor): give decks a full workspace of navigation, generation and export surfaces 2026-08-05 00:57:49 +08:00
CLAUDE.md feat(web): proxy collaboration participant avatars through the daemon 2026-08-08 12:55:37 +08:00