From 5d74ebdd915359025b8858484492e8638631faf4 Mon Sep 17 00:00:00 2001 From: Kyle Isom Date: Tue, 24 Mar 2026 19:33:04 -0700 Subject: [PATCH] Close open questions in server design doc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - No grid in web view (writing aid only) - No per-page share links for now (URL structure supports it later) - No server-side deletion — server mirrors tablet exactly via sync Co-Authored-By: Claude Opus 4.6 (1M context) --- docs/SERVER_DESIGN.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/SERVER_DESIGN.md b/docs/SERVER_DESIGN.md index 2585e72..8909624 100644 --- a/docs/SERVER_DESIGN.md +++ b/docs/SERVER_DESIGN.md @@ -406,15 +406,16 @@ rp_origins = ["https://pad.metacircular.net"] level = "info" ``` -## Open Questions +## Design Decisions -1. Should the web UI show the grid? It's excluded from PDF/JPG export - but might be useful for on-screen viewing. Could be a toggle. +1. **No grid in web view.** The grid is a writing aid on the tablet + only. SVG, JPG, and PDF renders are all gridless. -2. Should share links support per-page scope in addition to whole - notebook? The user said no for now, but the URL structure supports - it (`/s/:token/pages/:num`). +2. **No per-page share links for now.** The URL structure supports + per-page access (`/s/:token/pages/:num`), so adding it later is + trivial. For now, shared links always scope to the whole notebook. -3. Should the server support deleting individual pages, or only - full notebook replacement via sync? Full replacement is simpler - and matches the "server receives whatever the app pushes" model. +3. **No server-side page deletion.** The server is a mirror of the + tablet. `SyncNotebook` replaces all data for a notebook — if a + page was deleted on the tablet, it disappears from the server on + the next sync. The server never modifies notebook content.