Skip to content

feat(desktop): effort pill + provider modal redesign + onboarding tour#9

Merged
OmGuptaIND merged 2 commits intomainfrom
OmGuptaIND/replay-tour-fix
Apr 22, 2026
Merged

feat(desktop): effort pill + provider modal redesign + onboarding tour#9
OmGuptaIND merged 2 commits intomainfrom
OmGuptaIND/replay-tour-fix

Conversation

@OmGuptaIND
Copy link
Copy Markdown
Contributor

Summary

  • Reasoning effort pill replaces the binary Thinking toggle with a 4-level cycle (Low / Medium / High / Extra high), wired end-to-end for both the Pi-SDK path (Session.setThinkingLevel) and the Codex harness (CodexHarnessSession.setThinkingLevel) via a new session_set_thinking_level protocol message. Custom signal-bar icon renders only the lit bars so the pill stays clean at every level. Alt+T shortcut.
  • Provider settings modal redesign — sectioned layout (live status header, API key, Models), formatted names + colour-tinted fast/balanced/reasoning tags, collapsible model list behind a disclosure, debounced sendProvidersList so rapid edits coalesce into one round-trip, live store subscription so hasApiKey/defaultModels stop going stale after a key save, and timer refs with unmount cleanup.
  • Onboarding tour — replace the legacy WelcomeModal with an inline OnboardingTour component and drop the associated screenshot asset.

Test plan

  • Cycle the effort pill on both an API-key provider (Pi-SDK) and the Codex harness and confirm the level flows through on the next turn.
  • Hidden for the claude-code harness (no CLI thinking flag).
  • Alt+T shortcut cycles levels.
  • Open Settings → AI Models → a provider, paste a key, and verify the status flips to "Connected" and stays connected after the 1.8s "Saved" flash.
  • Add/remove multiple models quickly — only one sendProvidersList fires after the debounce settles.
  • Close the modal mid-save: no console noise, no late setState warnings.
  • Onboarding tour appears on fresh install; skipping it persists across reload.

🤖 Generated with Claude Code

OmGuptaIND and others added 2 commits April 22, 2026 18:17
…arding tour

Reasoning effort
- Replace binary "Thinking" pill with a 4-level effort pill (Low/Medium/High/Extra high) that cycles on click and maps to pi-sdk `ThinkingLevel` + Codex `ReasoningEffort`.
- Wire runtime updates end-to-end: protocol message, server dispatcher, Session.setThinkingLevel (Pi-SDK), CodexHarnessSession.setThinkingLevel, store cycle helper, Alt+T shortcut.
- Custom signal-bar icon that shows only the lit bar count; no unlit markers so the pill never reads as having a divider.

Provider settings modal
- Full redesign: sectioned layout (header/status line, API key, Models) with formatted names, tag badges (fast/balanced/reasoning) and a collapsible disclosure for the model list.
- Subscribe to live provider snapshot from the store so `hasApiKey` and `defaultModels` reflect latest server state instead of the click-time prop.
- Debounced `sendProvidersList` relist so N rapid edits coalesce into one round-trip.
- Timer refs with unmount cleanup; no state updates after unmount.
- Extract shared `providerDisplayName` and `classifyModelTag` to `model-utils.ts` so the composer popover and settings modal share one classifier.

Onboarding tour
- Replace the welcome modal with an inline `OnboardingTour` component; remove the legacy `WelcomeModal` and its screenshot asset.
- UI store wiring for tour state.

Other
- Drop the "Balanced" tag from the composer's collapsed model selector button (still visible in the dropdown).
- Minor store/provider-handler cleanups + spec doc updates to match the new flows.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…r-fix

# Conflicts:
#	packages/desktop/src/components/chat/ModelSelector.tsx
@OmGuptaIND OmGuptaIND merged commit a0f6c15 into main Apr 22, 2026
@OmGuptaIND OmGuptaIND deleted the OmGuptaIND/replay-tour-fix branch April 22, 2026 12:54
OmGuptaIND added a commit that referenced this pull request Apr 24, 2026
### Features
- multi-format file attachments with @-mentions and preview renderers (#12)

### Fixes
- pnpm lock
- workspace safety net — no more /root EACCES, atomic writes, version handshake (#11)

### Chores
- clean up biome lint + format across repo

### Other
- feat(desktop): remove new-project attachments, add text-file creator in files view (#10)
- feat(desktop): reasoning effort pill + provider modal redesign + onboarding tour (#9)
- fix(desktop): honor real harness readiness in provider UI (#8)
- fix(harness): persist session title to meta.json across reloads (#7)
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