Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: tmux-python/tmuxp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.61.0
Choose a base ref
...
head repository: tmux-python/tmuxp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.62.0
Choose a head ref
  • 6 commits
  • 5 files changed
  • 1 contributor

Commits on Dec 14, 2025

  1. Configuration menu
    Copy the full SHA
    9ce1eb5 View commit details
    Browse the repository at this point in the history
  2. py(deps[dev]) Bump dev packages

    tony committed Dec 14, 2025
    Configuration menu
    Copy the full SHA
    1a55e88 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5ff6400 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    240d85f View commit details
    Browse the repository at this point in the history
  5. py(deps) Bump libtmux 0.52.1 -> 0.53.0 (#1003)

    ## libtmux 0.52.1 -> 0.53.0
    
    Bug fix for session attaching
    
    ## Bug fix for `tmuxp load`
    
    ### User Experience
    
    After running `tmuxp load`, users would see this traceback printed to their terminal after detaching:
    
    ```
    Traceback (most recent call last):
      File "/home/d/.local/bin/tmuxp", line 7, in <module>
        sys.exit(cli.cli())
      ...
      File ".../tmuxp/cli/load.py", line 152, in _load_attached
        builder.session.attach()
      File ".../libtmux/session.py", line 332, in attach
        self.refresh()
      File ".../libtmux/neo.py", line 242, in fetch_obj
        raise exc.TmuxObjectDoesNotExist(...)
    libtmux.exc.TmuxObjectDoesNotExist: Could not find object
    ```
    
    ### Root Cause
    
    The issue was caused by libtmux's `Session.attach()` calling `refresh()` after `attach-session` returned. Since `attach-session` is a **blocking interactive command**, the session state can change arbitrarily during attachment - including being killed entirely.
    
    ### Timeline
    
    - **Feb 2024**: 9a5147aa - `Session.attach()` was added with the `refresh()` call
    - **Nov 2025**: tmuxp fdafdd2b switched from `attach_session()` to `attach()`
    - Users started experiencing the bug
    
    ### Fix
    
    The fix is in libtmux: tmux-python/libtmux#616
    
    This PR adds a regression test to tmuxp to ensure the behavior is documented and tested.
    tony authored Dec 14, 2025
    Configuration menu
    Copy the full SHA
    cebe172 View commit details
    Browse the repository at this point in the history
  6. Tag v1.62.0 (tmuxp load fix)

    tony committed Dec 14, 2025
    Configuration menu
    Copy the full SHA
    9048b74 View commit details
    Browse the repository at this point in the history
Loading