Commit Graph

499 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
986c60ce88 docs: Update READMEs and library versions
This commit updates the README files for the `core:api`, `core:model`, and `core:proto` modules to improve documentation and reflect current usage.

Key changes include:
- Bumping the library version to `v2.7.13` in usage examples.
- Adding a detailed README for the `core:proto` module.
- Updating the `core:api` README to use `MeshtasticIntent` constants instead of hardcoded strings.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 15:54:51 -06:00
James Rich
34b0755192 refactor: Centralize Meshtastic intent constants
This commit centralizes all Android Intent constants into a new `MeshtasticIntent` object within the `core/api` module.

This refactoring makes the constants accessible to external applications and removes the duplicated definitions from the main application. The app and the service example have been updated to use these new centralized constants.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 15:45:11 -06:00
github-actions[bot]
a493cf1420 chore(release): prepare v2.7.13-internal.5 [skip ci]
- Bump base version to 2.7.13
- Sync translations and assets
2026-02-07 19:50:01 +00:00
James Rich
e94e4da904 feat(database): Enable Write-Ahead Logging for Room DB (#4499)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 19:20:26 +00:00
James Rich
7c37b308a0 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4494) 2026-02-07 18:52:55 +00: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
55f09fc6bb chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4493) 2026-02-07 14:56:32 +00:00
github-actions[bot]
57c443bf69 chore(release): prepare v2.7.13-internal.4 [skip ci]
- Bump base version to 2.7.13
- Sync translations and assets
2026-02-07 01:19:58 +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
bf4020a939 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4490) 2026-02-07 00:33:06 +00:00
James Rich
9c1b4847df chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4488) 2026-02-06 23:05:36 +00:00
renovate[bot]
64cd6b94d5 chore(deps): update core/proto/src/main/proto digest to e80cb2e (#4487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 23:05:21 +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
github-actions[bot]
78820863da chore(release): prepare v2.7.13-internal.3 [skip ci]
- Bump base version to 2.7.13
- Sync translations and assets
2026-02-06 18:41:28 +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
edd658f063 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4483) 2026-02-06 18:00:46 +00:00
James Rich
d4ab504882 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4480) 2026-02-06 16:44:44 +00:00
renovate[bot]
2ff8ffa4f8 chore(deps): update core/proto/src/main/proto digest to cba89ee (#4478)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-06 15:44:52 +00:00
James Rich
fce8e7cd08 feat(db): Add sender-based message filtering (#4477)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-06 15:13:59 +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
d9c6ba52b4 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4464) 2026-02-05 22:36:38 +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
9e6de124ee chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4461) 2026-02-05 16:39:14 +00:00
github-actions[bot]
3d274540b8 chore(release): prepare v2.7.13-internal.1 [skip ci]
- Bump base version to 2.7.13
- Sync translations and assets
2026-02-05 13:25:45 +00:00
James Rich
f1520eb383 feat(example): Add packet log and UI improvements (#4455)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-05 07:24:15 -06:00
James Rich
3eefa801d6 refactor(build): Introduce AndroidLibraryFlavors convention plugin (#4449) 2026-02-04 16:01:09 -06:00
James Rich
498a797740 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4443) 2026-02-04 14:51:48 +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
James Rich
e055d22346 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4438) 2026-02-04 02:41:48 +00:00
b8b8
0023887c04 Update strings.xml (#4432)
Signed-off-by: b8b8 <156552149+b8b8@users.noreply.github.com>
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-04 01:46:28 +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
9dbc8b7fbf refactor(model): Make DataPacket fully mutable and fix Parcel reading (#4431)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-03 21:14:24 +00:00
James Rich
a3e19d6ad7 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4426) 2026-02-03 18:35:06 +00:00
github-actions[bot]
e6536ea5be chore(release): prepare v2.7.12-internal.9 [skip ci]
- Bump base version to 2.7.12
- Add changelog for version code 29319934
- Sync translations and assets
2026-02-02 23:15:49 +00:00
github-actions[bot]
773b481a58 chore(release): prepare v2.7.12-internal.9 [skip ci]
- Bump base version to 2.7.12
- Add changelog for version code 29319931
- Sync translations and assets
2026-02-02 19:23:14 +00:00
github-actions[bot]
1e1b9e9a86 chore(release): prepare v2.7.12-internal.9 [skip ci]
- Bump base version to 2.7.12
- Add changelog for version code 29319929
- Sync translations and assets
2026-02-02 19:13:16 +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
fac72af9f4 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4399) 2026-02-02 15:25:47 +00:00
James Rich
16f380f0e3 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4395) 2026-02-01 21:27:16 +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
152099c7e9 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4385) 2026-02-01 14:12:03 +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
8941643f69 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4376) 2026-01-30 22:29:49 +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
b95c773ec7 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4375) 2026-01-30 10:19:08 -06:00
James Rich
742d57bd64 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4373) 2026-01-30 14:52:57 +00:00
James Rich
5441f87b7a Update README with JitPack integration details (#4372)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-30 13:30:06 +00:00
James Rich
b1cfaaa981 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4371) 2026-01-30 11:40:38 +00:00