Repository navigation
fix: stop the Keychain prompt from the menu and drop the deployment list - #20
Merged
Merged
Conversation
Opening the menu called hasCredentials, which read the Keychain on every menu update; the app is a non-activating panel, so macOS showed a password prompt that had no focused window to type into. The menu now reads a non-secret paired flag, polling starts when the app is active, and disconnect activates the app before touching the Keychain. A one-time migration adopts a connection made before the flag existed, so 0.3.4 users do not see Connect again and leave their old Worker token orphaned. The expanded notch listed every production deployment, which buried the sessions under metadata. The deployment section is gone; the badge and the notification body keep the useful signal.
enderdev01
force-pushed
the
fix/keychain-prompt-and-quiet-list
branch
from
November 4, 2026 05:41
51c8114 to
cf4d1bd
Compare
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.
Linked issue
Closes #19
What and why
StatusMenu.menuNeedsUpdatecalledvercel.hasCredentials, which read the Keychain on every menu update. The app is anon-activating panel, so macOS opened a Keychain prompt with no focused window: the first
keystroke went nowhere and only dismissing it (Deny) and retrying worked.
pairedflag (mirrored inUserDefaults), so opening it nevertouches the Keychain.
applicationDidBecomeActiveinstead of launch, so any prompt it does raisehas a focused window.
disconnect()activates the app before reading the Keychain.deployment (up to 100) above the sessions. That section is gone, along with the now-unused
DeploymentProgressview; the collapsed badge and the notification body keep the signal.Changes
Sources/AgentNotch/Infrastructure/VercelMonitor.swiftpairedflag, no Keychain read for the menu, start on activation, activate before Keychain useSources/AgentNotch/App/AppDelegate.swiftstart()moved toapplicationDidBecomeActiveSources/AgentNotch/UI/SessionListView.swiftSources/AgentNotch/UI/NotchRootView.swiftSources/AgentNotch/UI/AccentLine.swiftDeploymentProgressTests/AgentNotchTests/SessionListViewTests.swiftdocs/*How I tested it
swift build -c releasepassesswift testpasses (XCTest suites plus 7 Swift Testing tests)python3 scripts/check-strings.pypasses (89 strings in 3 languages)Notes
app may ask once. Reconnecting once from the installed build (or Always Allow) removes it for
that build. Removing the prompt entirely would need a Developer ID signature.
those stay in the notification body. If a hover summary comes back, it should be one line for
active deployments only, per
docs/vercel-notch-ux.md.and only needs a
wrangler deploy.