Commit Graph

6195 Commits

Author SHA1 Message Date
James Rich
b708b2ff76 feat: implement batched NodeInfo delivery in handshake protocol
This commit introduces support for `NodeInfoBatch` messages, allowing the application to receive and process multiple node records efficiently during the second stage of the device handshake. This replaces the legacy approach of sending node information individually, improving synchronization performance.

Key changes include:

- **Handshake Protocol:**
    - Added `BATCH_NODE_INFO_NONCE` to `HandshakeConstants`.
    - Updated `MeshConnectionManagerImpl` to request batched node information by default during the handshake process.
    - Updated `MeshConfigFlowManagerImpl` to handle the batch-specific completion nonce, ensuring Stage 2 of the handshake finalizes correctly.

- **Packet Handling:**
    - Enhanced `FromRadioPacketHandlerImpl` to detect `node_info_batch` packets.
    - Implemented logic to iterate through batched items and process each `NodeInfo` record via the `MeshConfigFlowManager`.
    - Updated connection progress reporting to reflect the count of nodes received within a batch.

- **Testing and Simulation:**
    - Updated `MockInterface` to simulate batched node delivery, refactoring the mock response logic into distinct Stage 1 (config) and Stage 2 (node info) phases.
    - Added a unit test in `FromRadioPacketHandlerImplTest` to verify that batched items are correctly routed and that the UI connection status is updated.

Specific changes:
- Modified `HandshakeConstants` to document the transition to batched NodeInfo delivery in Stage 2.
- Updated `MeshConnectionManagerImpl.startNodeInfoOnly()` to use the new batch nonce.
- Added `nodeInfoBatch` processing branch to the `handleFromRadio` logic.
2026-04-03 10:51:17 -05:00
James Rich
fda96e2f8c chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4975) v2.7.14-internal.41 v2.7.14-closed.12 2026-04-03 09:13:23 -05:00
renovate[bot]
e468818c82 chore(deps): update org.junit.platform:junit-platform-launcher to v6 (#4983)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 09:09:57 -05:00
renovate[bot]
919da2904e chore(deps): update junit5 to v6 (major) (#4982)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 09:08:03 -05:00
renovate[bot]
9544df2bb9 chore(deps): update org.junit.platform:junit-platform-launcher to v1.14.3 (#4981)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 09:02:31 -05:00
renovate[bot]
db5403b436 chore(deps): update junit5 to v5.14.3 (#4980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-03 08:59:43 -05:00
James Rich
fc86c696cd feat(wifi-provision): add mPWRD-OS branding and disclaimer banner (#4978) 2026-04-03 13:47:15 +00:00
James Rich
51251ab16a feat(ci): shard test suite and enable JUnit 5 parallel execution (#4977) 2026-04-03 13:08:49 +00:00
James Rich
7e041c00e1 feat(wifi): introduce BLE-based WiFi provisioning for nymea-compatible devices (#4968) v2.7.14-internal.40 2026-04-02 17:31:17 +00:00
James Rich
1fee6c4431 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4973) 2026-04-01 18:40:29 -05:00
James Rich
176340be5f chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4972) 2026-04-01 16:49:55 -05:00
renovate[bot]
05229fd652 chore(deps): update xmlutil to v0.91.3 (#4971)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-01 16:48:57 -05:00
James Rich
0167063497 feat(analytics): expand DataDog RUM integration and align with iOS parity (#4970) 2026-04-01 20:27:28 +00:00
James Rich
e249461e3c feat(tak): introduce built-in Local TAK Server and mesh integration (#4951)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-04-01 20:21:25 +00:00
James Rich
d1ca8ec527 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4967) 2026-04-01 10:56:33 -05:00
James Rich
fefe74d217 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4965) 2026-04-01 12:45:23 +00:00
James Rich
89547afe6b Refactor and unify firmware update logic across platforms (#4966) 2026-04-01 12:14:26 +00:00
James Rich
d8e295cafb chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4964) 2026-03-31 21:15:06 -05:00
James Rich
7c9d007a1f chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4962) 2026-03-31 21:26:24 +00:00
James Rich
464a12b9f7 chore: standardize resources and update documentation for Navigation 3 (#4961) 2026-03-31 21:25:37 +00:00
James Rich
1faa802fe6 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4958) v2.7.14-internal.39 2026-03-31 14:07:18 +00:00
James Rich
6a5115b897 Refactor navigation to use NodeDetail route and fix radio settings (#4960) 2026-03-31 14:03:02 +00:00
James Rich
c75c9b34d6 feat: implement XModem file transfers and enhance BLE connection robustness (#4959) v2.7.14-internal.38 2026-03-31 03:49:31 +00:00
Roman Vlasenko
ae4465d7c8 fix(strings): Fix public key description (#4957) 2026-03-30 20:34:54 +00:00
renovate[bot]
38848b4ea4 chore(deps): update kotest to v6.1.10 (#4956)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-30 16:03:58 +00:00
James Rich
69f147a1d8 ci: Upgrade to JDK 21 and centralize CI configuration with new workflows (#4948) v2.7.14-internal.37 v2.7.14-closed.11 2026-03-27 17:06:19 +00:00
renovate[bot]
445ec27fa4 chore(deps): update ktor to v3.4.2 (#4947)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 16:49:00 +00:00
James Rich
ad6e12445b chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4943) 2026-03-27 14:51:32 +00:00
James Rich
f2d09ff79d Refactor nav3 architecture and enhance adaptive layouts (#4944)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-27 14:43:44 +00:00
James Rich
3feec759a1 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4939) 2026-03-27 02:45:08 +00:00
renovate[bot]
791601dec2 chore(deps): update wire to v6.2.0 (#4940)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-27 02:45:01 +00:00
James Rich
0bc7ca820b ci(github): add conditional desktop build to release workflows (#4938) 2026-03-26 15:03:27 -05:00
James Rich
1c1c208d48 chore(ci): implement tiered GitHub Actions runner strategy (#4937)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-26 18:18:03 +00:00
James Rich
e106badec7 build: update JVM toolchain and CI Java distribution (#4936) v2.7.14-internal.36 2026-03-26 12:25:05 -05:00
James Rich
d979269552 fix(ci): update APP_VERSION_NAME output reference in workflows (#4935) 2026-03-26 12:01:53 -05:00
James Rich
141b54ff9c feat: migrate to Material 3 Expressive APIs (#4934)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-26 16:42:46 +00:00
renovate[bot]
c259c76550 chore(deps): update codecov/codecov-action action to v6 (#4933)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 15:26:11 +00:00
James Rich
518096ddc8 build: update Compose Multiplatform and migrate lifecycle dependencies (#4932)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-26 15:18:45 +00:00
renovate[bot]
4be0fb9c65 chore(deps): update org.jetbrains.androidx.navigation3:navigation3-ui to v1.1.0-beta01 (#4931)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 09:08:36 -05:00
renovate[bot]
0d2c2e8a98 chore(deps): update jetbrains.lifecycle to v2.11.0-alpha02 (#4930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 13:52:16 +00:00
James Rich
3b485a0109 build: enable -Xjvm-default=all compiler flag (#4929)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-26 13:16:04 +00:00
renovate[bot]
e1fa05f63f chore(deps): update dokka to v2.2.0 (#4928)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 08:16:35 -05:00
James Rich
ff6e1813ea chore(github): update GitHub token reference in workflows (#4926) v2.7.14-internal.35 v2.7.14-closed.10 2026-03-25 21:32:14 -05:00
James Rich
da5b28443e ci: change jdk from jetbrains to temurin in non-release workflows (#4925) 2026-03-25 21:24:29 -05:00
James Rich
7484cc69b4 refactor(ui): remove labels from navigation suite items (#4924) 2026-03-25 21:14:17 -05:00
James Rich
36290fc94b build(github): add GITHUB_TOKEN to setup-java actions (#4923) v2.7.14-internal.34 2026-03-25 20:53:18 -05:00
James Rich
6f95435cfc ci: refine workflow permissions and version parsing logic (#4922)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-26 01:16:22 +00:00
James Rich
a005231d94 Refactor map layer management and navigation infrastructure (#4921)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-26 00:29:24 +00:00
James Rich
b608a04ca4 chore: Scheduled updates (Firmware, Hardware, Translations, Graphs) (#4912) 2026-03-25 16:37:36 -05:00
renovate[bot]
d62481a532 chore(deps): update actions/deploy-pages action to v5 (#4920)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-25 16:37:26 -05:00