Skip to content

Mac app: default idle notification to off - #947

Merged
anutron merged 10 commits into
masterfrom
argus/mac-notif-idle-flood-fix
Aug 22, 2026
Merged

Mac app: default idle notification to off#947
anutron merged 10 commits into
masterfrom
argus/mac-notif-idle-flood-fix

Conversation

@anutron

@anutron anutron commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • The macOS companion app was flooding the user with native "is idle" notifications while watching many concurrent argus tasks: session.idle events fire constantly across a fleet, and maybeNotifyIdle (unlike the needs-input path) has no dedupe — every event posted a banner.
  • Flips Preferences.notifyOnIdle's default from true to false (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.
  • Updates openspec/specs/macos-app/spec.md's "Events integration" requirement to document the split defaults, via change fix-mac-idle-notification-default (archived on this branch).

Test plan

  • make mac-build passes
  • make mac-test passes (244 tests, 19 suites — includes the pre-existing suite plus master's newly-merged keybinding-parity tests)
  • openspec validate --all --strict passes
  • Note: Sources/Argus (where Preferences/AppState live) has no Swift test harness today — only ArgusKit is wired into the test executable target. Pre-existing gap, out of scope for this one-line default flip; called out in the archived change's tasks.md.

🤖 Generated with Claude Code

anutron and others added 10 commits August 21, 2026 11:52
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
anutron merged commit 9a4dee7 into master Aug 22, 2026
1 check passed
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)
@anutron
anutron deleted the argus/mac-notif-idle-flood-fix branch August 23, 2026 03:53
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