Skip to content

Notebooks: shared notebooks per QuestDB instance, stored server-side with permission-based access #578

Description

@emrberk

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Severity: 1enhancementNew feature or requestnotebooksIssues relevant to the notebooks featureweb-consoleIssues relevant to "web-console" package

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions