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
James Rich
5d9e71da39
feat: node list density switching with compact layout and field toggles ( #5444 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-21 17:44:48 -05:00
niccellular
3b02df3e67
Merge remote-tracking branch 'origin/main' into features/lockdown-v2
...
# Conflicts:
# .specify/feature.json
# AGENTS.md
# core/proto/src/main/proto
2026-05-21 14:01:47 -04:00
James Rich
c26ef946b1
feat(docs): upgrade Chirpy assistant with streaming and live diagnostics ( #5564 )
2026-05-21 10:25:19 -05:00
James Rich
ea85b906e8
feat(nav): rename tab labels to canonical order ( #5551 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-20 17:57:08 -05:00
James Rich
9d5e20c742
feat: align node list context menu to canonical 6-item order ( #5548 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-20 22:31:35 +00:00
James Rich
4c588b73f8
fix(settings): rename UDP toggle label for cross-platform audit alignment ( #5549 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-20 21:51:29 +00:00
James Rich
676be26460
Remove admin_channel_enabled toggle from Security Config screen ( #5547 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-20 21:14:45 +00:00
James Rich
fc0df1a79a
feat(docs): In-app documentation browser with Jekyll site and Docusaurus sync ( #5445 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 04:00:22 +00:00
James Rich
f5128798a8
feat: adopt Material 3 Expressive design system (M3-native APIs only) ( #5479 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 01:10:47 +00:00
James Rich
f4b6b02ace
refactor(build): rename entry modules and remove DESKTOP_ONLY mode ( #5476 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-18 12:44:12 +00:00
Ben Meadors
a04a261b80
feat: TAK v2 protocol integration with zstd compression and full CoT type support ( #5434 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: jamesarich <2199651+jamesarich@users.noreply.github.com >
Co-authored-by: James Rich <james.a.rich@gmail.com >
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-14 12:50:01 +00:00
James Rich
1d24b38746
fix: sync spec docs and add edge-case coordinator tests
...
Spec docs:
- lockdown-ui.md: TTL fields now shown in unlock mode, not just provision
- data-model.md: note Lazy<MeshConnectionManager> in relationships
- plan.md: correct module :core:datastore -> :core:service
Tests (2 new):
- NEEDS_PROVISION after lockNow does not trigger LockNowAcknowledged
- UNLOCKED with no deviceAddress skips save but still authorizes
2026-05-13 12:50:30 -05:00
James Rich
2a1734d932
fix: finish lockdown review follow-ups
...
Address remaining review items, add integration and JVM store tests,
and sync the lockdown spec docs with the implemented API and UI.
2026-05-13 11:59:56 -05:00
James Rich
3b518ba7db
docs: update lockdown spec docs to match implementation
...
Sync contracts, plan, and tasks with actual interface signatures,
module paths, and JVM encrypted store implementation.
2026-05-13 11:07:16 -05:00
James Rich
7beb639761
feat: implement lockdown mode authentication
...
- Add LockdownCoordinator state machine with auto-replay, lock-now,
and error-resilient passphrase store calls
- Add EncryptedSharedPreferences-backed Android passphrase store
with nullable fallback on crypto init failure
- Add LockdownDialog (provision/unlock/backoff) with byte-length
passphrase validation and string resources
- Add LockdownSessionStatus composable for token info display
- Gate region-unset banner on sessionAuthorized in ConnectionsScreen
- Wire Lock Now button in SecurityConfigScreen
- Add LockdownCoordinatorImplTest covering all state transitions,
auto-replay, lock-now, error paths, and uint32 overflow
- Add FakeLockdownCoordinator and update test fakes
- Delete unused LockdownUnlockDialog.kt
2026-05-13 10:49:50 -05:00
James Rich
d25136f83e
fix: resolve compile errors from PR merge
...
- Replace java.text.DateFormat/java.util.Date usage in SecurityConfigScreen
(constitution violation: no java.* in commonMain) with simplified Lock Now button
- Replace material.icons imports with MeshtasticIcons in LockdownUnlockDialog
- Proper token info display to be re-implemented in Phase 5 (T025-T026)
2026-05-13 09:03:11 -05:00
James Rich
73469b415e
chore: clean up brownfield specs and migrate to timestamp naming ( #5432 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-12 14:22:13 -05:00
James Rich
85c840de32
feat: add Compose Preview Screenshot Testing infrastructure ( #5410 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-12 02:18:23 +00:00
James Rich
95c3bc0bce
Brownfield gap remediation: 28 tasks + intro commonMain migration ( #5401 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-11 20:10:23 +00:00
James Rich
0d195ead53
docs: Update specs and governance for Android M3 accessibility ( #5392 )
2026-05-09 15:13:51 -05:00
James Rich
c0d95d6ac4
docs(specs): add feature specs for discovery, node-list-layout, and app-docs ( #5388 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-07 16:16:58 -05:00