-
9622cc2d64
feat(control-panel): custom animated device dropdown
JulianAlcala
2026-04-22 02:57:10 +02:00
-
79e8c0fe74
refactor(settings): migrate wifi_settings God VM to Riverpod
JulianAlcala
2026-04-22 02:37:21 +02:00
-
8d5a2c8e56
refactor(settings): migrate disable_functions to Riverpod
JulianAlcala
2026-04-22 02:26:25 +02:00
-
ad0b8d209a
refactor(settings): migrate block_phone to Riverpod CRUD pattern
JulianAlcala
2026-04-22 02:19:33 +02:00
-
653ea9ab56
refactor(legacy-settings): migrate sos_contacts CRUD to AsyncNotifier
JulianAlcala
2026-04-22 02:02:18 +02:00
-
8c269e8c47
fix(legacy-settings): keep alarm list after save for consistency
JulianAlcala
2026-04-22 01:54:48 +02:00
-
a197d5bc28
refactor(legacy-settings): migrate alarm CRUD to AsyncNotifier
JulianAlcala
2026-04-22 01:52:22 +02:00
-
3f9c298b6f
fix(legacy-settings): go back after timezone save for consistency
JulianAlcala
2026-04-22 01:31:15 +02:00
-
3b1534d3b3
refactor(legacy-settings): migrate alerts to AsyncNotifier
JulianAlcala
2026-04-22 01:31:14 +02:00
-
eb2bde8d40
refactor(legacy-settings): migrate remote_management to AsyncNotifier
JulianAlcala
2026-04-22 01:20:55 +02:00
-
c3dcc6febc
feat(legacy-settings): DST-aware timezone with phone auto-detect
JulianAlcala
2026-04-22 01:10:10 +02:00
-
c4d328d92c
chore(legacy-theme): remove reserved timeframe dead code
JulianAlcala
2026-04-22 00:56:47 +02:00
-
2eee3489cd
refactor(legacy-settings): migrate battery to AsyncNotifier
JulianAlcala
2026-04-22 00:44:35 +02:00
-
3b57d0e70d
refactor(legacy-settings): migrate timezone, sound, sync_clock to AsyncNotifier
JulianAlcala
2026-04-22 00:42:33 +02:00
-
fe9476d417
refactor(legacy-customer-service): move contact form state to provider (no setState)
JulianAlcala
2026-04-22 00:34:53 +02:00
-
79d0f72f08
refactor(legacy-account): move delete_account dialog state to provider (no setState)
JulianAlcala
2026-04-22 00:30:20 +02:00
-
5925a97b01
refactor(legacy-account): move personal_data form state to provider (no setState)
JulianAlcala
2026-04-22 00:16:48 +02:00
-
41b22ad457
refactor(legacy-account): move change_password local error to provider (no setState)
JulianAlcala
2026-04-22 00:10:43 +02:00
-
66a08c8016
refactor(legacy-settings): move language selection state to provider (no setState)
JulianAlcala
2026-04-22 00:00:14 +02:00
-
3449ff9afd
refactor(legacy-settings): migrate language to AsyncNotifier
JulianAlcala
2026-04-21 23:51:38 +02:00
-
d4fbbb8d4b
refactor(legacy-customer-service): migrate contact form to AsyncNotifier
JulianAlcala
2026-04-21 23:45:41 +02:00
-
3147566241
refactor(sf_shared): add help center URL to BrandLinks
JulianAlcala
2026-04-21 23:33:12 +02:00
-
f7e69b1184
refactor(sf_shared): move brand links to Firebase Remote Config
JulianAlcala
2026-04-21 23:32:26 +02:00
-
41324c61bd
refactor(legacy-account): use .select for AsyncValue field reads
JulianAlcala
2026-04-21 23:32:01 +02:00
-
b8bf71fbe3
refactor(legacy-account): migrate account_settings to AsyncNotifier
JulianAlcala
2026-04-21 23:31:56 +02:00
-
6d49e604be
refactor(legacy-account): migrate delete_account to AsyncNotifier + fix A1
JulianAlcala
2026-04-21 22:12:51 +02:00
-
21dcafec26
refactor(legacy-account): migrate linked_devices to AsyncNotifier
JulianAlcala
2026-04-21 21:47:36 +02:00
-
8e8243345a
fix(sf_shared): distinguish 401 vs 403 error UX
JulianAlcala
2026-04-21 21:34:32 +02:00
-
fe38e477e3
refactor(legacy-account): migrate personal_data to AsyncNotifier
JulianAlcala
2026-04-21 21:00:42 +02:00
-
db47543252
fix(legacy-account): show success dialog after password change
JulianAlcala
2026-04-21 20:49:13 +02:00
-
caf77b1fd9
refactor(legacy-account): migrate change_password to AsyncNotifier
JulianAlcala
2026-04-21 20:35:18 +02:00
-
dcc786d376
refactor(legacy-account): migrate app_users to FutureProvider
JulianAlcala
2026-04-21 20:03:45 +02:00
-
8cd01c6f3b
feat(sf_tracking): consent-aware crashlytics wrapper
JulianAlcala
2026-04-21 19:33:54 +02:00
-
1c98c0842d
feat(sf_shared): add FailureType + handleFailure + feedback dialogs
JulianAlcala
2026-04-21 19:32:49 +02:00
-
59cced7b17
chore(legacy): add test infrastructure + mocktail
JulianAlcala
2026-04-21 19:32:40 +02:00
-
4e14534b1b
fix
JulianAlcala
2026-04-21 18:24:25 +02:00
-
72d0c79c74
Revert "docs: add snackbar messages reference in Spanish"
JulianAlcala
2026-04-21 18:15:07 +02:00
-
5b1826a10d
docs: add snackbar messages reference in Spanish
JulianAlcala
2026-04-21 17:59:58 +02:00
-
039f2bb051
chore(i18n): add missing translation keys and device debug logging
JulianAlcala
2026-04-21 17:59:50 +02:00
-
9d6953dbf5
feat(wifi): enable wifi settings entry point and add debug logging
JulianAlcala
2026-04-21 17:59:39 +02:00
-
90048ac159
fix(sos-contacts): prevent deleting last emergency contact
JulianAlcala
2026-04-21 17:59:29 +02:00
-
982dee6c7a
feat(block-phone): add edit contact functionality
JulianAlcala
2026-04-21 17:59:16 +02:00
-
09897b7f69
fix(location): add sharePositionOrigin for iPad share
JulianAlcala
2026-04-21 17:59:08 +02:00
-
09a625530e
fix(control-panel): match dropdown value by device id to prevent crash
JulianAlcala
2026-04-21 17:59:00 +02:00
-
c60761adab
fix(do-not-disturb): return empty schedule on 404 instead of error
JulianAlcala
2026-04-21 17:58:52 +02:00
-
6694a4b0ce
fix(personal-data): send all required fields in PUT and autofill form
JulianAlcala
2026-04-21 17:58:44 +02:00
-
850796e1ca
fix(rewards): send rewards key instead of amount in command data
JulianAlcala
2026-04-21 17:58:27 +02:00
-
051424f58b
fix(volume): use capabilities max per slider and fix 0-10 scale
JulianAlcala
2026-04-21 17:58:20 +02:00
-
ac986ac360
feat(capabilities): add volume limits (media, ringtone, alarm)
JulianAlcala
2026-04-21 17:58:12 +02:00
-
cf86570e4c
feat(settings): add falldown, falldownLevel and rename gps to location
JulianAlcala
2026-04-21 17:58:03 +02:00
-
e30f5dabcc
fix(notifications): handle deep linking on cold start without crash
JulianAlcala
2026-04-21 17:57:53 +02:00
-
79039b99e2
refactor(legacy): align with Riverpod architecture (DTOs, repos, drop UseCases)
JulianAlcala
2026-04-19 23:20:38 +02:00
-
14720b66bf
refactor(legacy): split legacy_shared into cohesive packages
JulianAlcala
2026-04-19 05:42:31 +02:00
-
d7308229a0
chore(sf_localizations): switch i18n source to es.json and add parity check
JulianAlcala
2026-04-19 04:58:09 +02:00
-
f7d3dbfd27
refactor(legacy): migrate theming to Material 3 + SfColors extension
JulianAlcala
2026-04-19 04:47:22 +02:00
-
bd7c47351f
chore: ignore flutter auto-generated files
JulianAlcala
2026-04-19 01:58:45 +02:00
-
6cf994cd5d
refactor(legacy): extract shared device state into legacy_device_state package
JulianAlcala
2026-04-19 01:55:11 +02:00
-
fa3d7aa1fd
fix(location): keep map visible on transient network errors
JulianAlcala
2026-04-17 17:49:25 +02:00
-
5b4d31e2f1
fix(location): guard frequency timer minimum and filter zero options
JulianAlcala
2026-04-17 17:11:01 +02:00
-
2e6769f18f
feat(legacy): add connection status indicator to device banners
JulianAlcala
2026-04-26 09:05:09 +02:00
-
7d20b56583
refactor(heartbeat): refresh devices every 2min instead of pinging /auth/me
JulianAlcala
2026-04-26 09:01:26 +02:00
-
40d55b0b43
fix(control-panel): use iso_sf.png in map preview banner
JulianAlcala
2026-04-26 08:53:49 +02:00
-
5aa45b3d01
fix(control-panel): prevent device name from overlapping header logo
JulianAlcala
2026-04-26 08:52:13 +02:00
-
ecfb4cc7d2
fix
JulianAlcala
2026-04-26 08:39:26 +02:00
-
6b1e571341
fix(tests): update feedback_dialogs test for queue implementation
JulianAlcala
2026-04-26 08:38:18 +02:00
-
f6ff53bcd7
test(device-entity): add queueCommands and isDisconnected tests (11 cases)
JulianAlcala
2026-04-26 08:29:17 +02:00
-
d84edc11a9
test(do-not-disturb): add enabled field and toggle tests (4 new cases)
JulianAlcala
2026-04-26 08:29:17 +02:00
-
45b2842e5a
test(app-usage-schedules): add controller and editor unit tests (6 cases)
JulianAlcala
2026-04-26 08:29:17 +02:00
-
a4f57f780b
test(installed-apps): add InstalledAppsController unit tests (3 cases)
JulianAlcala
2026-04-26 08:29:16 +02:00
-
e130f4a037
chore(i18n): add GPS functions, history and delete confirmation keys
JulianAlcala
2026-04-26 08:25:55 +02:00
-
5c30dd9224
fix(settings): capitalize language names in selector
JulianAlcala
2026-04-26 08:25:47 +02:00
-
836aea707a
fix(legacy): replace hardcoded colors for dark mode contrast
JulianAlcala
2026-04-26 08:25:41 +02:00
-
e0e7815ad8
fix(legacy): add dark mode support for pickers and dialogs
JulianAlcala
2026-04-26 08:25:33 +02:00
-
e0dde50eba
fix(feedback-dialogs): add queue system to prevent dialog stacking
JulianAlcala
2026-04-26 08:25:24 +02:00
-
54ddf68c22
test(location): add LocationMapController unit tests (22 cases)
JulianAlcala
2026-04-26 08:25:18 +02:00
-
b5bba037f1
feat(location): add history playback, GPS functions dialog and UX improvements
JulianAlcala
2026-04-26 08:25:05 +02:00
-
6ed36dba75
feat(location): redesign device banner to match reference UI
JulianAlcala
2026-04-26 05:52:27 +02:00
-
4deb263c7e
fix(location): add refresh success feedback and fix queueCommands null crash
JulianAlcala
2026-04-26 05:41:21 +02:00
-
82786b3577
chore(i18n): improve positionUpdated message text
JulianAlcala
2026-04-26 05:29:38 +02:00
-
ff48b873e9
chore(i18n): add positionUpdated key in 6 locales
JulianAlcala
2026-04-26 05:27:29 +02:00
-
35948998f6
feat(device): add queueCommands to DeviceEntity and command guard
JulianAlcala
2026-04-26 05:27:23 +02:00
-
c034d781af
refactor(legacy): replace showTopSnackbar with feedback dialogs
JulianAlcala
2026-04-26 05:27:17 +02:00
-
5bebe110fc
chore: regenerate health controller codegen
JulianAlcala
2026-04-26 05:13:42 +02:00
-
107a4ec593
chore(i18n): add localization keys for new features and fixes
JulianAlcala
2026-04-26 05:13:19 +02:00
-
03effaed13
fix(tracking): shorten event names to fit Firebase 40-char limit
JulianAlcala
2026-04-26 05:13:10 +02:00
-
32eb4e0d52
fix(call-history): sort calls by most recent first
JulianAlcala
2026-04-26 05:13:05 +02:00
-
6f5855e2fd
feat(navigation): add routes for installed apps and app usage schedules
JulianAlcala
2026-04-26 05:13:01 +02:00
-
412cb96888
feat(device-management): add app usage schedules feature
JulianAlcala
2026-04-26 05:12:52 +02:00
-
853b6f20a3
feat(device-management): add installed apps enable/disable feature
JulianAlcala
2026-04-26 05:12:42 +02:00
-
01cb4c9427
feat(do-not-disturb): add enabled toggle, redesign UI and duplicate validation
JulianAlcala
2026-04-26 05:12:34 +02:00
-
82123a6d5f
fix(contacts): validate duplicate phone numbers before adding
JulianAlcala
2026-04-26 05:12:23 +02:00
-
3956a87862
feat(remote-camera): add delete, share, download and redesign photo viewer
JulianAlcala
2026-04-26 05:12:18 +02:00
-
7251349e1d
feat(location): add manual frequency option and optimize position loading
JulianAlcala
2026-04-26 05:12:10 +02:00
-
cf2dbbeb63
refactor(legacy-auth): simplify device setup to single carrier name field
JulianAlcala
2026-04-26 05:12:05 +02:00
-
e9cceae485
feat(legacy-auth): improve 2FA sheet UX and signup layout
JulianAlcala
2026-04-26 05:11:55 +02:00
-
6de01b62ae
fix(splash): distinguish network errors from auth errors in session check
JulianAlcala
2026-04-26 05:11:48 +02:00
-
7c7ffb8f3d
feat(legacy-ui): add animated transitions for dialogs and navigation
JulianAlcala
2026-04-26 05:11:42 +02:00
-
80f95bae5a
fix payments
JulianAlcala
2026-04-24 15:06:30 +02:00
-
63547b0f37
removede shadow and blurs
JulianAlcala
2026-04-23 15:02:25 +02:00
-
9ab78ac965
feat(legacy): replace CircularProgressIndicator with animated GIF loading
JulianAlcala
2026-04-23 14:54:38 +02:00