Release Notes — February 20, 2026
This release focuses on the CADENSA Mobile app — improving the startup experience, fixing authentication edge cases, and cleaning up technical debt.
Mobile App
Improvements
Splash Screen Redesigned
The app startup sequence has been overhauled for a smoother experience:
- Before: The native Android/iOS splash (with a bare icon) appeared briefly before the app loaded, sometimes showing a flash of white or the icon circle on Android 12+.
- After: A clean white native splash transitions instantly to the branded CADENSA splash screen (logo + wordmark) which is displayed for a minimum of 1.8 seconds while the app state is restored in the background. No more icon circle on Android.
Faster State Restoration
App state (authentication, workspace selection) is now restored via Redux Persist with a dedicated bootstrap phase. The branded splash covers the entire rehydration period — users never see a loading spinner or blank screen on startup.
Improved Password Reset Flow
The "Forgot Password?" email link now opens directly in the CADENSA mobile app via deep link (cadensa://reset-password?token=…) and displays an in-app password reset screen. Previously, the documentation incorrectly stated that resets must be done on the web app.
Bug Fixes
Android Adaptive Icon Circle Eliminated
On Android 12+, a circular crop artifact appeared over the app icon on cold start. Fixed by configuring expo-splash-screen to manage the adaptive icon layer correctly.
Token Expiry No Longer Causes Logout Loop
When an authentication token expired, a previous bug caused the app to enter a repeated logout/login cycle. The app now performs a single, clean logout with a "Session expired" toast notification.
Auth Screen Flash After Login Removed
After a successful login, the authentication screen briefly flashed before the main app appeared. The skipAuth navigation flag has been removed and navigation now transitions cleanly directly to the Timer tab.
Internal / Technical
- Removed 14 unused static assets (old splash variants, SVG duplicates, backup icons)
- Fixed
tintColordeprecation warning in the login screen (moved from StyleSheet to Image prop) SplashScreen.preventAutoHideAsync()+persistor.subscribe()used for bootstrap — noPersistGatecomponent required
See Also
- Getting Started — Updated installation instructions
- Troubleshooting — Updated session expiry and workspace selection guidance