Summary
This issue tracks several daemon reliability and install-tooling problems found during recent deployment and shutdown testing.
Problems
1. Duplicate server starts while waiting for dependencies
The daemon may start multiple lifecycle threads for the same server while it is still waiting for startup dependencies.
Most visible with TransServer, which waits for all configured Retina nodes to report READY before starting its gRPC server. While blocked, the main loop can treat it as not running and spawn another thread.
During that race, the daemon repeatedly logs:
Waiting for 1 Retina node(s) to report READY
2. Servers may be restarted during shutdown
When the daemon is shutting down, the main loop / restart logic can bring servers back up while shutdown is still in progress.
3. pixels-install skill script / shell issues
The pixels-install helper scripts have Bash/zsh compatibility problems (e.g. array indexing and shell environment setup), and Cursor install/uninstall support is incomplete.
Summary
This issue tracks several daemon reliability and install-tooling problems found during recent deployment and shutdown testing.
Problems
1. Duplicate server starts while waiting for dependencies
The daemon may start multiple lifecycle threads for the same server while it is still waiting for startup dependencies.
Most visible with
TransServer, which waits for all configured Retina nodes to reportREADYbefore starting its gRPC server. While blocked, the main loop can treat it as not running and spawn another thread.During that race, the daemon repeatedly logs:
2. Servers may be restarted during shutdown
When the daemon is shutting down, the main loop / restart logic can bring servers back up while shutdown is still in progress.
3.
pixels-installskill script / shell issuesThe
pixels-installhelper scripts have Bash/zsh compatibility problems (e.g. array indexing and shell environment setup), and Cursor install/uninstall support is incomplete.