Commit graph

243 commits

Author SHA1 Message Date
James Rich
3ef504c567
feat: prompt user to regenerate compromised keys (#2131) 2025-06-16 17:06:23 +00:00
Łukasz Kosson
69f2e8c839
feat: show distance to the node on node details screen (#2122) 2025-06-15 05:50:58 -05:00
James Rich
ad8f91482e
refactor: ClientNotification messages as an alert dialog (#2072) 2025-06-10 15:15:58 +00:00
Benjamin Faershtein
e7657c4763
feat: Added map filter + small waypoint fix (#2065)
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-06-10 12:03:30 +00:00
Łukasz Kosson
e781d6774b
feat: allow hiding offline and/or non-direct nodes from list and map (#2052)
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-06-09 12:44:53 -05:00
Benjamin Faershtein
5b6c8483e8
feat: add waypoint expiration picker (#2051) 2025-06-07 20:50:30 +00:00
James Rich
38982bc37b
refactor: recommended and required firmware updates (#2012) 2025-06-03 19:58:21 -05:00
James Rich
3115bbe58d
feat: add MQTT Map Reporting consent (#2006)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-03 15:39:58 +00:00
Robert-0410
e4313e0bd3
feat: Provide Navigation to Input Timezone (#2003) 2025-06-03 10:31:08 -05:00
James Rich
4d6eb3dfe9
feat: Allow direct message replies from notifications (#1994)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-31 20:48:24 -05:00
Robert-0410
5edc2a8d57
refactor: channel qr clean (#1983) 2025-05-30 19:50:45 -05:00
James Rich
b861d07aba
Refactor: Settings to Connections, ui updates (#1984)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-30 12:56:49 -05:00
James Rich
f48e127019
feat: host metrics part 2 (#1972) 2025-05-28 16:10:35 -05:00
James Rich
e31d4170b6
feat: add Host Metrics Log screen (#1969) 2025-05-28 20:57:38 +00:00
James Rich
9f0765526d
refactor: settings screen ui updates (#1955) 2025-05-28 01:02:53 +00:00
James Rich
6332b3bd42
feat(node): consolidate node chip and menu (#1941) 2025-05-26 19:36:32 -05:00
James Rich
46ba3eb3fd
feat(#1755): Add setting to display time in 12h format (#1918) 2025-05-23 14:44:14 +00:00
James Rich
02bb3f02e4
feat: network module (#1905) 2025-05-22 08:30:08 -05:00
James Rich
0057a6f2de
feat: Add request metadata action to NodeDetail (#1896) 2025-05-21 15:50:33 +00:00
James Rich
f6e75e970b
Refactor: Remove "include unmessageable" filter (#1889) 2025-05-21 03:08:40 +00:00
James Rich
990cd103d7
Refactor: Improve shared contact import dialog (#1888) 2025-05-20 21:57:14 -05:00
Robert-0410
5a52239721
feat: Channel Configuration ui (#1873) 2025-05-20 21:22:30 -05:00
James Rich
87076321ba
feat: Unmessageable (#1858) 2025-05-20 21:05:40 +00:00
James Rich
c99fe642b5
feat: Add Contact Sharing via QR code (#1859) 2025-05-20 13:36:11 -05:00
Slush
e90aa6c5ed
fix #1567: Allow using a different TCP port than default 4403 (#1861) 2025-05-19 06:30:23 -05:00
James Rich
4cba13ea14
feat: material3 (#1862) 2025-05-17 11:39:53 -05:00
James Rich
8cde47bdf9
refactor: migrate to Compose navigation (#1835)
Co-authored-by: andrekir <andrekir@pm.me>
2025-05-15 08:05:30 -05:00
Robert-0410
cd9167f19f
refactor: Node detail work (#1836) 2025-05-10 08:03:14 -05:00
James Rich
cc88487500
chore: extract string resources for import and export config (#1822) 2025-05-05 18:20:49 -05:00
James Rich
9648d0af77
refactor: extract more hardcoded strings (#1814) 2025-05-01 19:05:32 -05:00
James Rich
9c51245003
refactor (i18n): extract string resources from config for translation (#1794) 2025-04-28 18:09:16 -05:00
James Rich
18c204741a
feat: Update connected count string in strings.xml and MeshService.kt (#1776) 2025-04-22 09:54:10 -05:00
todd2982
7902e21a4a
feat #1632: Accessibility updates (#1705)
* Add description for node sort option button

* Add description for location view button

* Update description for channel url copy button

* appease detekt

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-23 20:26:28 -05:00
todd2982
123b296b6c
fix #1692: Clarify request options to exchange. (#1701) 2025-03-21 16:21:58 -05:00
todd2982
0a7d0ff4be
feat: Allow sorting by favorite nodes (#1700) 2025-03-21 16:16:54 -05:00
Ken Piper
373cfe7838
feat: Add a bit more info to the node marker popup (#1691) 2025-03-19 10:02:58 -05:00
Robert-0410
e839c43542
feat: Graph Barometric Pressure (#1684)
* refactor: condensed the process of drawing the lines in the env metrics

* feat: only include iaq in the env metric graph when we have actual values

* feat: plotting barometric pressure when we have actual values

* detekt: spacing after (

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-18 19:37:16 -05:00
James Rich
451be0b98c
feat #1688: Add UDP mesh toggle (#1689)
Adds a toggle to enable or disable mesh via UDP.
2025-03-18 18:44:39 -05:00
Ken Piper
c7c29cb1c1
feat: Initial implementation of low battery notifications for nodes (#1653)
* Add initial implementation of low battery notifications for locally-connected and favorite nodes

* Hopefully make detekt happy

* detekt pls.

* Deduplicate some of the code

* detekt'd
2025-03-08 04:52:30 -06:00
James Rich
d78bea2365
feat: Show ALERT_APP notifications and override DND (#1515)
* feat: Show alert notifications and override silent mode

This commit adds support for showing alert notifications with high priority and the ability to override silent mode to ensure they are delivered to the user.

The changes include:
- Adding `showAlertNotification` function which overrides silent mode and configures a custom volume, shows a notification with high priority.
- Creating a new notification channel for alerts.
- Adding the alert app port number to the list of remembered data types.
- Modifying `rememberDataPacket` to check for alert app messages and show alert notification.

* Add notification policy access permission and DND override for alerts

This commit adds the `ACCESS_NOTIFICATION_POLICY` permission to the manifest and requests this permission from the user. It also adds a check for notification policy access in the MainActivity, and if it's not granted, shows a rationale dialog.

Additionally, the commit adds a notification override to the `showAlertNotification` function in `MeshServiceNotifications` to temporarily disable DND for alert notifications and restore the original ringer settings afterwards.

* Refactor: Enhance Android Notification and DND Handling

-   **Notification Channel Improvements:**
    -   Added `notificationLightColor` for better customization.
    -   Set `enableLights` and `enableVibration` in the alert channel.
    -   Use `alert.mp3` sound for alert channel.
-   **DND Permission Request:**
    -   Introduced a new permission request flow for Do Not Disturb (DND) access.
    -   Show a rationale dialog before requesting permission.
    -   Persist if rationale was shown to avoid re-prompting.
    - Added a `notificationPolicyAccessLauncher` to handle the permission request result.
-   **Critical Alert Text**
    - Added critical alert text in strings.
    - Used critical alert text if the alert message is empty.
-   **Other Changes**
    - Removed unused imports and constants.
    - Updated snackbar to support action.

* Refactor alert notification logic

- Change `notificationLightColor` to be lazy initialized.
- Update alert notification to use `CATEGORY_ALARM`.
- Use `dataPacket.alert` instead of `dataPacket.text` for alert content.
- Add `alert` property to `DataPacket` to handle alert messages.

* Set notification light color back to blue.

* Request notification permissions on grant

The app now checks for notification policy access after notification permissions are granted.

* make detekt happy

* updates dnd dialog text

* Refactor notification channel creation and critical alerts

- Initialize notification channels on service creation.
- Remove `ACCESS_NOTIFICATION_POLICY` permission.
- Modify the logic for requesting "Do Not Disturb" override permission to align with channel settings.
- Add new string resources for Alerts Channel Settings.
- Update wording for critical alert DND override.
- Update DND override request flow.
- Create notification channels on the service creation using `initChannels`.
- Adjust logic to check for "Do Not Disturb" override permission to align with notification channel settings.
- Ensure notification channels are created only if they do not already exist.

* refactor: Update DnD dialog with instructions for Samsung

- Renamed "Alerts Channel Settings" to "Channel Settings".
- Added Samsung-specific instructions and a link to Samsung's support page for Do Not Disturb mode in the alerts dialog.
- Updated the dialog to display Samsung-specific instructions when on a Samsung device.

* Refactor critical alerts instructions

- Updated the critical alerts instructions to include a link to Samsung's support page directly within the alert dialog.
- Removed the separate "Samsung Instructions" string and incorporated the information into the main instruction text, improving clarity and reducing redundancy.
- Made improvements to the UI.
2025-03-05 07:28:52 -06:00
James Rich
2859bed416
feat #1611: Add confirmation dialog when changing to router role (#1636)
* Add confirmation dialog for changing to router role

Introduced a confirmation dialog that will be shown when changing the device role to "router".
The confirmation dialog includes links to the "Device Role Documentation" and "Choosing The Right Device Role" blog post.
The user must check a checkbox to confirm.

* Update router role handling

Modified the handling of the router role in `DeviceConfigItemList.kt` to avoid returning prematurely from the `onItemSelected` lambda. This ensures that the role is updated properly when a user selects the "ROUTER" role.

* removes konami code check, remove testing code

* Refactor router role confirmation text

- Moves the router role confirmation text to strings.xml.
- Updates to use `AnnotatedString.fromHtml` instead of `buildAnnotatedString` and `withLink`.
- Changes from hard-coded strings to string resources.
2025-03-05 07:26:19 -06:00
Joshua Soberg
c597b3b000
fix #1554 (a11y): Add content description to tabs for screen reader support (#1631) 2025-03-02 09:22:24 -06:00
Ken Piper
e15ad23c46
feat: Initial implementation of adding nodes to favorites (#1520)
* Implement initial support for adding and removing nodes from favorites

* Make favorite nodes' names show up bold in the node list

* Forgot to add this here when I was fixing the previous merge conflicts. Whoops!

* Make detekt happy

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-02-16 06:02:02 -06:00
Robert-0410
b067a0c0b3
feat: Power graph (#1556)
* Refactor: We can draw the horizontal lines for the graphs independent of min and max entries.

* Added navigation to the PowerMetrics log with a skeleton screen.

* Drew channel 1 voltage.

* Refactor: Assigned colors for the data within the enum instead of a list-ordinal combo.

* Plotted Ch1 current line.

* Refactor: Did not need the parameters being used to get the desired ui in the TimeLabels composable.

* Added a row to help distinguish between units.

* Refactor: MetricsTimeSelector.kt to SlidingSelector.kt; the new version allows for generic options.

* Added a sliding selector to choose between power channels and changed the legend data to instead display current and voltage.

* We now plot the line for which the user has selected a power channel option.

* Don't need the current line to be dotted anymore.

* Don't think we need to display an info dialog for voltage and current.

* Wrote card to display the power channel data entries.

* detekt

* Refactor: current color change to accommodate the themes better

---------

Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-02-15 22:37:05 -06:00
andrekir
41b067bad2 chore: update Crowdin localization strings 2025-01-04 15:48:15 -03:00
andrekir
5dcfe0e68a feat: add ROUTER_LATE role description 2025-01-02 08:05:40 -03:00
andrekir
8226207dbf fix: node key status dialog public key selection 2024-12-17 12:31:16 -03:00
rcarteraz
5d0b0e7d72
chore: Remove Discourse Links, Replace with Discussions (#1455)
* Update README.md

* update discourse links to discussions
2024-12-11 11:40:46 -03:00
andrekir
f9424f2abc feat: add Alert Bell to Quick Chat actions
closes #972
2024-12-03 10:23:27 -03:00
Andre K
3c581f81a8
refactor: migrate MessagesFragment to Compose (#1444) 2024-11-30 23:20:09 -03:00