Notebooks today are 100% client-side: persisted in the browser's IndexedDB (Dexie web-console DB — buffers.notebookViewState + the notebook_results table, src/store/db.ts, src/scenes/Editor/Notebook/useNotebookPersistence.ts). Nothing is stored server-side; the only sharing is file export/import (src/scenes/Editor/Monaco/exportTabs.ts / importTabs.ts). There is no notion of ownership, sharing, or read-only mode (only a per-query requireAllDQL check).
Request: "Shared notebooks" per instance — readable by all, or writable by multiple users — using QuestDB system tables + permissions. Real-time collaboration is explicitly out of scope.
Ask: persist shared notebooks in a server-side QuestDB table, gate read/write via QuestDB's permission/ACL system, and add UI to list/open shared vs. local notebooks. Reuse the existing NotebookViewState JSON serialization as the storage payload.
Notebooks today are 100% client-side: persisted in the browser's IndexedDB (Dexie
web-consoleDB —buffers.notebookViewState+ thenotebook_resultstable,src/store/db.ts,src/scenes/Editor/Notebook/useNotebookPersistence.ts). Nothing is stored server-side; the only sharing is file export/import (src/scenes/Editor/Monaco/exportTabs.ts/importTabs.ts). There is no notion of ownership, sharing, or read-only mode (only a per-queryrequireAllDQLcheck).Request: "Shared notebooks" per instance — readable by all, or writable by multiple users — using QuestDB system tables + permissions. Real-time collaboration is explicitly out of scope.
Ask: persist shared notebooks in a server-side QuestDB table, gate read/write via QuestDB's permission/ACL system, and add UI to list/open shared vs. local notebooks. Reuse the existing
NotebookViewStateJSON serialization as the storage payload.