Skip to content

Add launch at login and keyboard navigation in the picker - #12

Merged
yoavf merged 2 commits into
mainfrom
claude/quizzical-bohr-cc0487
Oct 25, 2026
Merged

yoavf merged 2 commits into
mainfrom
claude/quizzical-bohr-cc0487

Conversation

@yoavf

@yoavf yoavf commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

What changed

Launch at login (SettingsView.swift)

  • New "Launch Continuo at login" toggle at the top of Settings → General, backed by SMAppService.mainApp.
  • State is read back from the system after every change (and when the app becomes active), not mirrored into UserDefaults, since users can also flip it in System Settings.
  • The footer explains .requiresApproval with an "Open Login Items…" button, and shows registration errors (e.g. when running a non-bundled swift run build).

Keyboard navigation in the picker (SessionPickerView.swift)

  • Search is focused when the picker opens and when returning from the continue view.
  • ↑/↓ move a single highlight shared with pointer hover; the list scrolls to keep it visible.
  • Return opens the highlighted session. Like Spotlight, the top result is highlighted by default, so type-then-Return opens the best match. Changing the query resets the highlight to the top.
  • The continue view already handled Return/Esc via default/cancel actions, so it's unchanged.

Why

Continuo is a menu-bar app but had no way to start at login, and the ⌥⌘S "Spotlight-like" picker required the mouse to choose a session.

Testing

  • swift test passes (23 tests).
  • A temporary probe test hosted a SwiftUI TextField with the same onKeyPress/onSubmit modifiers in a real window and sent ↓ ↓ ↑ Return key events; all four reached the handlers while SwiftUI's field editor was first responder. (Probe not committed.)
  • Not yet verified by hand: login-item registration from the packaged app, and the picker UI end to end.

🤖 Generated with Claude Code

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge; the previous scrolling finding is addressed.

Summary

Adds launch-at-login controls and keyboard navigation in the session picker.

  • The session picker lets you choose a result with the keyboard.
  • Continuo can start at login when you turn it on in General settings.

Reviews (2) · Last reviewed commit: "Scroll to the effective highlight after ..." · Reviewed by Greptile

Settings gains a "Launch Continuo at login" toggle backed by
SMAppService.mainApp. Its state is read back from the system rather than
stored in UserDefaults, and the footer surfaces approval-required and
registration errors with a shortcut to Login Items.

The session picker focuses search on open; up/down move a shared
highlight (pointer hover moves it too) and Return opens the highlighted
session. The top result is highlighted by default, Spotlight-style.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Download this PR build

Download Continuo preview

Signed and notarized macOS preview for commit 5654e25. The link expires after 7 days and requires GitHub sign-in.

Comment thread Sources/AgentSyncApp/SessionPickerView.swift Outdated
A query edit resets highlightedID to nil, which falls back to the top
result; the scroll handler skipped nil and left that row off-screen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@yoavf
yoavf merged commit 9b41878 into main Oct 25, 2026
2 checks passed
@yoavf
yoavf deleted the claude/quizzical-bohr-cc0487 branch October 25, 2026 13:41
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