niccellular
1ea87dbbad
Rename from Tak centric to "Lockdown" mode
...
3 files renamed (via git mv, history preserved):
- TakLockHandler.kt → LockdownHandler.kt
- TakPassphraseStore.kt → LockdownPassphraseStore.kt
- TakUnlockDialog.kt → LockdownUnlockDialog.kt
16 files updated with consistent renames across the entire codebase. No stray TAK-named symbols remain in any .kt or .aidl source file.
What stayed the same (wire protocol / firmware-defined):
- The firmware notification strings: "TAK_LOCKED", "TAK_NEEDS_PROVISION", "TAK_UNLOCKED", "TAK_UNLOCK_FAILED" — still matched as string literals in LockdownHandler.kt
- Config.DeviceConfig.Role.TAK / TAK_TRACKER proto enum values
- The SharedPrefs key changed from "tak_passphrase_store" → "lockdown_passphrase_store" (existing stored passphrases won't migrate automatically — users will need to re-enter on first launch of the updated app)
2026-03-03 17:17:24 -05:00
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
Pavel Vasiliev
4303bfaac4
Enhancement - optional transparent homoglyph encoding of a few characters in certain languages for more compact and efficient text messages ( #4491 )
2026-02-07 18:49: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
cab39408df
refactor(node): Improve public key conflict handling ( #4486 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-02-06 19:55:20 +00:00
James Rich
1e255a5120
feat: Check if NFC is enabled and prompt user to enable it ( #4482 )
2026-02-06 18:08:35 +00:00
James Rich
10df4d47f1
feat(ui): Redesign NodeItem for improved clarity and density ( #4475 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-02-06 05:01:42 +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
3eefa801d6
refactor(build): Introduce AndroidLibraryFlavors convention plugin ( #4449 )
2026-02-04 16:01:09 -06: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
37b2efa176
feat(settings): Add firmware capability checks for settings ( #4403 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-02-02 15:35:20 +00:00
James Rich
221e774471
chore: fix regressions in the release ( #4398 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-02-01 23:18:06 +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
James Rich
9a8a31b298
feat(charts): voltage, colors, legends, and adaptive ui ( #4383 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-30 23:20:57 +00:00
James Rich
c3580815cc
fix(node): fix regressions since node ui refactor ( #4379 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-30 21:24:24 +00:00
James Rich
f9cc7080f8
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #4363 )
2026-01-29 22:36:33 +00:00
James Rich
15760da074
Refactor: Create core:api module and set up publishing ( #4362 )
2026-01-29 13:45:00 -06:00
James Rich
68beca60a5
fix(reactions): fix sent message reaction alignment ( #4355 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-29 13:25:20 +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
James Rich
e2328adca2
refactor(firmware): Inject dispatcher into BleOtaTransport ( #4339 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-27 21:01:39 +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
James Rich
2f67727bf5
feat(messaging): Improve message bubble UI and add delivery status action ( #4330 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-27 00:26:27 +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
50a04a98b8
fix(ui): Prevent NaN values in environment metrics ( #4316 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-26 12:52:13 +00:00
James Rich
a28aa4d52e
refactor(ui): Icon audit and node list item refactor ( #4313 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-25 22:43:23 +00:00
James Rich
355d2260e8
feat: Add Status Message module support ( #4163 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-25 14:15:47 +00:00
James Rich
71628cac84
Refactor: Only show advanced and app settings for local node ( #4290 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-25 03:11:14 +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
James Rich
8eb349e794
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #4299 )
2026-01-25 02:46:00 +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
174228bc61
Fix(firmware): Disable serial/USB updates for ESP32 devices ( #4283 )
2026-01-21 19:17:57 +00:00
James Rich
fb6a4c96b8
fix: crashes ( #4281 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-21 16:21:10 +00:00
James Rich
7f7d189958
refactor(service): Add destination node number to remote admin commands ( #4276 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-21 08:27:20 -06:00
James Rich
cdfd0e3d5d
fix(configs): Improve loading state feedback and dialog behavior ( #4271 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-21 12:36:15 +00:00
James Rich
932c31c2b8
fix(ui): Hide battery icon when no power data is available ( #4274 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-21 03:41:49 +00:00
James Rich
b73a304452
refactor(firmware): Simplify ESP32 firmware check ( #4272 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-21 02:42:16 +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
3b0dda4491
fix(node): Correct owner ID and local user detection ( #4256 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-19 03:20:40 +00:00
James Rich
d9bc79b396
refactor(ui): Improve EmojiPicker layout constraints ( #4250 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-17 23:39:15 +00:00
James Rich
75a3f89f51
feat(firmware): Use pio_env to select correct firmware variant ( #4244 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-16 16:51:55 +00:00
James Rich
e470fa86eb
chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) ( #4237 )
2026-01-16 01:06:42 +00:00
James Rich
962137ae4d
refactor: Enable test coverage and update CI ( #4233 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-16 00:47:45 +00:00
Mac DeCourcy
afeff9a460
feat: retry message/reaction dialog ( #4195 )
2026-01-15 23:23:33 +00:00
James Rich
37b59af27b
feat: Localize traceroute strings ( #4228 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-15 16:43:55 +00:00
James Rich
1f07486745
feat: Add Client Base role strings ( #4227 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-15 16:40:21 +00:00
James Rich
2a60480bd9
feat: Add ESP32 Unified OTA update support ( #4095 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-15 03:22:30 +00:00
James Rich
f144454053
refactor(messaging): Redesign message bubbles and reaction UI ( #4217 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-15 02:40:05 +00:00
James Rich
418ebe387c
Refactor: Improve MessageItem layout and styling ( #4208 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-14 03:46:10 +00:00
James Rich
5d0d52517d
feat(messaging): Overhaul message bubbles and add actions ( #4206 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-14 02:43:06 +00:00