• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

umputun / revdiff
90%
master: 90%

Build:
Build:
LAST BUILD BRANCH: fix/revdiff-skill-timeout-recovery
DEFAULT BRANCH: master
Repo Added 01 Apr 2026 08:15AM UTC
Token zpy25XdTlXkHx5U3syYGatR9U5X0sk8oe regen
Build 827 Last
Files 74
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH feat/tmux-detached-session-backend
branch: feat/tmux-detached-session-backend
CHANGE BRANCH
x
Reset
Sync Branches
  • feat/tmux-detached-session-backend
  • 258-fix-auto-scroll
  • add-collapsed-flag
  • agent/filter-unreviewed-files
  • agterm-overlay-backend
  • all-files-mode
  • annotation-list-popup
  • annotation-rowcache
  • auto-light-dark-theme
  • ci-shellcheck-yaml
  • code-smells-cleanup
  • codex-plugin
  • collapsed-diff-mode
  • commit-info-popup
  • community-themes
  • compact-diff-mode
  • compact-improve
  • compare-flag
  • custom-keybindings
  • daulet/new_file
  • daulet/word_highlight
  • dependabot/github_actions/actions/checkout-7
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.24.1
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.25.0
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.26.1
  • dependabot/go_modules/github.com/alecthomas/chroma/v2-2.27.0
  • dependabot/go_modules/github.com/charmbracelet/x/ansi-0.11.7
  • dependabot/go_modules/github.com/mattn/go-runewidth-0.0.23
  • dependabot/go_modules/github.com/mattn/go-runewidth-0.0.24
  • diff-search
  • discard-quit
  • docs/pi-package-review-fixes
  • eager-commit-fetch
  • exit-code-on-annotations
  • external-editor-annotations
  • feat/add-flake-nix
  • feat/agent-deck-window-backend
  • feat/annotation-marker
  • feat/cmux-support
  • feat/herdr-backend
  • feat/history-skill-fallback
  • feat/jj-support
  • feat/launch-script-improvements
  • feat/navigation-scrollbar
  • feat/one-light-chroma-style
  • feat/open-editor-keymap
  • feat/opencode-config-docs
  • feat/overlay-mouse-support
  • feat/preload-annotations
  • feat/review-info-overlay
  • feat/reviewed-diff-fingerprints
  • feat/reviewed-files-and-status-indicators
  • feat/scroll-indicators
  • feat/scrollbar-thumb
  • feat/stdin-scratch-buffer
  • feat/toggle-tree-pane
  • feat/tree-focus-diff-scroll
  • feat/untracked-flag
  • feat/wheel-scroll-viewport-only
  • feat/word-diff-highlighting
  • feat/word-diff-opt-in
  • feat/zed-revdiff-task
  • feature/annotation-navigation
  • feature/binary-file-detection
  • feature/layout-agnostic-keys
  • feature/layout-agnostic-keys-v2
  • feature/new-file-and-untracked-support
  • feature/range-hunk-annotations
  • fix-ctrl-du-half-page
  • fix-file-annotation-bugs
  • fix-initial-loading-flash
  • fix-marketplace-name-in-docs
  • fix-prefix-fg-on-highlighted-lines
  • fix-tmux-title-compat
  • fix-tree-wheel-single-step
  • fix-wheel-scroll-coalesce
  • fix-wrap-right-padding
  • fix/124-page-cursor-relative-position
  • fix/agterm-overlay
  • fix/center-hunk-in-viewport
  • fix/cmux-close-surface-recycled-ref
  • fix/cmux-ghostty-detection
  • fix/cmux-send-stdout-leak
  • fix/diff-viewport-visual-height-scroll
  • fix/ghostty-improvements
  • fix/issue-203-zellij-popup-size
  • fix/kitty-ssh-remote-launch
  • fix/launcher-argument-quoting
  • fix/only-dot-prefix
  • fix/overlay-path-inheritance
  • fix/pi-revdiff-review-trigger
  • fix/revdiff-skill-timeout-recovery
  • fix/staged-only-empty-diff
  • fix/subdirectory-support
  • fix/theme-persist-ini-section
  • fix/untracked-renames
  • fix/zellij-plan-review-pane-size
  • global-hunk-navigation
  • hunk-keyword-expansion
  • in-session-annotation-flush
  • include-filter
  • intraline-word-diff
  • iterm2-osascript
  • launcher-override-chain
  • leader-chord-keybindings
  • line-numbers
  • markdown-toc-navigation
  • master
  • mercurial-support
  • mouse-support
  • move-code-to-app
  • only-filter
  • open-focused-file-editor
  • overlay-extraction
  • pi-revdiff-claude-workflow
  • refs/tags/v0.1.0
  • refs/tags/v0.1.1
  • refs/tags/v0.10.0
  • refs/tags/v0.11.0
  • refs/tags/v0.12.0
  • refs/tags/v0.13.0
  • refs/tags/v0.14.0
  • refs/tags/v0.14.1
  • refs/tags/v0.15.0
  • refs/tags/v0.15.1
  • refs/tags/v0.15.2
  • refs/tags/v0.15.3
  • refs/tags/v0.16.0
  • refs/tags/v0.16.1
  • refs/tags/v0.17.0
  • refs/tags/v0.18.0
  • refs/tags/v0.18.1
  • refs/tags/v0.19.0
  • refs/tags/v0.19.1
  • refs/tags/v0.19.2
  • refs/tags/v0.2.0
  • refs/tags/v0.2.1
  • refs/tags/v0.2.2
  • refs/tags/v0.2.3
  • refs/tags/v0.2.4
  • refs/tags/v0.20.0
  • refs/tags/v0.21.0
  • refs/tags/v0.22.0
  • refs/tags/v0.23.0
  • refs/tags/v0.24.0
  • refs/tags/v0.25.0
  • refs/tags/v0.25.1
  • refs/tags/v0.26.0
  • refs/tags/v0.26.1
  • refs/tags/v0.27.0
  • refs/tags/v0.27.1
  • refs/tags/v0.28.0
  • refs/tags/v0.3.0
  • refs/tags/v0.4.0
  • refs/tags/v0.4.1
  • refs/tags/v0.4.2
  • refs/tags/v0.5.0
  • refs/tags/v0.6.0
  • refs/tags/v0.7.0
  • refs/tags/v0.7.1
  • refs/tags/v0.7.2
  • refs/tags/v0.8.0
  • refs/tags/v0.9.0
  • refs/tags/v1.0.0
  • refs/tags/v1.1.0
  • refs/tags/v1.1.1
  • refs/tags/v1.10.0
  • refs/tags/v1.11.0
  • refs/tags/v1.2.0
  • refs/tags/v1.2.1
  • refs/tags/v1.3.0
  • refs/tags/v1.4.0
  • refs/tags/v1.4.1
  • refs/tags/v1.5.0
  • refs/tags/v1.5.1
  • refs/tags/v1.6.0
  • refs/tags/v1.6.1
  • refs/tags/v1.7.0
  • refs/tags/v1.7.1
  • refs/tags/v1.8.0
  • refs/tags/v1.9.0
  • refs/tags/v1.9.1
  • reload
  • rename-aware-diffs
  • revert/197-opencode-symlink
  • revert/opencode-setup-symlink
  • review-findings
  • review-history
  • search-history
  • shell-completions
  • sidepane-extraction
  • single-column-line-numbers-full-context
  • single-file-mode
  • skill-opencode-timeout-fix
  • skill-scripts-hg-jj
  • skill-use-claude-skill-dir
  • status-bar-line-number
  • status-line-help-overlay
  • structural-refactor
  • style-extraction
  • theme-support
  • two-ref-diff
  • ui-package-split
  • update-pi-extension-agent-tool
  • vim-motion-preset
  • widen-annot-list-popup
  • word-wrap
  • worddiff-extraction
  • worktree-bugfix
  • worktree-no-git-file-review
  • wrap-marker-style

15 Jul 2026 07:00AM UTC coverage: 89.934%. Remained the same
29396028026

Pull #263

github

kylesnowschwartz
feat(launch): run tmux reviews in a detached session with popup attach

The tmux backend previously ran revdiff directly inside display-popup,
so closing the popup killed the review. Now the launcher creates a
detached session (revdiff-<pid>) running revdiff and opens the popup as
a client attached to it: detaching backgrounds the review with all
state intact, and completion is signalled by a sentinel file (the same
pattern the zellij/kitty backends use) instead of popup exit.

Session handling details:
- follow-up tmux calls target the session ID from new-session -P -F,
  since name targets prefix-match and set-option rejects the = prefix
- per-session options: status off, detach-on-destroy on,
  destroy-unattached off, and @revdiff_title stashed for custom
  reattach bindings
- INT/TERM traps kill the invisible session so a cancelled launcher
  cannot leak it
- a failing display-popup (tmux < 3.2) kills the session and exits
  instead of waiting forever on the sentinel

New REVDIFF_TMUX_SESSION_OPTIONS env var applies user-supplied
key=value pairs as session options before any client attaches, so
external session tooling (status bars, session managers, dashboards)
can tag and recognize the transient review session.

The fake tmux test backend gains new-session/set-option/has-session/
attach-session handling; the plan-review launcher intentionally keeps
the direct-popup form (it creates no session to background).
Pull Request #263: feat(launch): run tmux reviews in a detached session so the popup can be backgrounded

10838 of 12051 relevant lines covered (89.93%)

2974.1 hits per line

Relevant lines Covered
Build:
Build:
12051 RELEVANT LINES 10838 COVERED LINES
2974.1 HITS PER LINE
Source Files on feat/tmux-detached-session-backend
  • Tree
  • List 74
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
29396028026 feat/tmux-detached-session-backend feat(launch): run tmux reviews in a detached session with popup attach The tmux backend previously ran revdiff directly inside display-popup, so closing the popup killed the review. Now the launcher creates a detached session (revdiff-<pid>) runn... Pull #263 15 Jul 2026 07:03AM UTC kylesnowschwartz github
89.93
See All Builds (722)

Badge your Repo: revdiff

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc