Commit Graph

59 Commits

Author SHA1 Message Date
niccellular
e7ba8e8497 feature: Add TAK passphrase lock/unlock support
Implement the client-side TAK passphrase authentication flow for
  devices running TAK-locked firmware.

  Key components:
  - TakPassphraseStore: per-device passphrase persistence using
    EncryptedSharedPreferences (Android Keystore AES-256-GCM), with
    boot and hour TTL fields stored alongside the passphrase
  - TakLockHandler: orchestrates the full lock/unlock lifecycle —
    auto-unlock on reconnect using stored credentials, passphrase
    submission, token info parsing, and backoff/failure handling
  - MeshCommandSender: sendTakPassphrase() and sendTakLockNow() build
    plain local packets that bypass PKC signing and session_passkey;
    hour TTL is encoded as an absolute Unix epoch as required by firmware
  - ServiceRepository: TakLockState sealed class (None, Locked,
    NeedsProvision, Unlocked, LockNowAcknowledged, UnlockFailed,
    UnlockBackoff), TakTokenInfo (boots remaining + expiry epoch), and
    sessionAuthorized flag
  - TakUnlockDialog: Compose dialog for passphrase entry, shown on
    Locked and NeedsProvision states; onDismissRequest is a no-op to
    prevent race conditions with firmware response timing; cancel
    disconnects the user and navigates to the Connections tab
  - Lock Now (Security settings): immediately disconnects the client
    after informing firmware, purges cached config, navigates away
    without showing a passphrase dialog
  - ConnectionsScreen: suppress "region unset" prompt while the device
    is TAK-locked, since pre-auth config is zeroed/redacted and would
    lead the user to a blank LoRa settings screen
  - AIDL: sendTakUnlock() and sendTakLockNow() wired through
    MeshService → MeshActionHandler → TakLockHandler
  - Security settings: "Lock Now (TAK)" button and token info display
    showing boots remaining and expiry date
2026-02-27 08:31:05 -05:00
James Rich
986c60ce88 docs: Update READMEs and library versions
This commit updates the README files for the `core:api`, `core:model`, and `core:proto` modules to improve documentation and reflect current usage.

Key changes include:
- Bumping the library version to `v2.7.13` in usage examples.
- Adding a detailed README for the `core:proto` module.
- Updating the `core:api` README to use `MeshtasticIntent` constants instead of hardcoded strings.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 15:54:51 -06:00
github-actions[bot]
a493cf1420 chore(release): prepare v2.7.13-internal.5 [skip ci]
- Bump base version to 2.7.13
- Sync translations and assets
2026-02-07 19:50:01 +00:00
renovate[bot]
64cd6b94d5 chore(deps): update core/proto/src/main/proto digest to e80cb2e (#4487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 23:05:21 +00:00
renovate[bot]
2ff8ffa4f8 chore(deps): update core/proto/src/main/proto digest to cba89ee (#4478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 15:44:52 +00:00
James Rich
18aae852fd build(ksp): ksp and publishing tuning (#4462)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-05 22:36:38 +00:00
James Rich
21d10bcde9 feat(deps): Update Wire to v6.0.0-alpha02 (#4440)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-04 03:08:17 +00:00
James Rich
e055d22346 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4438) 2026-02-04 02:41:48 +00:00
James Rich
25657e8f8f feat(wire): migrate from protobuf -> wire (#4401)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-04 00:01:12 +00:00
James Rich
039e785a2d build: Lower JDK to 17 and minSdk to 21 (#4369) 2026-01-29 20:04:30 -06:00
James Rich
266650f29e feat: Add JitPack configuration for publishing (#4365) 2026-01-29 15:04:45 -06:00
James Rich
15760da074 Refactor: Create core:api module and set up publishing (#4362) 2026-01-29 13:45:00 -06:00
renovate[bot]
76b7798642 chore(deps): update core/proto/src/main/proto digest to bc63a57 (#4337)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 20:41:19 +00:00
renovate[bot]
b562941b63 chore(deps): update core/proto/src/main/proto digest to 77c8329 (#4267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-20 11:14:09 -06:00
renovate[bot]
1c6ecb5a35 chore(deps): update core/proto/src/main/proto digest to c8d5047 (#4204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 23:33:14 +00:00
renovate[bot]
c7d8c65176 chore(deps): update core/proto/src/main/proto digest to 547a7d8 (#4196)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 12:24:58 +00:00
renovate[bot]
b131003008 chore(deps): update core/proto/src/main/proto digest to 61219de (#4194)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-13 01:58:49 +00:00
renovate[bot]
d7b96a1471 chore(deps): update core/proto/src/main/proto digest to aa48faf (#4185)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-11 13:13:46 +00:00
renovate[bot]
e25b5bef72 chore(deps): update core/proto/src/main/proto digest to 1a63a3d (#4180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-10 21:35:17 +00:00
renovate[bot]
47434222b8 chore(deps): update core/proto/src/main/proto digest to 9cb3737 (#4176)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-09 21:28:10 +00:00
renovate[bot]
3f713faa2d chore(deps): update core/proto/src/main/proto digest to 4ed2d1a (#4160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-08 15:42:05 +00:00
renovate[bot]
0fa690eb61 chore(deps): update core/proto/src/main/proto digest to c2e45a3 (#4109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-02 13:44:44 +00:00
renovate[bot]
4980b34fef chore(deps): update core/proto/src/main/proto digest to 96d3060 (#4098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-30 17:38:13 +00:00
renovate[bot]
0feba993cd chore(deps): update core/proto/src/main/proto digest to f78b3f0 (#4093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-29 15:11:11 +00:00
James Rich
9fd92691a9 refactor: Migrate to Android Gradle Plugin 9.0 (#4072)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-12-28 13:47:12 +00:00
renovate[bot]
5feee83701 chore(deps): update core/proto/src/main/proto digest to c474fd3 (#4050)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-21 23:02:02 +00:00
James Rich
42bc85b6fc feat(build): add module dependency graph generation (#4042) 2025-12-18 17:30:36 -06:00
renovate[bot]
aff0a49756 chore(deps): update core/proto/src/main/proto digest to 62ef17b (#4029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-17 22:56:41 +00:00
renovate[bot]
b639815dfa chore(deps): update core/proto/src/main/proto digest to 9beb80f (#4014)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-16 14:37:28 +00:00
renovate[bot]
483ec67195 chore(deps): update core/proto/src/main/proto digest to 4095e59 (#3998)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-13 21:17:04 +00:00
Mac DeCourcy
f51b7fb0f2 chore: enhance bluetooth and wifi connection logging (#3960) 2025-12-13 20:44:23 +00:00
renovate[bot]
2c9f79e5d8 chore(deps): update core/proto/src/main/proto digest to 4095e59 (#3958)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 17:42:00 +00:00
Mac DeCourcy
6e280417b5 fix: back button respects navigation history in detail screens (#3956) 2025-12-10 17:11:48 +00:00
renovate[bot]
c63fd95cbb chore(deps): update core/proto/src/main/proto digest to 4095e59 (#3905)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-06 12:23:21 +00:00
renovate[bot]
9f07a79623 chore(deps): update core/proto/src/main/proto digest to 52fa252 (#3775)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-21 14:54:34 +00:00
renovate[bot]
391e1fb370 chore(deps): update core/proto/src/main/proto digest to 7eb3258 (#3736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-19 12:41:19 +00:00
renovate[bot]
e701ad6aee feat(#3508): Optionally preserve Favorites on nodeDb reset (#3633)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-11-11 02:38:45 +00:00
Phil Oliver
c170ff6a4b Relocate proto utils (#3621) 2025-11-05 08:27:13 +00:00
Phil Oliver
0833a6767e Alias strings R to Res (#3619) 2025-11-05 03:32:42 +00:00
Phil Oliver
a687328f08 Remove stringResource() id named argument (#3618) 2025-11-05 02:36:26 +00:00
Phil Oliver
315950b7c6 Modularize remaining nodes code (#3599) 2025-11-03 19:43:02 +00:00
renovate[bot]
0394fe6457 chore(deps): update core/proto/src/main/proto digest to fbe1538 (#3584)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-31 14:45:07 +00:00
James Rich
4e60b62af4 feat: Enable minification and add ProGuard rules (#3576)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-10-30 22:47:18 +00:00
renovate[bot]
3c01e08b1a chore(deps): update core/proto/src/main/proto digest to bf149bb (#3501)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-19 04:49:34 +00:00
renovate[bot]
c2ccd18959 chore(deps): update core/proto/src/main/proto digest to 4a61838 (#3493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-18 12:32:19 +00:00
renovate[bot]
7f8ffb1615 chore(deps): update core/proto/src/main/proto digest to 38638f1 (#3433)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-12 12:20:14 +00:00
renovate[bot]
6097570c89 chore(deps): update core/proto/src/main/proto digest to cd5c83a (#3429)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-10 12:40:50 +00:00
renovate[bot]
6bc36f1dd5 chore(deps): update core/proto/src/main/proto digest to ef173e3 (#3411)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-09 02:38:00 +00:00
Phil Oliver
0fd3c4ca05 Protobuf package change (#3291) 2025-10-08 18:20:09 +00:00
Phil Oliver
ef0ac5220d Consistent catalog naming for AndroidX dependencies (#3368) 2025-10-07 03:51:32 +00:00