feat: suppress Stop event cards; bump to 1.4.0#15
Merged
Conversation
The "Finished Responding" card was the only signal a session had finished before the live status system existed. Now that the session header shows Idle/Working, the card is redundant noise. Stop events still update session state and dismiss stale permission cards — they just no longer insert a visible card into the event list. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…o events, restore UserPromptSubmit hook, fix color descriptions - evict(sessionID:) now clears contextAlertLevels and contextAlertEventIDs, dismissing any outstanding alert cards. Previously these grew unboundedly over a long Navi session. - Liveness prune now removes orphaned info events for pruned sessions and calls evict/evictUnused, matching the cleanup done by dismissSession(). - Restore UserPromptSubmit hook — the hook provided fast dismissal of stale pending permission cards when a new user turn started, which the ~/.claude/sessions/ polling path does not cover. - Fix contextBar color description: comment and settings subtitle both said "teal → yellow → orange → red" but the actual logic is teal → orange → red. Also document the 200K fallback cap when both thresholds are disabled. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Member
Code reviewFound 2 issues:
navi/Sources/NaviCore/EventMonitor.swift Lines 173 to 185 in f3e640a
navi/Sources/NaviCore/EventMonitor.swift Lines 226 to 236 in f3e640a 🤖 Generated with Claude Code - If this code review was useful, please react with 👍. Otherwise, react with 👎. |
- Stop sound fired silently because newEventTypes.insert was outside the DispatchQueue block containing the guard. Gate it on event.type != "stop". - Liveness prune was only removing info events for pruned sessions; change to !isPending to match dismissSession and clean up all orphaned cards. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
tarkatronic
approved these changes
Jun 10, 2026
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
Suppress "Finished Responding" stop cards (
1682da2)The "Finished Responding" card predated the live session status system. Now that the session header shows Idle/Working with a timestamp, the card is redundant noise. Stop events still update session state and dismiss stale permission cards — they just no longer insert a visible card.
Version bump to 1.4.0 (
eb79e48)Covers the features shipped in #14: info event API, context window alerts, context size bar, settings overhaul, and sticky-card/resolve fixes.
Fix PR #14 review issues (
f3e640a)evict(sessionID:)now clearscontextAlertLevelsandcontextAlertEventIDs, dismissing any outstanding alert cards. Previously both dicts grew unboundedly over a long Navi session.evict/evictUnused, matching the cleanup already done bydismissSession.UserPromptSubmithook — its real value was fast-dismissal of stale pending permission cards when a new user turn starts, which the~/.claude/sessions/polling path does not cover.contextBarcolor description: comment and settings subtitle both said "teal → yellow → orange → red" but the actual logic is teal → orange → red. Also document the 200K fallback cap when both thresholds are disabled.Test plan
swift testpasses🤖 Generated with Claude Code