Add starter prompt suggestions to the empty conversation state#73
Open
DragonnZhang wants to merge 1 commit into
Open
Add starter prompt suggestions to the empty conversation state#73DragonnZhang wants to merge 1 commit into
DragonnZhang wants to merge 1 commit into
Conversation
Render a row of clickable starter-prompt chips beneath the centered composer on the empty conversation state (only while the composer is empty). Clicking a chip seeds the composer with a fuller prompt via the existing controlled-draft channel and focuses the input — it does not auto-send, so the user can edit before submitting. - New EmptyStateSuggestions component (4 build-oriented suggestions) - Wired into ChatDisplay's empty-state block; hides once the composer has content - 8 new i18n keys across all 7 locales - CDP assertion driving the full path (render -> click -> composer seeded -> suggestions hide) Closes #72
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.
Closes #72
What & why
A new conversation shows a centered composer under "What should we build?" and nothing else. Every comparable desktop client (Claude Code Desktop "prompt suggestions", ChatGPT / Codex example prompts) fills that blank canvas with clickable starting points. This adds the same to OpenWork.
What changed
EmptyStateSuggestions(new,apps/electron/src/renderer/components/app-shell/EmptyStateSuggestions.tsx) — a row of 4 build-oriented suggestion chips (Explain this codebase, Build a feature, Fix a bug, Write tests), each a localized label + icon.ChatDisplay— renders the chips beneath the centered empty-state composer, only while the composer is empty. Clicking a chip seeds the composer with the fuller localized prompt through the existing controlled-draft channel (onInputChange→inputValue) and focuses the input. It does not auto-send — the user can edit first. Chips disappear once the composer has content (seeded or typed).chat.suggestions.<id>.title/.prompt) added to all 7 locales.e2e/assertions/starter-suggestions.assert.tsdriving the full path.Frontend-only: no backend / qwen-code changes, no new IPC, no new persistence — content is static and localized, seeding reuses the path drafts already use.
Verification
bun run typecheck:allmain(11 pre-existing electron-typecheck baseline errors — missingvitesttypes + anauto-update.tstype issue — byte-identical with/without this change;packages/uiclean)bun testmain(56 pre-existing baseline failures byte-identical with/without this change)bun run electron:build:rendererbun run lint:i18n:paritybun run e2e)github.com/releasesreturns403under the sandbox egress policy;node_modules/electron/dist/electronis absent). The assertion is included and transpile-checked so it runs in CI / locally where Electron is available.CDP assertion coverage
The assertion drives the real UI end-to-end (not "it booted"):
[data-testid="empty-suggestions"].Generated by Claude Code