Skip to content

Open the demo in its meeting and answer the visitor's hi right away - #2208

Merged
joepio merged 1 commit into
developfrom
claude/onboarding-demo-meeting
Oct 11, 2026
Merged

joepio merged 1 commit into
developfrom
claude/onboarding-demo-meeting

Conversation

@joepio

@joepio joepio commented Oct 10, 2026

Copy link
Copy Markdown
Member

Before: the "Try the app" demo opened on the kanban board, Mara's dialogue said "AtomicServer", and after the visitor typed "Hi" the chat could sit unanswered until they switched back to the tab. Her reply, "there they are! welcome aboard", talked about them rather than to them.

After: the visitor lands in the onboarding meeting with its chat open. Mara welcomes them and asks them to say hi, answers "Hi {first name}! 👋 Welcome to the team" within about a second (also with the tab hidden), and only then takes them to the board, where "Say hi in the meeting chat" ticks to Done. The dialogue says atomic.place.

Why it got stuck: DemoDirector.sleep() pauses while the tab is hidden and only resumes on visibilitychange, and the reply went through narrate(), which sleeps first. On the old code, a hi typed just before hiding the tab was answered 8.5 s later, right after the tab was shown again. A second path: the ResourceSaved listener returned early while selfSaving was up, so a hi typed during one of the director's own saves was dropped.

How: the meeting is created with the demo workspace (manifest.meeting) and DemoRoute opens it; starting it lists it in currentMeetings, and opening a live meeting already joins it and opens its chat. The reply to the user's hi composes quickly and sleeps with pauseWhenHidden: false. The listener no longer checks selfSaving; its author check already tells the user's line from the personas'. The greeting is a small pure helper (greeting.ts) with a vitest. The welcome doc's typed meeting invite is gone; the "demo of atomic.place" note is now typed into the meeting notes.

Tests: greeting.test.ts added, the Demo vitest suite (17) passes, typecheck and lint clean. demo-chat.spec.ts has a new test for the meeting landing, the greeting within 5 s, and the move to the board; it was not run locally (the flow was driven with a Playwright script against a local server and vite instead).

Related Issues

Reported by Joep in the project chat.

Checklist

  • Add changelog entry linking to issue, describe API changes (no API change)
  • Add or update tests if needed
  • Update docs if needed

Generated by Claude Code

The demo opened on the kanban board, said "AtomicServer", and could leave
the visitor's "Hi" unanswered: Mara's reply slept through a hidden tab and
only arrived once the tab was shown again, and a hi typed during one of the
director's own saves was dropped.

The visitor now lands in the onboarding meeting with its chat open. Mara
welcomes them, asks for a hi, greets them by name within a second (also in
a hidden tab), and only then takes them to the board, where the "Say hi"
card ticks to Done. The dialogue says atomic.place.
@joepio
joepio merged commit 93f23c8 into develop Oct 11, 2026
8 checks passed
@joepio
joepio deleted the claude/onboarding-demo-meeting branch October 11, 2026 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant