- Updated `ChildWindowCommandQueue` to manage command states using a status system (`loading`, `ready`, `failed`) instead of a boolean flag.
- Implemented methods to mark commands as failed, drop queued commands, and recover from failed states when new tokens are registered.
- Added tests to verify the behavior of failure handling and recovery scenarios in the command queue.
- Enhanced `windowManager` to close failed child windows and clear their lifecycle appropriately.
Split the main app provider from the lightweight child context, reveal child windows after a stable shell is rendered, and queue commands until listeners are ready.