Commit graph

196 commits

Author SHA1 Message Date
andrekir
ad9a3a5e49 refactor: move RadioConfig files to separate package 2025-01-11 08:02:54 -03:00
andrekir
7794c08190 refactor: replace Scaffold with internal component 2025-01-06 19:50:25 -03:00
andrekir
1c863f35f6 refactor: migrate ShareFragment to Compose 2025-01-06 19:16:40 -03:00
andrekir
c1ca8f919d fix: switch preference bottom padding 2025-01-04 16:20:16 -03:00
andrekir
e73a67909a refactor: replace message chip with user avatar 2025-01-04 15:34:26 -03:00
Robert-0410
70a08c9d31
feat: Scrollable Signal Chart (#1505)
* Removed repeated calculation.

* Centralized the radius used to plot points and draw lines within GraphUtil.kt.

* Updated the signal metrics chart to use the scroll features.

* SignalMetricsChart long method warning suppression.
2025-01-03 09:02:32 -03:00
andrekir
5dcfe0e68a feat: add ROUTER_LATE role description 2025-01-02 08:05:40 -03:00
andrekir
13b615a470 chore: update license header 2025-01-02 07:00:51 -03:00
Andre K
60e7e18116
feat(config): implement excluded modules validation (#1460)
* feat(config): implement excluded modules validation

* feat: hide excluded configs from metadata

* refactor: save local metadata from WantConfig

* refactor: delete metadata from deleted nodes

* fix: always request metadata for admin routes

* feat: show node firmware when metadata is available

* refactor: rename filter function

* feat: add `ServiceAction` request metadata
2025-01-02 06:38:33 -03:00
Robert-0410
16a8503207
refactor: Line breaks for time separations linked to TimeFrame (#1502) 2024-12-23 07:34:22 -03:00
andrekir
74497488a7 refactor: remove getString() from RadioConfigViewModel 2024-12-22 06:34:19 -03:00
andrekir
8226207dbf fix: node key status dialog public key selection 2024-12-17 12:31:16 -03:00
Robert-0410
06bf9e5ecd
feat: device metrics time breaks (#1456)
* The battery line is only drawn from point to point when we don't have a significant break in time.

* Implemented GraphUtil.plotPoint

* Implemented GraphUtil.createPath

* Added licence to GraphUtil.kt.
2024-12-11 11:48:15 -03:00
andrekir
165f5a2b49 chore: enable detekt license header template 2024-12-10 12:14:21 -03:00
andrekir
1ea55b2209 refactor: move ignore node to is_ignored field in NodeInfo 2024-12-07 08:18:18 -03:00
andrekir
746f155a99 feat: add Public Key to node key status dialog 2024-12-05 19:45:34 -03:00
andrekir
dd3a77e2f7 feat: add reaction dialog with grouped emojis and user list 2024-12-03 17:47:22 -03:00
andrekir
ca8a49d862 fix: enforce single-line NodeSignalQuality text 2024-12-03 10:23:27 -03:00
andrekir
9cb7f89315 refactor: start DeviceMetrics chart at current time 2024-12-03 10:23:26 -03:00
andrekir
96087cca59 refactor: move message files to separate package 2024-12-03 09:14:32 -03:00
James Rich
2234f5a713
feat: add emoji reactions to message bubbles (#1421)
* Add tapback emojis to message bubbles

Added TapBackEmojiItem composable to display tapback emojis.
Included it in MessageItem composable for incoming messages.
Added a FlowRow to show tapback emojis below the message bubble.

* feat: Add EmojiPicker View

* feat: show emojis for local messages

* feat: Add emoji tapbacks to messages

This commit introduces the ability to send and receive emoji tapbacks for messages.

- Adds emoji and replyId fields to DataPacket.
- Adds emoji tapback support to the MeshService
- Modifies UIState to handle emojis in message lists.

* feat: store tapbacks in database

Store tapbacks in the database and display them in the message list.
- Add a new table to the database to store tapbacks.
- Add a new DAO method to insert and retrieve tapbacks.
- Update the message list UI to display tapbacks.

* refactor: relation db and other changes

---------

Co-authored-by: Andre K <andrekir@pm.me>
2024-12-03 08:57:35 -03:00
Robert-0410
b3f4929cf4
feat: Scrollable x axis (#1445)
* Started horizontal scrolling for DeviceMetrics. Drawing lines based on the TimeFrame and setting the dp.

* Wrote YAxisLabels(), it will replace the Y labels portion of the ChartOverlay(). The composable works for either side of the graph.

* Wrote HorizontalLinesOverlay(), it will replace the horizontal lines portion of the ChartOverlay().

* Updated the data points to use their actual x values.

* Based the width of the scrollable graph on time.

* Added a date label to the TimeAxisOverlay.
2024-12-01 07:22:54 -03:00
andrekir
5d3b36532f refactor: move dialog into NodeKeyStatusIcon component 2024-11-30 21:10:54 -03:00
andrekir
f4c24dbfff fix: enforce SignalInfo single-line layout
closes #1441
2024-11-30 14:19:39 -03:00
andrekir
1219d3037e chore: add GPL-3.0 license headers to source files 2024-11-26 08:54:18 -03:00
andrekir
c4b07af408 feat: add EnvironmentMetrics distance, lux, wind and weight to node detail
closes #1399
2024-11-23 07:16:35 -03:00
andrekir
f73d909cd0 refactor: consolidate QR code scanning methods 2024-11-21 10:32:37 -03:00
Robert-0410
75003bb6f0
feat: Signal Quality in NodeItem (#1425)
* Composable that provides the snr and rssi within a row, along with docs for the two exposed functions in LoraSignalIndicator.kt.

* Fancied up the signal data within the NodeItem.
2024-11-21 07:52:54 -03:00
andrekir
91c8c7809a fix: six-month comparison logic in PositionLog 2024-11-19 15:18:51 -03:00
James Rich
fb04805255
Fix: Show 'unknown' for position logs older than 6 months (#1416)
* Fix: Show 'unknown' for position logs older than 6 months

Display 'unknown' instead of the timestamp for position logs older than 6 months. This addresses an issue where unknown timestamps were incorrectly shown as 1970 (unix epoch).

* Fix: make detekt happy

* Replace "Unknown" with "Unknown Age" in position logs

The text displayed for positions older than six months in position logs has been changed from "Unknown" to "Unknown Age". This update adds clarity and context to the age of positions in the log.
2024-11-19 10:29:44 -03:00
andrekir
ee75ba3392 feat: pass users preferred tile source to MapViews 2024-11-15 07:10:01 -03:00
andrekir
30b7cc90ce feat: add new NeighborInfo config 2024-11-15 06:51:32 -03:00
Robert-0410
013e3de792
refactor: Conducting time filter at the component lvl to avoid metric nav cards from being disabled when we don't have recent data (#1402) 2024-11-13 07:24:40 -03:00
Abdelkader Boudih
f6af9b8782
fix: rename to quadraticTo for consistancy (#1397) 2024-11-13 07:21:22 -03:00
andrekir
f38a7ac0de refactor: maintain NodeMenu item order for consistency 2024-11-12 09:24:37 -03:00
Robert-0410
7e54ad950c
feat: Metrics time selection (#1396) 2024-11-11 17:54:26 -03:00
andrekir
5480174ec9 fix(config): respect enabled parameter for Send button 2024-11-11 17:27:03 -03:00
andrekir
683b354dd4 feat: add optional summary text to SwitchPreference 2024-11-11 17:08:24 -03:00
James Rich
2d2d94924b
refactor: Migrate Node dropdown menu to Compose (#1386) 2024-11-09 08:14:40 -03:00
andrekir
b053f1afda refactor: extract map defaults to MapViewWithLifecycle 2024-11-09 05:34:14 -03:00
Andre K
227c65f191
feat: node map position history log (#1384) 2024-11-06 11:00:38 -03:00
andrekir
a8c810bae2 feat: add DeviceConfig RebroadcastMode descriptions 2024-11-06 10:22:31 -03:00
andrekir
336b05236c refactor: position log text size and weight 2024-11-06 10:22:31 -03:00
andrekir
1c91df4e67 fix: check for admin key before enabling managed mode 2024-11-03 06:57:29 -03:00
andrekir
adbe5952fc feat: position logs 2024-11-02 17:22:54 -03:00
andrekir
26f210047d refactor: split MetricsViewModel state updates
- Consolidates `MetricViewModel` back to a single state flow
- Introduces a `MutableStateFlow` for state updates, allowing more independent control
- Moves `Telemetry`, `MeshPacket`, and config updates into separate coroutines
2024-11-02 09:46:15 -03:00
andrekir
1aa0b138fc refactor(config): extract components from NavGraph to screens 2024-10-31 19:45:27 -03:00
andrekir
b668a21b68 refactor: move node detail logs to shared ViewModel 2024-10-30 18:53:44 -03:00
andrekir
b91a6d8388 refactor(traceroute): unified route methods for consistency 2024-10-27 10:31:58 -03:00
andrekir
cfb38e9951 feat: add option to delete traceroute log 2024-10-26 05:57:18 -03:00