Repository navigation
Open the demo in its meeting and answer the visitor's hi right away - #2208
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 onvisibilitychange, and the reply went throughnarrate(), 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: theResourceSavedlistener returned early whileselfSavingwas 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) andDemoRouteopens it; starting it lists it incurrentMeetings, and opening a live meeting already joins it and opens its chat. The reply to the user's hi composes quickly and sleeps withpauseWhenHidden: false. The listener no longer checksselfSaving; 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.tsadded, the Demo vitest suite (17) passes, typecheck and lint clean.demo-chat.spec.tshas 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
Generated by Claude Code