Commit Graph

412 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
ba03aacdc9 feat(ble): Handle invalid BLE attributes (#4485)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 00:59:24 +00:00
renovate[bot]
d48a0ea2b3 chore(deps): update androidx (general) (#4472)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 13:46:56 +00:00
James Rich
96551761c8 feat(sharing): Refactor QR/NFC scanning with ML Kit and CameraX (#4471)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-06 04:16:16 +00:00
renovate[bot]
7f7fba84c2 chore(deps): update com.google.firebase:firebase-bom to v34.9.0 (#4467)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 22:54:10 +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
94280a873f chore(ci): Simplify jitpack.yml build steps (#4460)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-05 08:56:09 -06:00
renovate[bot]
4695f6c68f chore(deps): update kotlin ecosystem to v2.3.10 (#4457)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-05 12:20:34 +00:00
James Rich
451b2343b7 feat(deps): Remove temporary kotlinx-metadata-jvm dependency (#4453)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-04 23:27:16 +00:00
James Rich
67120465da refactor(build): Use version catalog for Compose Multiplatform (#4452) 2026-02-04 16:31:26 -06:00
renovate[bot]
a71bf4da16 chore(deps): update kotlin ecosystem to v0.9.6 (#4451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-04 16:30:06 -06:00
James Rich
3eefa801d6 refactor(build): Introduce AndroidLibraryFlavors convention plugin (#4449) 2026-02-04 16:01:09 -06:00
renovate[bot]
4ba3209a7a chore(deps): update com.google.guava:guava to v33.5.0-jre (#4441)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-04 14:51:34 +00:00
renovate[bot]
1e1dabef19 chore(deps): update google maps compose to v8.0.1 (#4442)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-04 14:51:20 +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
renovate[bot]
9507acb007 chore(deps): update wire to v5.5.0 (#4437)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-04 01:50:19 +00:00
renovate[bot]
e128885475 chore(deps): update google maps compose to v8.0.1 (#4434)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-04 00:52:18 +00:00
renovate[bot]
391aeea99a chore(deps): update com.google.guava:guava to v33.5.0-jre (#4435)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-04 00:52:00 +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
renovate[bot]
08184aae2d chore(deps): update dagger & hilt to v2.59.1 (#4427)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-03 19:33:23 +00:00
renovate[bot]
6eb42cc180 chore(deps): update markdown renderer (mike penz) to v0.39.2 (#4393)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-01 21:37:32 +00:00
James Rich
3659f468e4 chore(ci): Optimize and stabilize Gradle builds and CI workflows (#4390)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-01 18:03:17 +00:00
renovate[bot]
f77c1600df chore(deps): update kotlin ecosystem to v0.9.5 (#4381)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 20:06:14 -06:00
James Rich
1abcb4d4ed refactor(build): Centralize Develocity and build cache configuration (#4382) 2026-01-30 18:42:06 -06:00
renovate[bot]
bf91570a4b chore(deps): update androidx.activity:activity-compose to v1.12.3 (#4370)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 02:32:39 +00:00
James Rich
039e785a2d build: Lower JDK to 17 and minSdk to 21 (#4369) 2026-01-29 20:04:30 -06:00
renovate[bot]
2b51926e24 chore(deps): update protobuf runtime to v4.33.5 (#4367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-30 00:44:10 +00:00
James Rich
73c790290c chore(ci): Remove GitHub Packages publishing workflow (#4368) 2026-01-29 17:56:41 -06:00
James Rich
266650f29e feat: Add JitPack configuration for publishing (#4365) 2026-01-29 15:04:45 -06:00
James Rich
07639900c9 chore: Apply maven-publish plugin consistently (#4364) 2026-01-29 14:10:58 -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]
d54ea5efc3 chore(deps): update gradle to v9.3.1 (#4358)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 09:54:03 -06:00
renovate[bot]
49da6a80bf chore(deps): update androidx (general) (#4352)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 02:30:28 +00:00
renovate[bot]
20e18be002 chore(deps): update androidx navigation to v2.9.7 (#4350)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 02:06:18 +00:00
renovate[bot]
ffa5eabea9 chore(deps): update androidx.work:work-runtime-ktx to v2.11.1 (#4351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 01:07:32 +00:00
James Rich
70a1b3c479 Refactor: Replace custom charts with Vico library (#4348)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-29 00:52:59 +00:00
renovate[bot]
d651bbeaa2 chore(deps): update devtools.ksp to v2.3.5 (#4349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-29 00:01:23 +00:00
renovate[bot]
636788bf59 chore(deps): update static analysis to v8.2.1 (#4342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 23:26:18 +00:00
renovate[bot]
1bea523b5f chore(deps): update datadog to v3.6.0 (#4340)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 19:29:26 +00:00
renovate[bot]
a2100c4bbd chore(deps): update io.nlopez.compose.rules:detekt to v0.5.6 (#4335)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 18:34:03 +00:00
James Rich
dff3e60b8c fix(node): list and detail usability fixes (#4336)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-27 18:33:46 +00:00
renovate[bot]
3f45687351 chore(deps): update google maps compose to v8 (major) (#4338)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 18:04:22 +00:00
renovate[bot]
4cfd8777a6 chore(deps): update io.mockk:mockk to v1.14.9 (#4325)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-26 15:38:50 +00:00
James Rich
7ffd5bc9f2 fix: map cluster crash (#4317)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-26 12:57:49 +00:00
James Rich
140264d438 chore(deps): Update Gradle and library versions (#4309)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 16:04:25 +00:00
renovate[bot]
de81289c42 chore(deps): update org.robolectric:robolectric to v4.16.1 (#4305)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-25 14:45:07 +00:00
renovate[bot]
79df66710b chore(deps): update com.android.tools:common to v32 (#4306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-25 14:43:55 +00:00
renovate[bot]
71a8afecfc chore(deps): update app.cash.molecule:molecule-runtime to v2.2.0 (#4302)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-25 14:17:09 +00:00
James Rich
2cdfababe5 feat(node): Refactor Node Detail screen and enhance user feedback (#4291)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 03:00:23 +00:00
renovate[bot]
bd4cb80877 chore(deps): update dagger & hilt to v2.59 (#4297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-24 17:53:02 +00:00