Commit Graph

6777 Commits

Author SHA1 Message Date
niccellular
8cab967c14 feat(lockdown): gate toggle on Capabilities.supportsLockdown; soften enable warning
- Add Capabilities.supportsLockdown (atLeast V2_8_0) and gate the security-screen
  lockdown toggle visibility on it, consistent with the other firmware-version
  capability flags. SecurityConfigScreen computes Capabilities from the connected
  node's firmware_version; LockdownModeSetting takes a `supported` flag.
- Reword the enable-lockdown warning: it's reversible (disable with passphrase, or
  a full erase), so drop the inaccurate "permanent/irreversible" framing and the
  red error styling; rename strings lockdown_irreversible_* -> lockdown_enable_*.
- Update CapabilitiesTest for the V2_8_0 floor.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 18:36:20 -04:00
niccellular
28f92d07f2 test: fix Kotlin/Native test compile for lockdown changes
The CI shard-core allTests job compiles commonTest for the iosSimulatorArm64
target, which surfaced issues the JVM-only local run missed:

- Update stale test fakes to the current interfaces: FakePassphraseStore
  (maxSessionSeconds on savePassphrase) and core/takserver's FakeCommandSender /
  FakeServiceRepository (lockdown send + state members). These predate this
  change but only the Native test compile catches them.
- Rename the DISABLED test: Kotlin/Native rejects commas in backtick names.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 16:49:11 -04:00
niccellular
d0857ef278 feat(lockdown): runtime enable/disable toggle and DISABLED state
Make lockdown a runtime, user-toggleable setting rather than a one-way lock:

- Thread a `disable` flag through the lockdown send path (CommandSender,
  LockdownCoordinator, MeshActionHandler, RadioController, AIDL, UIViewModel)
  so the app can send LockdownAuth{passphrase, disable=true} to decrypt
  storage and leave lockdown.
- Add LockdownState.Disabled and map LockdownStatus.State.DISABLED; clear the
  stored passphrase and session authorization when a device reports DISABLED
  (or when the user disables it), so we never auto-unlock a disabled device.
- Add a "Lockdown mode" switch to the security settings screen
  (LockdownModeSetting): enable from DISABLED via a set-passphrase dialog with
  a one-time irreversible-SWD warning + explicit confirm; disable from UNLOCKED
  via a passphrase prompt; "Lock now" and session info while unlocked. The
  setting is hidden when the device never reports lockdown_status (non-capable).
- Tests for the disable round-trip and DISABLED mapping; refresh fakes/strings.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 16:30:37 -04:00
niccellular
2d6425e078 fix(proto): bump submodule to #927 (disable/DISABLED) and drop stale Marti prune
Moves core/proto to PR #927 head (c834f6b), which adds LockdownAuth.disable
and LockdownStatus.State.DISABLED on top of develop. That tree has no
meshtastic.Marti message, so the Marti prune left over from the master merge
was unused and broke generateCommonMainProtos; remove it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 16:30:27 -04:00
niccellular
2f6c8288c4 Merge remote-tracking branch 'origin/main' into features/lockdown-v2
# Conflicts:
#	.specify/feature.json
#	AGENTS.md
#	core/proto/src/main/proto
#	feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/radio/component/SecurityConfigScreen.kt
2026-05-28 15:13:33 -04:00
github-actions[bot]
672b77b4e1 docs: update CHANGELOG.md (#5643) 2026-05-28 13:14:06 -05:00
renovate[bot]
bfece155fb chore(deps): update takpacket.sdk to v0.3.3 (#5642) 2026-05-28 13:09:04 -05:00
github-actions[bot]
1c36330615 docs: update CHANGELOG.md (#5641) 2026-05-28 12:45:18 -05:00
Ben Meadors
a5e6894fe8 Enhance TAKTALK support with message and room handling, update SDK to v0.3.2 (#5634)
Co-authored-by: James Rich <james.a.rich@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 17:33:16 +00:00
Austin
321b73e726 repo: Add Meshtastic Desktop icon SVGs (#5623)
Co-authored-by: James Rich <james.a.rich@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 12:34:14 -05:00
Copilot
a5d176d4d5 docs: add settings validation reference (#5218)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com>
2026-05-28 12:32:21 -05:00
github-actions[bot]
e65ef1030e docs: update CHANGELOG.md (#5639) 2026-05-28 11:34:30 -05:00
renovate[bot]
73a2d9f624 chore(deps): update plugin org.meshtastic.flatpak.sources.settings to v0.1.2 (#5637) 2026-05-28 11:33:21 -05:00
James Rich
d125d955f2 ci(changelog): exclude changelog commits and fix contributor duplication (#5638)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 10:56:56 -05:00
github-actions[bot]
cf0c246433 docs: update CHANGELOG.md (#5620) 2026-05-28 10:49:02 -05:00
James Rich
d892f43e00 fix(database): stabilize flaky DatabaseManagerWithDbRetryTest (#5635)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 10:44:59 -05:00
James Rich
3fe21e1736 docs(governance): add agent behavior and cost efficiency rules (#5636)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 10:44:16 -05:00
renovate[bot]
de3d65a10a chore(deps): update takpacket.sdk to v0.3.2 (#5632)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 04:19:15 -07:00
James Rich
a79e30e698 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5631)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-05-28 03:42:49 -07:00
renovate[bot]
19ea164f93 chore(deps): update core/proto/src/main/proto digest to e3c8af5 (#5629)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 02:42:34 +00:00
renovate[bot]
1a7b343924 chore(deps): update gradle/actions action to v6 (#5630) 2026-05-27 21:23:13 -05:00
renovate[bot]
10569eb9dd chore(deps): update github artifact actions (major) (#5628) 2026-05-27 19:56:52 -05:00
renovate[bot]
837f5596f8 chore(deps): update actions/setup-java action to v5 (#5627) 2026-05-27 19:56:35 -05:00
James Rich
2277aae6e9 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5625)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-05-28 00:34:34 +00:00
renovate[bot]
8c9c942949 chore(deps): update takpacket.sdk to v0.3.1 (#5626)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-28 00:34:17 +00:00
James Rich
b9315d4b3f feat: adopt gradle-flatpak-sources plugin for offline Flatpak builds (#5619)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 00:33:35 +00:00
James Rich
fda8f97f32 fix(proto): prune TakTalkMessage and TakTalkRoomData from Wire codegen (#5624)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-27 13:54:52 -05:00
James Rich
29345709e9 Upgrade takpacket-sdk to version 0.3.0 (#5621)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-05-27 12:24:24 -05:00
James Rich
562ac73901 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5616) 2026-05-27 12:04:04 -05:00
renovate[bot]
7df0ee08e5 chore(deps): update core/proto/src/main/proto digest to 9ab4a1d (#5617) 2026-05-27 11:57:51 -05:00
renovate[bot]
c29f7ce291 chore(deps): update spotless to v8.6.0 (#5618) 2026-05-27 11:57:22 -05:00
github-actions[bot]
e5a2e8c063 docs: update CHANGELOG.md (#5614) v2.7.14-open.13 v2.7.14-internal.108 v2.7.14-closed.31 2026-05-26 16:16:59 -05:00
James Rich
30dfa374ae fix(kmp): skip iOS targets on hosts where Kotlin/Native is unsupported (#5615)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 16:16:31 -05:00
James Rich
7bdd0d5c78 ci: always build desktop on internal releases (#5613)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-26 16:05:03 -05:00
github-actions[bot]
4866b38a84 docs: update CHANGELOG.md (#5612) 2026-05-26 15:51:06 -05:00
renovate[bot]
dad5e41c7a chore(deps): update devtools.ksp to v2.3.9 (#5611) 2026-05-26 15:50:34 -05:00
James Rich
a4522f9f4d fix(flatpak): generate complete offline-buildable manifest for desktopApp (#5610)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 20:33:23 +00:00
github-actions[bot]
c55d6e0ac4 docs: update CHANGELOG.md (#5605) 2026-05-26 13:16:13 -05:00
James Rich
212270ebf0 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5607)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-05-26 13:14:32 -05:00
renovate[bot]
5431ba87c4 chore(deps): update core/proto/src/main/proto digest to e4219a0 (#5608) 2026-05-26 13:14:11 -05:00
renovate[bot]
86e329b752 chore(deps): update takpacket.sdk to v0.2.6 (#5609) 2026-05-26 13:13:57 -05:00
James Rich
a95cfdfb72 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5604)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
v2.7.14-internal.107 v2.7.14-open.12 v2.7.14-closed.30
2026-05-26 08:04:24 -05:00
renovate[bot]
5352c96259 chore(deps): update plugin com.gradle.develocity to v4.4.2 (#5602) v2.7.14-internal.106 v2.7.14-internal.105 2026-05-26 07:01:44 -05:00
renovate[bot]
14764a70e0 chore(deps): update com.gradle.develocity to v4.4.2 (#5601) 2026-05-26 07:01:31 -05:00
renovate[bot]
06b0ad4b3e chore(deps): update fastlane to v2.235.0 (#5600) 2026-05-26 06:25:41 -05:00
James Rich
2fa11507c5 refactor(flatpak): retire heuristic cache scanner, adopt build-ops capture (#5599)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 06:24:25 -05:00
github-actions[bot]
d51552122f docs: update CHANGELOG.md (#5594) 2026-05-25 16:25:28 -05:00
James Rich
184d547c78 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#5598)
Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com>
2026-05-25 16:25:01 -05:00
James Rich
f17c38bf64 fix(emoji): enable androidResources for core:ui to package emoji-data.json (#5597)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-25 20:40:55 +00:00
James Rich
55e7f8f3de fix: consistent column width for compact node list items (#5596)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-25 20:32:31 +00:00