Commit Graph

37 Commits

Author SHA1 Message Date
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
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
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
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
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
4e2c429180 feat(service): Overhaul MeshServiceExample (#4263)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-20 00:58:26 +00:00
James Rich
e470fa86eb chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4237) 2026-01-16 01:06:42 +00:00
Mac DeCourcy
afeff9a460 feat: retry message/reaction dialog (#4195) 2026-01-15 23:23:33 +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
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
49f6ffe6e5 feat: Enhance message notifications with history and actions (#4133)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-04 21:46:07 +00:00
James Rich
c46fb23f00 feat: Add separate notifications for waypoints (#4131)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-04 17:57:58 +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
Camerin Figueroa
250caa7c99 Implements#4054 - Add channel name to channel message notification (#4069) 2025-12-27 13:02:16 +00:00
James Rich
b996415ca9 feat: Add ability to request telemetry from a remote node (#4059) 2025-12-24 14:11:29 -06:00
Dane Evans
d33229c50f Feat request neighbours (#3709)
Signed-off-by: Dane Evans <dane@goneepic.com>
2025-12-21 20:45:06 +00:00
James Rich
42bc85b6fc feat(build): add module dependency graph generation (#4042) 2025-12-18 17:30:36 -06:00
Jord
9833795864 Traceroute map position snapshots (#4035)
Signed-off-by: Jord <650645+DivineOmega@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-18 14:14:03 +00:00
Jord
3dbc5108c2 feat: Traceroute map visualisation (#4002) 2025-12-16 16:53:28 +00:00
James Rich
03232047fd refactor: Remove unused connection transport state (#3933)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-12-08 20:22:17 +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
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
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
Dane Evans
7497ef71c0 feat #3436 - add current IP address' to the settings > network panel. (#3537) 2025-10-30 05:54:07 +00:00
James Rich
894da7a02a feat: Remove Bluetooth RSSI feature (#3504)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-10-20 13:17:34 +00:00
Phil Oliver
886e9cfede Modularize messaging code (#3435) 2025-10-12 17:07:03 +00:00
Phil Oliver
0fd3c4ca05 Protobuf package change (#3291) 2025-10-08 18:20:09 +00:00
Phil Oliver
36f1aabcb5 Remove remaining unused dependencies across the project (#3390) 2025-10-08 03:04:20 +00:00
Phil Oliver
da65dfdd15 Remove remaining unused dependencies in :core:* (#3387) 2025-10-08 00:08:48 +00:00
James Rich
24f0417b28 feat(contact): add manually verified shared contact support (#3283)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-02 16:46:12 +00:00
Phil Oliver
db2ef75e08 Add :core:service (#3253) 2025-09-30 20:55:56 +00:00