fix(webapp): the new-project dialog no longer opens itself on arrival (BEA-80) - #129
Open
ssowonny wants to merge 1 commit into
Open
fix(webapp): the new-project dialog no longer opens itself on arrival (BEA-80)#129ssowonny wants to merge 1 commit into
ssowonny wants to merge 1 commit into
Conversation
… (BEA-80) A signed-in account with zero projects landed on / with the create dialog already open over the onboarding page. The page renders its own "New project" button (#ob-new), so the same call to action appeared twice and the rear one was permanently pointer-intercepted — Playwright retried a click against it for 30s before failing. The auto-open was deliberate: "With no projects at all there is nothing else on the page to do." That stopped being true when the empty state gained the agent paste-prompt card — the route the docs treat as primary, which the dialog was covering. Delete the effect and its ref; fix the two comments that documented it; rewrite the e2e test that asserted the auto-open by name. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
TL;DR
#ob-newbehind it — Playwright retried that click for 30s before failing, twice.HubApp.tsx, plus two comments that documented it.upload.enabled === false) is verified by reading the code, not by a test — that branch is untouched by this diff and no e2e fixture serves a read-only hub.Closes BEA-80.
Why this reverses a deliberate decision
The auto-open was intentional, and the comment being deleted is that decision's written record:
That was true when it was written. It stopped being true when the empty state gained its second card — the paste prompt for Claude Code / Cowork / Codex / Gemini CLI, the agent-first route the docs sidebar puts on the critical path. The dialog was covering the recommended path in order to offer the secondary one.
What changed
src/apps/HubApp.tsx— theautoOpenedref and itsuseEffectare gone, anduseRefdrops out of the React import (it had exactly one use). The comment abovecreatingnow says the dialog never opens on its own, and why.src/components/EmptyState.tsx— the paragraph describing the auto-open ("This page is what is left when someone closes it") was false in every clause; replaced with what is true.e2e/hub.spec.ts— the test asserted the auto-open by name, so it's rewritten, not skipped:[role=dialog]count is 0 on arrival, and#ob-newopens the dialog on the first attempt (atrial: trueclick with a 2s timeout fails loudly if anything is ever intercepting it again).internal/webapp/static— rebuilt.Untouched:
createProject,NewProjectDialog, and all entry points (#ob-new, the sidebar+,ProjectNav'sonNew)./join/<token>is safe by construction — the deleted effect already returned early onjoinToken.Acceptance
go build ./...,go vet ./...go test ./...npm run e2esec14fe.spec.ts:300, pre-existingtest.skipon main)[role=dialog]on arrival, zero-project account#ob-newclick → dialog visible+on an account with projects/join/<token>npm run buildwas run ininternal/webapp/frontendand the rebuiltinternal/webapp/staticis committed.Build session
(only works on the machine that ran the build)