Repository navigation
Demo-session tooling for live user-testing sessions - #1834
michielbdejong wants to merge 4 commits into
Conversation
scripts/demo-session/demo-session.sh starts an isolated atomic-server and data-browser for a branch, with a fresh data dir, a dev-only interaction log and an in-page seed. See scripts/demo-session/README.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…n checklist A seeded note answered a task in the first session, so explanations move to code comments. Clicks and inputs in the table editor now log their row and column. The README gets the observer checklist: keep the browser pane visible, let the tester set phone width by dragging the pane. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A drive-app session has to run against atomic-plugins' pinned host commit, not a moving branch head, so a SHA gets a detached worktree. --build-only builds without starting anything, for when another session holds the ports. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merge-risk triage (2026-09-28). This is a read-only review of this PR's own diff. The rule it applies: nothing that works today may break for existing users or clients, and new behaviour is added alongside the old. The stack is being rebased onto Verdict: SAFE-WITH-FIX (the draft status is a formality; the work is finished) All new files are under Fix before merging: 🤖 Generated with Claude Code |
…ion proxy --plugin NAME builds atomic-plugins' integrations/NAME/app, starts the mock proxy (MOCK_SCENARIO=user-testing by default) and points the server and Vite at it. The issue-tracker seed installs the built app with createApp and handOverAppKey, as "New app" does. The README records two limits found on 2026-09-25: the desktop browser pane blocks sandboxed frames, and the host's ProxyConnectReturn fails under StrictMode in the dev build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Merged into develop through batch #1947 (squash Generated by Claude Code |
What this adds
scripts/demo-session/is a set of tools for running live user-testing sessions. One command starts an isolated atomic-server and data-browser for a branch or commit, then seeds demo data, and a developer-only interaction log lets someone watch what the tester does as they do it.scripts/demo-session/demo-session.sh develop # then open http://localhost:6757/app/dev-drive?demo-seed=calendarIsolated stack. Each run uses its own worktree and a fresh data, config and cache dir under
~/.cache/atomic-demo/sessions/<stamp>-<branch>/. The server runs on :9893 and Vite on :6757;--port/--vite-portchange them. A commit SHA gets a detached worktree.--build-onlyand--no-buildare there too.Builds only what's stale:
pnpm installdist/wasm/andlib/cargo build, withSKIP_WASM_BUILD=1andATOMICSERVER_SKIP_JS_BUILD=true(the server embeds a placeholder page, because the app comes from Vite)No signup.
/app/dev-drivecreates an agent and a drive in the browser.seed.jsthen builds the demo data through the app's ownbuildTableFromSpec/createPropertyOnClass, so nobody types a secret.Interaction log.
uxLogPlugin.tsis a Vite plugin withapply: 'serve', added only whenVITE_UX_LOG=trueby the config the script generates, so it can't end up in a production build. It appends events toux.jsonl:The
calendarseed has recurring, moved, all-day, multi-day and cross-timezone events, plus a table with a date column and no calendar view yet.Drive apps (
--plugin NAME). Uses an atomic-plugins checkout (--plugins-dir, withbrowser/linked).integrations/NAME/appand starts that repo's mock integration proxy on--mock-port, by default--port+ 10000. The scenario isMOCK_SCENARIO=user-testingby default (ontola/atomic-plugins#195);--mock-scenariochanges it.ATOMIC_INTEGRATION_PROXY_URL) and Vite (VITE_INTEGRATION_PROXY_URL) at that mock.issue-trackerseed installs the built app withcreateApp+handOverAppKey, the same path "New app" uses, and reads its source from/__demo-plugin/app.js.No app code changes: the logger wraps the data-browser's own
vite.config.tsfrom outside, so it also works on branches that predate it.Context
Used for user-testing session 1 (table calendar view), 25 Sep 2026. The findings are filed as #1792–#1808.
Test plan
demo-session.sh claude/demo-session-tooling: full build path, stack up, seed in about 3 s, calendar renders--build-onlyon a pinned commit (bc39dac4b)--plugin issue-trackeronbc39dac4bwith the App connect return fails in dev builds: ProxyConnectReturn redeems twice under StrictMode #1883 patch (2026-09-25). A headless run went through seed, connect, the repository picker and import (16 issues, 7 comments, about 33 s). No live session yet: the issue-tracker session moved to the usertest droplet.🤖 Generated with Claude Code