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
fad26f1273
feat: Improve connection state broadcast and timing ( #4498 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 18:52:35 +00: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
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
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
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
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
Mac DeCourcy
c0f8ed3503
feat: word-based message filtering with quarantine approach (stored but hidden) ( #4241 )
2026-01-24 16:41:17 +00:00
James Rich
45227fb142
feat(test): Add comprehensive unit and instrumentation tests ( #4260 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-20 01:52:03 +00:00
James Rich
731430d7d6
refactor(build): Centralize Dokka configuration into convention plugin ( #4173 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-09 15:40:00 +00:00
James Rich
02f99bd7bb
refactor(build): centralize Dokka documentation generation ( #4171 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-08 23:55:07 +00:00
James Rich
c03178406a
fix: Update copyright year to 2026 ( #4121 )
2026-01-02 15:51:27 -06:00
renovate[bot]
3e57102526
chore(deps): update dagger & hilt to v1.3.0 ( #4118 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-02 14:45:34 -06:00
Mac DeCourcy
6f338c4cde
feat: add retention period to meshLog. Defaults to 7 days, with a settings dropdown to change ( #4078 )
2026-01-02 18:14:16 +00:00
James Rich
0776e029f3
feat(logging): Replace Timber with Kermit for multiplatform logging ( #4083 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-12-28 14:30:15 +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
James Rich
42bc85b6fc
feat(build): add module dependency graph generation ( #4042 )
2025-12-18 17:30:36 -06:00
James Rich
9804c38fb8
feat(settings): add about screen with open source licenses ( #4012 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-12-15 20:56:43 +00:00
James Rich
a1cf92d676
refactor: consolidate F-Droid task disabling to convention plugin ( #3990 )
2025-12-12 23:29:04 +00:00
James Rich
4aea88877a
refactor(concurrent): Introduce SequentialJob to manage service setup ( #3983 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-12-12 19:02:17 +00:00
James Rich
fdff7315fe
refactor(build): Create a dedicated analytics convention plugin ( #3961 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-12-11 04:47:25 +00:00
James Rich
78274c7923
feat(navigation): Implement adaptive list-detail for contacts and nodes ( #3850 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-11-29 02:05:07 +00:00
James Rich
4b93065c7e
feat: Add firmware update module for Nordic nRF devices ( #3782 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-11-24 19:02:53 +00:00
Mac DeCourcy
5e8c9794eb
feat: Add Jetpack Paging 3 support for messages and threads/contacts ( #3795 )
...
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-24 14:14:05 +00:00
Phil Oliver
28590bfcdf
Make :core:strings a Compose Multiplatform library ( #3617 )
2025-11-11 00:58:38 +00:00
James Rich
9e8ffaa0ba
refactor(ble): Replace custom BLE implementation with Nordic ( #3595 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-11-06 18:27:21 +00:00
James Rich
6e06d27701
feat(map): Persist Google Maps camera position ( #3605 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-11-04 13:14:50 +00:00
Phil Oliver
78a10118a0
Re-enable debug application IDs ( #3607 )
2025-11-04 02:32:17 +00:00
James Rich
b5f8c0420a
refactor: Comment out debug applicationId overrides ( #3601 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-11-03 21:41:46 +00:00
Phil Oliver
4a5f69458c
Enable parallel installation of debug and release builds ( #3596 )
2025-11-02 23:26:50 +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
Phil Oliver
e691981207
Modularize ScannedQrCodeDialog ( #3446 )
2025-10-13 00:18:23 +00:00
Phil Oliver
886e9cfede
Modularize messaging code ( #3435 )
2025-10-12 17:07:03 +00:00
Phil Oliver
36f1aabcb5
Remove remaining unused dependencies across the project ( #3390 )
2025-10-08 03:04:20 +00:00
James Rich
8baf8714d0
feat(ui): Refactor node position details into separate section ( #3382 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-10-08 00:50:53 +00:00
Phil Oliver
185c3ab5eb
Remove unused :core:database dependencies ( #3383 )
2025-10-07 21:37:03 +00:00
Phil Oliver
83531eeba9
Remove unused :core:analytics dependencies ( #3381 )
2025-10-07 19:35:44 +00:00
Phil Oliver
7287ebbf49
Fix google build ( #3371 )
2025-10-07 10:22:32 +00:00
Phil Oliver
ef0ac5220d
Consistent catalog naming for AndroidX dependencies ( #3368 )
2025-10-07 03:51:32 +00:00
Phil Oliver
4d7ad96a09
Remove unused dependencies in :app ( #3365 )
2025-10-07 02:14:25 +00:00
Phil Oliver
95ec4877df
Modularize settings code ( #3355 )
...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com>
2025-10-06 17:20:03 +00:00
Phil Oliver
dcbf664f38
Move app intro to :feature:intro ( #3348 )
2025-10-05 01:15:55 +00:00
James Rich
8b4397a825
Revert ( #3325 )
2025-10-04 06:07:43 -05:00
James Rich
28de377068
ci(release): refine promotion logic and enhance Datadog integration ( #3322 )
2025-10-03 21:03:33 -05:00
Phil Oliver
e24292494e
Add BuildConfigProvider ( #3318 )
2025-10-03 21:24:52 +00:00
Phil Oliver
d553cdfee6
Add :feature:node ( #3275 )
2025-10-01 23:26:41 +00:00
James Rich
0847598d38
refactor(ui)!: update NodeItem display with new components ( #3273 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-10-01 19:31:08 +00:00
James Rich
668b44d3b5
chore(fdroid): Configure F-Droid build variant ( #3265 )
2025-09-30 21:56:16 -05:00
James Rich
cad88d277b
refactor(analytics)!: modularize analytics - remove Logging ( #3256 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-09-30 23:22:22 +00:00