Add debugPrint entries before and after POST /universal-notifications/push
so we can trace whether a given token was accepted by the backend
during debugging of push delivery issues.
Convert the shared command guard to an async check that refetches
/devices when the cached state is older than 30s, so the isDisconnect
flag reflects reality before a command runs. A TopSnackBar explains the
check only if the fetch takes longer than 400ms, avoiding noise on fast
responses. Update all 44 call sites to await the guard.
Device providers (legacyDevicesProvider, selectedDeviceProvider), repository,
datasource, and GetDevicesResponseModel now live in sf_shared. Also moved
dio_error_mapper (safeCall, mapDioError, formatErrorMessage) to sf_infrastructure.
Consumers import directly from sf_shared instead of re-exporting through legacy_shared.
Adds NotificationsRemoteDatasource in sf_shared that POSTs the current
Firebase Messaging token to /notifications/push, wired into the legacy
login flow right after getUserInfo so the device can receive targeted
push notifications.
Fire-and-forget with catchError so a failure never blocks login.
- Upgrade Melos to 7.5.1 using Dart pub workspaces (Melos 7 paradigm).
- Replace per-package pubspec_overrides.yaml with workspace-native resolution. Add dependencies.yaml as a centralized catalog for all external deps with sync_deps.dart tool to propagate and validate versions across the monorepo.
- Add DeviceSettingsSync extension on Ref to centralize device provider
updates after settings changes (sound, volume, language, timezone,
battery, disable functions, alerts, pedometer, heart rate freq,
location freq, background image)
- Add photo capture countdown with Lottie animation in remote camera
- Replace Image.network with Image.memory for photo display
- Fix commands datasource to handle text/html responses (post<dynamic>)
- Add typed error/success events to RemoteConnectionViewModel
- Add background image active indicator and backgroundImageId to device settings
- Change photos endpoint from /devices/identificator/:id/photos/files to /photos/files
- Remove dead deviceId param from getBackgroundImage chain
- Relax PictureEntity required fields to @Default for API compatibility
- Fix LocationViewModel rebuild crash (ref.watch → ref.read)
- Use .select() in RemoteCameraScreen for optimized rebuilds
- Increase health measure countdown to 60s
- Rename sms_alert feature to alerts with toggle list from device capabilities
- Implement disable functions (keyboard, GPS) with device settings update
- Implement battery night mode with dedicated view model
- Add keyboard, gps, nightMode fields to DeviceSettingsEntity/Model
- Fix photos endpoint to use /photos/files for file content
- Type device.settings and device.capabilities from untyped maps to Freezed models
- Centralize all device settings updates through shared DeviceSettingsUpdateDatasource
- Add frequency selectors for location and heart rate, pedometer toggle, and health measurement countdown with Lottie animation
- Replace raw backend error messages with typed i18n error events across location, health, and activity meter
- Fix silent error swallowing in commands datasource and stuck dialog in locate device
- Add set PIN / change PIN multi-step flow (4-digit card PIN + 6-digit SCA PIN) with Treezor PCI DSS SCA proof generation
- Add unblock PIN for blocked cards after failed attempts
- Add renew card with SCA proof (same as wallet creation)
- Show menu options conditionally based on hasCardPin and isPinBlocked flags
- Make ScaPinView configurable with pinLength parameter (default 6)
- Add hasCardPin to ChildProfileEntity and isPinBlocked to WalletCardEntity
- Add EN/ES localizations for all new screens and messages
Device management:
- Activity meter with steps charts and history
- Apps usage with daily breakdown and top apps
- Health monitoring (heart rate, oxygen, blood pressure)
- Scheduled activities with timeline and CRUD
- Contacts sync to device via contact-lists
- Locate device, rewards refactor
Settings (new module):
- Block phone
- SOS contacts
- WiFi networks
- Alarm refactor with full CRUD
- Settings menu with feature stubs
Account:
- Personal data and account settings refactor
Shared:
- 100+ i18n keys in 6 languages
- New routes in app_router
- WeekDayChips, TimeRangeSelector shared widgets
- Legacy dashboard shell simplified
- created extract, goals and block card screen.
- generated tests for design system components.
- updated restore password and home screens to 17/11 design.