pcbjam/tests/web
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Istvan Matejcsok bb01f5d9e6 feat(read-only-viewer): editor viewer mode + kicadSetReadOnly binding
Anonymous / non-member sessions open PUBLIC projects as read-only viewers.

- kicadSetReadOnly(bool) embind (merged kicad_editor + pcbnew/eeschema/
  pl_editor TUs): sets the PCBJAM_READ_ONLY flag + Prj().SetReadOnly (greys
  the setup dialogs). Polls until the frame exists.
- read-only-mode.ts: resolveReadOnly(access, win) — server `access:"read"` or
  ?readonly=1 (narrow-only; no ?readonly=0). ToolPage threads it in, omits
  saveBytes (MEMFS-only saves).
- WasmTool: chrome force-hidden with a "View only" pill (toggle + Cmd+\
  disabled), presence/cross-app/comments/drift skipped, save-driven room
  writers unregistered, wasm frame locked via kicadSetReadOnly failing CLOSED
  (stale bundle → boot error, never a writable frame).
- collab: bindKicadCollab {readOnly} — inert DOWN hook, never seeds a room;
  UP observer + adopt stay live so peer edits render. index.ts / sheet-manager
  thread readOnly + drop initial awareness (invisible observer).
- Reference backend emits access:"write".

Bumps kicad + web/pcbjam-shared to the read-only-viewer commits.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012DN9py5GuPdExaaFzE4k27
2026-07-13 12:48:35 +02:00
..
chrome-toggle.spec.ts feat(mobile): Figma-like hide-UI toggle — Cmd/Ctrl+\ hotkey + floating button, snapshot-exact chrome restore 2026-07-09 16:15:37 +02:00
comments-viewport-resize.spec.ts fix(collab): re-push viewport on canvas resize — comment pins sat offset until pan/zoom 2026-07-10 09:25:14 +02:00
comments.spec.ts feat(collab): nth-in-room colors, comment toolbar + drag + global hide, luminance chip text 2026-07-07 21:09:23 +02:00
cross-probe.spec.ts feat(collab): cross-app selection — eeschema symbol ⇄ pcbnew footprint ghost highlight (collab-presence 0006) 2026-07-07 21:09:23 +02:00
eeschema-fp-selector.spec.ts feat(libs): eeschema symbol-chooser footprint selector + preview via publish-time fp-index 2026-07-07 21:09:21 +02:00
follow.spec.ts feat(collab): follow-user (collab-presence 0008) + chip depth-layer fix 2026-07-10 09:25:13 +02:00
footprint-browse-remote.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
footprint-write-remote.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
footprint-write-spike.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
global-setup-web.ts feat(scopes): migrate GPL open backend + web e2e to scope grammar 2026-06-30 09:54:50 +02:00
locks.spec.ts feat(collab): selection soft-locks — remote-selected items can't be dragged locally (collab-presence 0007) 2026-07-07 21:09:24 +02:00
mobile-editor.spec.ts feat(mobile): Figma-like hide-UI toggle — Cmd/Ctrl+\ hotkey + floating button, snapshot-exact chrome restore 2026-07-09 16:15:37 +02:00
presence-roster.spec.ts feat(collab): presence P1 — awareness transport + who's-here roster (collab-presence 0001) 2026-07-07 21:09:22 +02:00
quit-to-project.spec.ts feat(editor): File→Quit navigates back to the project page 2026-07-08 18:19:24 +02:00
read-only-editor.spec.ts feat(read-only-viewer): editor viewer mode + kicadSetReadOnly binding 2026-07-13 12:48:35 +02:00
symbol-write-remote.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
symbol-write-spike.spec.ts test(determinism): deterministic waits + stableShot screenshots; drop blind sleeps/ifs/retries 2026-07-07 10:50:24 +02:00
tool-switch.spec.ts feat(mobile): canvas-only mobile mode — pinch-zoom/pan/tap gestures + chrome-less editors 2026-07-09 16:15:37 +02:00
tools-open.spec.ts feat(tests): screenshot regression + Discord review, perf-tracked 2026-07-01 18:17:20 +02:00