Skip to content

feat: deployment hardening for notification bridge #22

Description

@ShunmeiCho

Context

E2E testing on venus (2026-04-02) exposed several deployment friction points. The notification bridge works end-to-end but requires manual steps that should be automated.

Issues Found During E2E

P0: Stale sshd RemoteForward port cleanup

  • Old SSH sessions leave sshd child processes in CLOSE_WAIT holding port 18339
  • New SSH connections' RemoteForward silently fails
  • cc-clip connect should detect and offer to clean up stale processes on remote
  • At minimum: fail-fast with actionable error message instead of silent failure

P1: cc-clip doctor diagnostic command

  • One-command diagnosis of entire notification chain
  • Check: daemon running, tunnel alive, shim installed, hook script version, nonce registered, Claude Code hooks configured, Codex notify configured
  • Offer auto-fix for detected issues

P2: Daemon binary version consistency

  • After rebuild, old daemon must be restarted manually
  • cc-clip serve should detect version mismatch and warn/auto-restart
  • Consider cc-clip service upgrade for launchd-managed daemon

P3: SSH LocalCommand for automatic port cleanup (docs only)

  • Document optional SSH config with PermitLocalCommand + LocalCommand for users who prefer plain ssh over cc-clip connect
  • Not a default recommendation, just a documented option

Relates to

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions