Commit Graph

  • 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