Mac app: default idle notification to off - #947
Merged
Conversation
Converged the TUI keymap into a per-key mac-app resolution (shortcuts, context menus, or deferred) via user brainstorm.
Converged with the user via investigation-grounded brainstorm: nested tree sidebar mode, dual-pane coordinator/agent detail view, and the REST nesting fields needed to drive it (finishing a pre-existing named follow-up in the rest-api base spec).
session.idle events fire constantly across a fleet of concurrent tasks with no dedupe, flooding the user with native notifications. Flip Preferences.notifyOnIdle to opt-in (default false); needs-input notifications stay default-on. Archives fix-mac-idle-notification-default. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
anutron
added a commit
that referenced
this pull request
Aug 22, 2026
Resolves conflicts with the sibling add-mac-keybinding-parity change (#946/#947), which merged first and, via shared branch ancestry from a common batch-brainstorm starting point, both (a) genuinely overlapped this branch in Sidebar.swift and (b) accidentally carried forward this branch's already-archived openspec/changes/add-mac-hera-rail-toggle/ scaffolding as "new" from master's perspective (that squash-merge had no shared file history with this branch's own archival commit, so git resurrected the stale, all-unchecked pre-work copy instead of treating it as already-deleted). Conflict resolution: - openspec/changes/add-mac-hera-rail-toggle/*: removed — resurrected stale/unarchived duplicate; this branch's completed, checked-off, base-spec-merged archive at openspec/changes/archive/2026-08-22-add-mac-hera-rail-toggle/ stands. - macos/Sources/Argus/Sidebar.swift: real merge — kept this branch's sidebar-mode Picker (Tasks/Projects toggle) at the top level, nested master's filter bar + task-name filtering inside the `.tasks` case (filtering has no meaning in the Hera tree), adopted master's navigationTitle/onDeleteCommand placement at the outer VStack level since those apply regardless of mode. - openspec/specs/macos-app/spec.md, context/knowledge/gotchas/macos-app.md, context/knowledge/index.md: purely additive on both sides (independent new requirements/gotcha entries) — concatenated, index.md bullet count corrected to reflect the merged total. - openspec/specs/rest-api/spec.md: auto-merged cleanly, no manual changes. Verified post-merge: go build ./... clean, make mac-build clean, make mac-test 266/266 passing (161 from this branch + 105 from add-mac-keybinding-parity), full `go test -race` suite green at 88.7% coverage (floor 88%), openspec validate --all --strict 61/0. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
5 tasks
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.
Summary
session.idleevents fire constantly across a fleet, andmaybeNotifyIdle(unlike the needs-input path) has no dedupe — every event posted a banner.Preferences.notifyOnIdle's default fromtruetofalse(opt-in instead of opt-out). The property, its UserDefaults key, and the existing Settings toggle are all unchanged — anyone who wants idle banners can still turn them on in Settings. Needs-input notifications stay default-on.openspec/specs/macos-app/spec.md's "Events integration" requirement to document the split defaults, via changefix-mac-idle-notification-default(archived on this branch).Test plan
make mac-buildpassesmake mac-testpasses (244 tests, 19 suites — includes the pre-existing suite plus master's newly-merged keybinding-parity tests)openspec validate --all --strictpassesSources/Argus(wherePreferences/AppStatelive) has no Swift test harness today — onlyArgusKitis wired into the test executable target. Pre-existing gap, out of scope for this one-line default flip; called out in the archived change'stasks.md.🤖 Generated with Claude Code