Skip to content

fix: harden Happy session flows and self-hosting - #1683

Open
Scoteezy wants to merge 4 commits into
slopus:mainfrom
Scoteezy:fix/harden-happy-session-flows
Open

fix: harden Happy session flows and self-hosting#1683
Scoteezy wants to merge 4 commits into
slopus:mainfrom
Scoteezy:fix/harden-happy-session-flows

Conversation

@Scoteezy

@Scoteezy Scoteezy commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Hardens Rig session creation, daemon ownership, self-hosted runtime configuration, persistence, and session UI flows.

  • Preserve selected worktrees while rejecting unsafe worktree names.
  • Keep Rig retries idempotent across pending responses, path normalization, and worktree naming changes.
  • Prevent stale daemon state from force-killing an unverified reused PID.
  • Keep session heartbeat suppression ownership-safe and reactivate restarted sessions.
  • Load self-hosted web runtime configuration safely under CSP and validate server URLs.
  • Correct project grouping, worktree labels, accessibility, Android text selection, and conversation text scaling.
  • Add configurable daemon idle and concurrency limits and reap detached, orphaned, and closed tmux session trees.
  • Isolate Claude startup from repository-controlled settings, hooks, and ambient MCP discovery.
  • Persist daemon resume state and fall back to provider-level resume when a Happy session is no longer locally tracked.

Validation

  • pnpm --filter happy-app typecheck
  • pnpm --filter happy-app test (954 tests)
  • pnpm --filter happy test (807 tests)
  • pnpm --filter happy-server typecheck
  • pnpm --filter happy-server typecheck:prod
  • pnpm --filter happy-server test (108 tests)
  • Session lifecycle targeted CLI tests (141 tests)
  • Resume fallback targeted app tests (9 tests)
  • pnpm --dir packages/happy-cli typecheck
  • git diff --check

Issues

Closes #1687.
Closes #1688.
Closes #1693.
Closes #1694.

Relates to #1677, #1657, #1654, #1652, and #1651.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment