- Added a new UpdateRequiredPage component to handle scenarios where an application update is required before accessing the main interface.
- Integrated app startup status retrieval in the App component to determine if the application is in a normal state or requires an update.
- Updated routing logic to conditionally render the UpdateRequiredPage or the main application layout based on the startup status.
- Enhanced the AppUpdateContext to manage update actions and states effectively.
- Introduced new selectors for testing the update required page and its components.
- Added constants for app startup channels to facilitate communication between the main and renderer processes.
- Updated shared types to include AppStartupStatus for better type safety.
- Created unit tests for SQLite migration to ensure database integrity during updates.
- Implemented end-to-end tests to verify the update flow and recovery page functionality.