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
1e255a5120
feat: Check if NFC is enabled and prompt user to enable it ( #4482 )
2026-02-06 18:08:35 +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
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
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
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
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
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
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
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
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
a67b519abd
feat: Add mute node functionality ( #4181 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-10 21:35:01 +00:00
James Rich
399dce19a6
fix(meshlog): Change default retention to 30 days ( #4177 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-09 22:38:36 +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
02cf1f1034
refactor(datetime): Standardize date/time formatting with DateUtils ( #4164 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-08 18:43:50 +00:00
James Rich
8400ae854f
feat: Add initial handling for Store and Forward PlusPlus packets ( #4136 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-01-05 01:20:57 +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
emp3r0r7
d8a1f88bda
fix : avoid our node to be a relaynode candidate ( #4037 )
2025-12-18 14:25:18 +00: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
1d8ae61ac2
refactor(settings): Use string resources for update intervals ( #3937 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2025-12-09 21:07:07 +00:00
James Rich
5e4128d45f
Revert "block creation or sending of duplicate channels. " ( #3921 )
2025-12-06 16:14:23 +00:00
Dane Evans
7db7f61386
block creation or sending of duplicate channels. ( #3913 )
2025-12-06 12:47:33 +00:00
James Rich
499ed58311
feat(firmware): Implement USB DFU updates for supported devices ( #3901 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2025-12-06 12:36:54 +00:00
Mac DeCourcy
e18f72dbf2
feat: add infrastructure shutdown safeguards and enhance shutdown dialog text ( #3858 )
2025-11-30 12:59:05 +00:00
Mac DeCourcy
1c3784235e
fix: Multiple bugs - settings text fields, dropdowns, missing override duty cycle, and MQTT icon display ( #3833 )
2025-11-27 01:45:09 +00:00
James Rich
3efbcaab8b
feat(settings): Add RTTTL ringtone playback in settings ( #3799 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2025-11-24 19:48:52 +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
James Rich
73d933fe14
feat(connections): Connecting state refactor ( #3722 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2025-11-17 21:15:22 +00:00
Dane Evans
12d96b76db
fix #3509 : MQTT reporting interval not being selected, and sent to node ( #3717 )
2025-11-16 15:37:44 +00:00
Dane Evans
a22513660a
add back arrow to the channelConfig screen ( #3713 )
2025-11-16 04:29:00 +00:00
James Rich
6590ea0ef0
feat(ble): Add support for LogRadio characteristic, enhance logs ( #3691 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2025-11-13 19:53:37 +00:00