Fix hook writing wrong session prefix under grouped tmux sessions#82
Open
mikasam1 wants to merge 1 commit into
Open
Fix hook writing wrong session prefix under grouped tmux sessions#82mikasam1 wants to merge 1 commit into
mikasam1 wants to merge 1 commit into
Conversation
When a user attaches to the ccbot tmux session via a grouped session
(e.g. `tmux new -t ccbot -s view-A` for independent client focus) and
then starts claude inside a window, the SessionStart hook captures the
grouped session name ("view-A") from `tmux display-message` instead of
the canonical name from config ("ccbot").
The resulting session_map key looks like `view-A:@3` instead of
`ccbot:@3`. Session_monitor's `_load_current_session_map` filters keys
with `startswith("ccbot:")` and silently drops all view-prefixed
entries. Result: recv-direction forwarding (JSONL -> Telegram) never
works for any session started this way, while send-direction (tmux
send-keys) still works — which is especially confusing to debug.
Since grouped sessions share the same window set in tmux, window_id is
unambiguous across all views. Always writing the canonical prefix
(from TMUX_SESSION_NAME env / config.tmux_session_name) correctly
identifies the window regardless of which view triggered the hook.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a user attaches to the ccbot tmux session via a grouped session (e.g.
tmux new -t ccbot -s view-Afor independent client focus) and then starts claude inside a window, the SessionStart hook captures the grouped session name ("view-A") fromtmux display-messageinstead of the canonical name from config ("ccbot").The resulting session_map key looks like
view-A:@3instead ofccbot:@3. Session_monitor's_load_current_session_mapfilters keys withstartswith("ccbot:")and silently drops all view-prefixed entries. Result: recv-direction forwarding (JSONL -> Telegram) never works for any session started this way, while send-direction (tmux send-keys) still works — which is especially confusing to debug.Since grouped sessions share the same window set in tmux, window_id is unambiguous across all views. Always writing the canonical prefix (from TMUX_SESSION_NAME env / config.tmux_session_name) correctly identifies the window regardless of which view triggered the hook.