Problem
Lifecycle integrations such as Herdr need to observe Jcode session startup without replacing an existing user hook. A shared Jcode server must also execute each hook with the terminal environment of the client that initiated that session, otherwise multiple panes can be attributed to the wrong session.
Desired behavior
- lifecycle hook settings accept multiple commands while remaining compatible with existing scalar string settings
- configured commands run independently
- hook processes receive the initiating client's terminal environment
- two clients sharing one server retain isolated pane-local hook environments
This is required for herdrdev/herdr#2248.
Problem
Lifecycle integrations such as Herdr need to observe Jcode session startup without replacing an existing user hook. A shared Jcode server must also execute each hook with the terminal environment of the client that initiated that session, otherwise multiple panes can be attributed to the wrong session.
Desired behavior
This is required for herdrdev/herdr#2248.