Skip to content

fix(gui): remove empty-chat starter prompts - #923

Draft
justrach wants to merge 55 commits into
release/v0.0.297from
release/v0.0.298
Draft

fix(gui): remove empty-chat starter prompts#923
justrach wants to merge 55 commits into
release/v0.0.297from
release/v0.0.298

Conversation

@justrach

Copy link
Copy Markdown
Owner

What changed

The empty chat view no longer shows generic starter chips or Shuffle suggestions.

Why

Those prompts are hardcoded and unrelated to the current task. Greeting, project folder, and the composer stay.

Fixes #910

Verification

  • grep STARTER_PROMPTS in apps/native ts/tsx: no matches
  • scripts/eval-tier1.sh: green

justrach and others added 30 commits September 13, 2026 08:35
Keep direct AppKit extraction while separating helper launch, timeout, denial, clipboard churn, and export failures. Generic failures must not recommend Automation permission. Discard stale retry output and retain actionable paste alternatives.

Keep subprocess deadlines active after pipe EOF and avoid overlapping cleanup of captured stdout. Add named-pasteboard, injected failure, runner, and headless paste regressions.

Fixes #883. Fixes #891.
Compare resolved provider/model identity before announcing a switch. Keep explicit selection persistence and configuration refreshes, and let the legacy callback report provider-only changes. Allocate the callback result before changing selection so allocation failure does not contradict the displayed outcome.

Add terminal, picker, callback, persistence, and allocation regressions plus an offline real-binary confirmation check in CI.
Clipped previews and silent eviction made inbox reads appear complete when they were not. Own full message strings, persist loss accounting across resume, and clear unread state only after the complete read result is allocated. Keep the bounded pull mailbox and advisory wakes.

Cover content ownership, overflow, allocation-failure retries through inbox dispatch, legacy resume, and live delivery. Fixes #865.
Inject an owned destination into the existing extraction loop so failure and cleanup tests use a private temporary directory on every platform. The live macOS path still chooses its randomized scratch filename.
The preference fixture starts on the provider it explicitly selects. Assert that initial state and expect already-using wording while retaining the persistence and fallback checks.
Desktop launches can inherit a restricted PATH, hiding installed CLI tools. Recover PATH once from a bounded login-shell probe before starting child processes, preserving inherited precedence and adding standard macOS fallback directories. Import no other shell environment variables and leave other platforms unchanged.
The empty chat view showed generic chips and a shuffle control that
are not about the current task. Drop STARTER_PROMPTS and the
suggestion list. Greeting, project card, and composer stay.

Fixes #910
Route Cmd/Ctrl+Enter in a busy composer to the existing queue steerer instead of fullscreen. Reuse its cancellation and queue-drain guards so the next queued message runs once without consuming an unsent draft. Leave ordinary Enter and other desktop shortcuts unchanged, and exclude legacy IME confirmation from desktop shortcuts.

Cover empty-composer steering, draft retention, chat isolation, and exactly-once dispatch through the composer interaction suite.
Request composer focus on explicit navigation, including repeated selection, without redirecting ordinary pane interaction. Focus the destination in the navigation commit so later renders do not steal typing focus.

Wait for trusted wheel delivery at the intended scroller instead of treating a fixed delay as delivery evidence. Preserve strict event and scroll assertions, and establish renderer focus before measuring input targets.

Add real-pointer navigation coverage. Verified the desktop unit suite, production build, interaction and repeated overflow suites, delayed and dropped wheel fault checks, and the full tier-1 gate.
Exercise parking allocation failures with leak-tracked storage, mixed mailbox transitions against an independent FIFO, malformed and escaped snapshots, and live overflow across multiple drains. A test-only allocator override makes storage ownership failures observable without changing the production allocator.
Keep incremental citation state separate for reasoning and answer rendering, and clear it at stream boundaries. Completed-text filtering alone missed split annotations in live prose and completion arguments. Keep structured output unchanged.

Fixes #874
Identify the active provider/model seat, use the familiar auto-accept label for the permissive mode, and label context and cache percentages so the standing footer is understandable at a glance. Add direct and simulator regressions without adding another screen row or changing narrow-terminal geometry.
Keep model-visible names valid and bounded across deferred loading while preserving server selection and original tool dispatch. Add naming and routing regressions.

Fixes #930.
Retain distinct sender counts and existing release coverage while adopting explicit read failures and robust legacy restoration.
Preserve quiet-request rendering guards and existing release coverage while adding independent citation stream filters.
The publication guard tokenized entire shell payloads, so quoted arguments and heredoc bodies could look like executable GitHub writes. Classify executable command positions and shell boundaries instead, while preserving real git, gh, compound-command, and shell-wrapper enforcement.
Preserve release behavior while ignoring inert command text.
…-pane-readability

# Conflicts:
#	evals/harness_behavior.jsonl
Simplify desktop controls, preserve pane usability, separate unread completions from running state, and allow queued steering before the first response.
Preview composer images and compact sent attachments
Keep ACP startup responsive and clean up failed handshakes
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.

2 participants