Jeff Emmett
f8790c9934
docs: add data sovereignty architecture for Google imports and local file uploads
...
- Add GOOGLE_DATA_SOVEREIGNTY.md: comprehensive plan for secure local storage
of Gmail, Drive, Photos, Calendar data with client-side encryption
- Add LOCAL_FILE_UPLOAD.md: multi-item upload tool with same encryption model
for local files (images, PDFs, documents, audio, video)
- Update OFFLINE_STORAGE_FEASIBILITY.md to reference new docs
Key features:
- IndexedDB encrypted storage with AES-256-GCM
- Keys derived from WebCrypto auth (never leave browser)
- Safari 7-day eviction mitigations
- Selective sharing to boards via Automerge
- Optional encrypted R2 backup
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 04:47:22 -08:00
Jeff Emmett
b502a08c62
Implement offline storage with IndexedDB for canvas documents
...
- Add @automerge/automerge-repo-storage-indexeddb for local persistence
- Create documentIdMapping utility to track roomId → documentId in IndexedDB
- Update useAutomergeSyncRepo with offline-first loading strategy:
- Load from IndexedDB first for instant access
- Sync with server in background when online
- Track connection status (online/offline/syncing)
- Add OfflineIndicator component to show connection state
- Integrate offline indicator into Board component
Documents are now cached locally and available offline. Automerge CRDT
handles conflict resolution when syncing back online.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-26 03:03:37 -08:00
Jeff Emmett
e4743c6ff6
offline browser storage prep
2025-11-11 13:33:18 -08:00
Jeff Emmett
356f7b4705
coordinate fix
2025-11-11 01:08:55 -08:00
Jeff Emmett
5b40c8e862
fix coords
2025-11-11 00:57:45 -08:00
Jeff Emmett
6a70c5b538
remove coordinate reset
2025-11-11 00:53:55 -08:00
Jeff Emmett
8f00732f54
fix coordinates
2025-11-10 23:54:54 -08:00
Jeff Emmett
8e3db10245
preserve coordinates
2025-11-10 23:51:53 -08:00
Jeff Emmett
8bcbf082c5
shape rendering on prod
2025-11-10 23:36:12 -08:00
Jeff Emmett
eb4dafaf9b
fix coordinates
2025-11-10 23:25:44 -08:00
Jeff Emmett
0bea258d39
preserve coordinates
2025-11-10 23:17:16 -08:00
Jeff Emmett
7b15c9af4a
fix coordinates
2025-11-10 23:04:52 -08:00
Jeff Emmett
857e94fe6a
prevent coordinate reset
2025-11-10 23:01:35 -08:00
Jeff Emmett
5a8bfa41d2
update x & y coordinates
2025-11-10 22:42:52 -08:00
Jeff Emmett
d090142a70
fix prod
2025-11-10 22:27:21 -08:00
Jeff Emmett
96e3f08a7a
fix prod I hope
2025-11-10 20:53:29 -08:00
Jeff Emmett
e27dacc610
update dev and prod shape render
2025-11-10 20:16:45 -08:00
Jeff Emmett
333159b0da
fix prod shape render
2025-11-10 20:05:07 -08:00
Jeff Emmett
d64ba711b8
update prod shape render
2025-11-10 19:54:20 -08:00
Jeff Emmett
7151cc1419
update prod
2025-11-10 19:44:49 -08:00
Jeff Emmett
d006fd4fb1
fix shape rendering in prod
2025-11-10 19:42:06 -08:00
Jeff Emmett
be6b52a07f
fix shape deployment in prod
2025-11-10 19:26:44 -08:00
Jeff Emmett
f4e962fc45
fix prod deployment
2025-11-10 19:23:15 -08:00
Jeff Emmett
1b36b19c4d
update for prod
2025-11-10 19:21:22 -08:00
Jeff Emmett
d65c37c405
update production shape loading
2025-11-10 19:15:36 -08:00
Jeff Emmett
365ad2f59f
switch from github action to cloudflare native worker deployment
2025-11-10 19:05:11 -08:00
Jeff Emmett
ae90f4943d
updates to production
2025-11-10 18:57:04 -08:00
Jeff Emmett
face742eef
fix cloudflare
2025-11-10 18:48:39 -08:00
Jeff Emmett
664d0ca9c5
update for shape rendering in prod
2025-11-10 18:43:52 -08:00
Jeff Emmett
c44056cf79
fix production automerge
2025-11-10 18:29:19 -08:00
Jeff Emmett
061b3871fe
fix prod
2025-11-10 18:10:55 -08:00
Jeff Emmett
59562e07c5
final automerge errors on cloudflare
2025-11-10 18:01:36 -08:00
Jeff Emmett
7584ea7a11
fix final bugs for automerge
2025-11-10 17:58:23 -08:00
Jeff Emmett
2d0ae80e50
shape viewing bug fixed
2025-11-10 15:57:17 -08:00
Jeff Emmett
e2fcd755ad
update automerge bug fix
2025-11-10 15:41:56 -08:00
Jeff Emmett
1c50f2eeb0
final update fix old data conversion
2025-11-10 15:38:53 -08:00
Jeff Emmett
f250eb3145
update automerge
2025-11-10 14:44:13 -08:00
Jeff Emmett
d2fd1c0fac
fix typescript errors
2025-11-10 14:36:30 -08:00
Jeff Emmett
55f10aeb2b
update to prod
2025-11-10 14:24:17 -08:00
Jeff Emmett
6a870f8c67
update worker
2025-11-10 14:18:23 -08:00
Jeff Emmett
961a8c6a56
update renaming to preserve old format
2025-11-10 14:11:18 -08:00
Jeff Emmett
54ea893ea6
Merge pull request #10 from Jeff-Emmett/automerge/obsidian/transcribe/AI-API-attempt
...
Automerge/obsidian/transcribe/ai api attempt
2025-11-10 14:02:21 -08:00
Jeff Emmett
417f9befae
more updates to convert to automerge
2025-11-10 14:00:46 -08:00
Jeff Emmett
02949fb40a
updates to worker
2025-11-10 13:50:31 -08:00
Jeff Emmett
4c67e3806d
Merge pull request #9 from Jeff-Emmett/automerge/obsidian/transcribe/AI-API-attempt
...
Automerge/obsidian/transcribe/ai api attempt
2025-11-10 13:44:24 -08:00
Jeff Emmett
7d8bd335fc
update to fix deployment
2025-11-10 13:41:17 -08:00
Jeff Emmett
abfbed50e1
final updates to Automerge conversion
2025-11-10 13:34:55 -08:00
Jeff Emmett
bd502ac781
Merge pull request #8 from Jeff-Emmett/automerge/obsidian/transcribe/AI-API-attempt
...
Automerge/obsidian/transcribe/ai api attempt
2025-11-10 12:54:19 -08:00
Jeff Emmett
5c7f74ce44
Merge pull request #7 from Jeff-Emmett/main
...
Merge pull request #6 from Jeff-Emmett/automerge/obsidian/transcribe/…
2025-11-10 12:52:37 -08:00
Jeff Emmett
8a45c16b5c
update package.json, remove cloudflare worker deployment
2025-11-10 12:46:49 -08:00