Report the directory a session was spawned in #182
No reviewers
Labels
No labels
Area/ci
Area/cli
Area/client
Area/client-core
Area/daemon
Area/deps
Area/docs
Area/grid
Area/manual
Area/nix
Area/protocol
Area/pty
Area/render
Area/shaping
Area/skills
Area/transport
Area/vt
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Performance
Kind/Security
Kind/Testing
perf-regression-accepted
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Blocked
Status
Need More Info
Status
Upstream
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
felis-terminal/felis!182
Loading…
Reference in a new issue
No description provided.
Delete branch "daemon/spawn-cwd"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
SessionInfo.cwdis the directory a program last announced with OSC 7. A session whose program never sends one, such as a TUI coding agent or a command spawned without a shell, lists no directory even though the daemon chose the one its child started in. A session manager that groups sessions by directory then has to record the path itself. Once that manager restarts, only the daemon still knows the path, and 128-byte tags are too short for long worktree paths.SessionInfo.spawn_cwdreports where the child actually started, notSpawnArgs.cwdas sent:cwdreports the daemon's own directory.cwdalso reports the daemon's own directory.skippable, so an older peer that skips it only lists no spawn directory. The ipc.md ledger row 2 is updated.Nonewhen the key is absent, soDUMP_VERSIONstays at 2.sessions list/info --format jsonand the bridge emitspawn_cwd.sessions infoprints it as aspawned:line, since info is the per-session view that shows every field.ipc.md,cli.md, thefelisskill, and CHANGELOG.Tests:
cwd.sessions list --format jsonandsessions infohuman and JSON output.spawn_cwdlikecwd.just checkpasses except fora_daemon_write_failure_fails_and_clears_the_link(a known bridge hang) andan_idle_notification_subscriber_does_not_block_the_upgrade, which timed out under load and passes on its own.golden_daemon_lossand sevenfelis-render-wgpupaint_framegoldens fail on this machine without this change.Closes #178
09d595ceecc77ba7c89d