Commit graph

2595 commits

Author SHA1 Message Date
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
James Rich
75143ba07c feat(service): Preserve Connecting state on reconnect
Keeps the connection state as 'Connecting' if it was not 'Disconnected' when `handleConnected` is called.

This prevents the UI from briefly showing a disconnected state during a reconnection attempt, such as when the device is rebooting.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 15:40:08 -06:00
James Rich
0bcc801bc4 feat: Always notify on connection changes
This commit modifies the `onConnectionChanged` function to ensure that all connection state changes are reported, including transitions to the same state. Previously, redundant notifications were suppressed unless the state was `Connected`. This change allows for consistent handling of all connection events.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 15:27:20 -06:00
James Rich
8c46a0c946 feat: Add disconnect broadcast and improve app port handling
This commit introduces several enhancements to the service broadcasts and data handling:

-   **Disconnect Broadcast**: Adds and triggers a new `ACTION_MESH_DISCONNECTED` broadcast when the mesh connection state changes to `Disconnected`. This provides a more specific intent for apps to listen for disconnection events.

-   **Expanded App Port Handling**:
    -   Adds explicit broadcast actions for various app port numbers (e.g., `ATAK_PLUGIN`, `PRIVATE_APP`, `DETECTION_SENSOR_APP`).
    -   Ensures that packets for `ATAK`, `PRIVATE_APP`, and `DETECTION_SENSOR_APP` are now correctly broadcast to external applications.
    -   Implements a default behavior to broadcast any unrecognized port numbers, allowing for future extensibility and support for third-party apps.

-   **Backward Compatibility**: When broadcasting received data, a secondary broadcast with the numeric port number is also sent to maintain compatibility with older applications that may rely on it.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 15:10:00 -06:00
James Rich
fad26f1273
feat: Improve connection state broadcast and timing (#4498)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 18:52:35 +00:00
James Rich
6ec2ed76ca
feat: Queue special app PortNums when disconnected (#4495)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-07 17:13:41 +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
1e255a5120
feat: Check if NFC is enabled and prompt user to enable it (#4482) 2026-02-06 18:08:35 +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
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
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
221e774471
chore: fix regressions in the release (#4398)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-02-01 23:18:06 +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
15760da074
Refactor: Create core:api module and set up publishing (#4362) 2026-01-29 13:45:00 -06:00
James Rich
70a1b3c479
Refactor: Replace custom charts with Vico library (#4348)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-29 00:52:59 +00:00
James Rich
091ca9b400
fix(neighborinfo): disable neighbor info dialog temporarily (#4345)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-28 03:21:04 +00:00
James Rich
dff3e60b8c
fix(node): list and detail usability fixes (#4336)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-27 18:33:46 +00:00
James Rich
2b6c3185b0
fix(mesh): Set hopStart to match hopLimit in sent packets (#4324)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-26 17:50:04 +00:00
James Rich
a7d386db81
fix(notifications): Suppress notifications for muted contacts an… (#4323)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-26 14:31:37 +00:00
James Rich
fc5255a0f0
refactor(core): Optimize and share network state flows (#4320)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-26 12:59:53 +00:00
James Rich
4d7af80389
fix(service): Add error handling for invalid StoreForward++ packets (#4319)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-26 12:56:52 +00:00
James Rich
28cf2b1e98
fix(usb): Add error handling for serial write operations (#4318)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-26 12:55:11 +00:00
James Rich
a28aa4d52e
refactor(ui): Icon audit and node list item refactor (#4313)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 22:43:23 +00:00
James Rich
355d2260e8
feat: Add Status Message module support (#4163)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 14:15:47 +00:00
James Rich
2cdfababe5
feat(node): Refactor Node Detail screen and enhance user feedback (#4291)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 03:00:23 +00:00
James Rich
576ae6757f
feat(service): Introduce fallback worker to ensure service stays alive (#4295)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-25 02:25:09 +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
fb6a4c96b8
fix: crashes (#4281)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-21 16:21:10 +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
45227fb142
feat(test): Add comprehensive unit and instrumentation tests (#4260)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-20 01:52:03 +00:00
James Rich
3b0dda4491
fix(node): Correct owner ID and local user detection (#4256)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-19 03:20:40 +00:00
James Rich
a41856319c
refactor: Use device address to manage service lifecycle (#4251)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-18 01:54:13 +00:00
James Rich
75a3f89f51
feat(firmware): Use pio_env to select correct firmware variant (#4244)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-16 16:51:55 +00:00
Mac DeCourcy
afeff9a460
feat: retry message/reaction dialog (#4195) 2026-01-15 23:23:33 +00:00
James Rich
37b59af27b
feat: Localize traceroute strings (#4228)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-15 16:43:55 +00:00
James Rich
5a59dcf2e2
feat(connections): Improve connection screen UI and logic (#4224)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-15 15:36:03 +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
399dce19a6
fix(meshlog): Change default retention to 30 days (#4177)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-09 22:38:36 +00:00
Mac DeCourcy
63318bf66e
Dedup repeat messages/reactions due to sfpp (#4174)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-09 21:56:20 +00:00
James Rich
7744a42e1c
refactor(deps): inject CoroutineDispatchers (#4170)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-08 23:40:26 +00:00
James Rich
e2bbdff1b7
feat: Handle Store and Forward heartbeat packets (#4168)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-08 20:26:08 +00:00
James Rich
782c068ead
feat: Add SFPP confirmed status to Messages and Reactions (#4139)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
Co-authored-by: Mac DeCourcy <github.znq26@slmail.me>
2026-01-08 13:21:21 +00:00
James Rich
78bd1ad6dd
feat: Mute broadcast Reaction notifications by default (#4159)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-08 04:06:28 +00:00
James Rich
2526728859
feat: Add acknowledgement status and retry for emoji reactions (#4142)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-06 17:43:36 +00:00
James Rich
6bb54bcd55
fix: reaction display regression (#4141)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-05 19:32:25 +00:00
James Rich
8400ae854f
feat: Add initial handling for Store and Forward PlusPlus packets (#4136)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-05 01:20:57 +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
e5f78d101c
feat: Improve node handling and add client notifications (#4130)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-01-04 17:32:13 +00:00