You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Phase 1: Automatic Internal Session Filtering
- Filter control mode's internal session from Server.sessions property
- Update has_session() to exclude internal sessions
- Add Server._sessions_all() for advanced debugging
- Add Server._get_internal_session_names() to query engine for internal sessions
Phase 2: Engine Configurability
- Add session_name parameter to ControlModeEngine for custom internal session names
- Add attach_to parameter to attach to existing sessions (advanced opt-in)
- Update _start_process() to handle both new-session and attach-session modes
- Dynamic filtering based on engine configuration
Tests:
- test_sessions_excludes_internal_control_mode: verify filtering works
- test_has_session_excludes_control_mode: verify has_session consistency
- test_session_count_engine_agnostic: verify engine transparency
- test_control_mode_custom_session_name: verify custom naming
- test_control_mode_attach_to_existing: verify attach mode
Documentation:
- Update control_mode.md with filtering behavior and advanced options
- Add warnings about attach_to notification spam
- Update CHANGES with features and compatibility notes
This makes control mode engine truly transparent - users see the same
session behavior regardless of which engine they choose. Internal sessions
are used for connection management but hidden from user-facing APIs.
Related: #605
0 commit comments