Skip to content

fix: daemon lifecycle, hook detection, metrics, TUI shimmer#98

Merged
cyyever merged 4 commits intomainfrom
macos2
Mar 18, 2026
Merged

fix: daemon lifecycle, hook detection, metrics, TUI shimmer#98
cyyever merged 4 commits intomainfrom
macos2

Conversation

@cyyever
Copy link
Collaborator

@cyyever cyyever commented Mar 18, 2026

Summary

  • Defer agent config restore: use defer RestoreAgentConfigs() after PatchAgentConfigs so normal shutdown always restores configs; crust stop handles crash case
  • Signal registration race: move signal.Notify before ListenAndServe to prevent missing early SIGTERM
  • Stale eval port file: skip writePortFile(0) when eval server fails to start
  • Hook detection: read settings.json instead of removed hooks.json for Claude Code hook detection
  • Metrics reset: include HookBlocks and HookAllowed in Metrics.Reset()
  • TUI shimmer: fix false shimmer on first data fetch using sentinel -1 for prevBlocked

Test plan

  • go build ./... passes
  • go vet ./... passes
  • Pre-commit hooks pass (gofmt, golangci-lint, nilaway, gitleaks, govulncheck, go test)
  • CI green

cyyever added 3 commits March 18, 2026 16:02
…-block

- isClaudeHookInstalled now reads ~/.claude/settings.json (was hooks.json)
- Metrics.Reset() clears HookBlocks and HookAllowed counters
- Dashboard shimmer animation fires on first block event (0→1 transition)
- Update TestMetrics_GetStats for hook counter keys
- Use defer for RestoreAgentConfigs after PatchAgentConfigs so normal
  shutdown always restores configs (crust stop handles crash case)
- Register signal handler before ListenAndServe to prevent a race where
  SIGTERM arrives before signal.Notify is called
- Skip writePortFile when eval server fails (port 0) to avoid hook
  processes connecting to nothing
- Explicitly discard conn.Write errors in eval server TCP handler
- Explicitly discard gzReader.Close error in response decompression
Fixes gosec G306 (WriteFile permissions too broad).
@cyyever cyyever merged commit acebbc2 into main Mar 18, 2026
16 checks passed
@cyyever cyyever deleted the macos2 branch March 18, 2026 08:30
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