Commit graph

425 commits

Author SHA1 Message Date
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
Robert-0410
45e50b829a
refactor: 24H and 48H intervals (#1500) 2024-12-23 07:26:58 -03:00
andrekir
ed45d0ff96 fix: replace TODO with debug message for unhandled admin payload 2024-12-22 07:14:53 -03:00
James Rich
f3c59710f5
fix: Use case version of Heltec V3 and RAK4631 board images (#1497) 2024-12-22 07:04:19 -03:00
andrekir
74497488a7 refactor: remove getString() from RadioConfigViewModel 2024-12-22 06:34:19 -03:00
andrekir
22fafe8033 refactor: remove protobuf dependency from HardwareModel 2024-12-13 16:00:38 -03:00
andrekir
1a67ea8ad4 refactor: add DTO mapper for DeviceHardware 2024-12-10 12:55:48 -03:00
andrekir
165f5a2b49 chore: enable detekt license header template 2024-12-10 12:14:21 -03:00
James Rich
993f659742
feat: add support for Device Hardware json and svg graphics (#1449)
* feat: add support for Device Hardware json and svg graphics

Allows for better hardware device display names, graphics, and indication of support.

* make detekt happy

* Fix: Use first image name to find vector drawable

Use the first image name from the `images` list (after removing the ".svg" suffix) to find the corresponding vector drawable resource.

* Refactor: Update device detail layout

Updated the device detail layout to group device-specific information under a "Device" category.
Added a circular background with device-specific color behind the device icon.
Moved hardware, support status details to the Device section.

* Refactor: Move device hardware logic to MetricsViewModel

Moves the logic for retrieving device hardware information and image resources from NodeDetail to MetricsViewModel.

Also replaces id lookup with when statement for image resource id mapping.

* fix: cache deviceHardwareList, add exception handling

* refactor: mutable list unnecessary

* default to hw_unknown device image
2024-12-10 12:02:57 -03:00
andrekir
1ea55b2209 refactor: move ignore node to is_ignored field in NodeInfo 2024-12-07 08:18:18 -03:00
andrekir
4a1319a645 refactor: replace user with node in Message model 2024-12-05 19:50:15 -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
Andre K
3c581f81a8
refactor: migrate MessagesFragment to Compose (#1444) 2024-11-30 23:20:09 -03:00
andrekir
716a3f535f refactor: decouple NavGraph from ViewModel and NodeEntity 2024-11-30 08:05:48 -03:00
andrekir
174a4d0771 refactor: ensure node database flows on IO thread 2024-11-26 09:57:23 -03:00
andrekir
6230f13bff refactor: add custom formatting to LocalStats fields 2024-11-26 09:00:44 -03:00
andrekir
1219d3037e chore: add GPL-3.0 license headers to source files 2024-11-26 08:54:18 -03:00
andrekir
4e9055c9b1 fix: update channel URL to match channel selection 2024-11-25 20:09:50 -03:00
andrekir
80f8f2a591 refactor: implement repository pattern replacement for AIDL methods 2024-11-21 20:30:25 -03:00
andrekir
f73d909cd0 refactor: consolidate QR code scanning methods 2024-11-21 10:32:37 -03:00
andrekir
e33cf85df6 refactor: migrate DebugPanel to Compose 2024-11-19 17:07:51 -03:00
Andre K
475e9fc22c
refactor: migrate QuickChat to Compose (#1419) 2024-11-19 11:59:28 -03:00
James Rich
158e67f859
Fix: Deduplicate position logs (#1417)
Deduplicate position logs by filtering out duplicates based on time and location.
2024-11-19 10:41:33 -03:00
andrekir
ee75ba3392 feat: pass users preferred tile source to MapViews 2024-11-15 07:10:01 -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
andrekir
cfdb245da2 refactor: convert connectionState to StateFlow 2024-11-12 09:15:45 -03:00
andrekir
a980441fd1 refactor: move ignoreIncoming logic to ViewModel 2024-11-12 08:47:17 -03:00
andrekir
417523967e fix: move device list sorting to ViewModel 2024-11-11 18:31:26 -03:00
Robert-0410
7e54ad950c
feat: Metrics time selection (#1396) 2024-11-11 17:54:26 -03:00
andrekir
1d992d5caf fix: convert SNR values to Float for decimal precision 2024-11-11 16:41:06 -03:00
andrekir
1ae65ef267 refactor: pass nav args to ViewModel using SavedStateHandle 2024-11-10 07:45:25 -03:00
andrekir
296f1944b7 refactor: migrate Compose navigation to type-safe args 2024-11-10 07:45:25 -03:00
andrekir
e72940245c feat: persist node filters to SharedPreferences
closes #1392
2024-11-10 06:18:21 -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
dcd5ca1c8e fix: add missing PortNum for traceroute results 2024-11-02 06:21:32 -03:00
andrekir
74ae3fd594 refactor(config): move connectionState to RadioConfigState 2024-10-31 19:45:27 -03:00
andrekir
6526c91f3a fix: contact placeholder date when time is zero 2024-10-29 08:15:50 -03:00
andrekir
8af31bb0d0 fix(traceroute): route lists cleared before use are always empty
fixes #1355
2024-10-27 10:16:17 -03:00
andrekir
cfb38e9951 feat: add option to delete traceroute log 2024-10-26 05:57:18 -03:00
andrekir
26ca4af568 refactor: move Message date formatting to ViewModel 2024-10-26 05:44:59 -03:00
James Rich
6447485199 fix: set user.id in NodeDb getUser
This commit updates the `getUser` function in `NodeDB` to set the ID of the user when creating a new `User` object, ensuring that the user ID is always populated.

Additionally, it refactors the `Message` class to use the proto `User` object instead of the `MeshUser` class. This change simplifies the code and improves consistency by utilizing the proto definition for user information.
2024-10-26 05:32:30 -03:00
Andre K
a557bff3d7
feat: traceroute log (#1348) 2024-10-25 08:14:32 -03:00
andrekir
5cf9741b13 refactor: unified getUser repository call for convention 2024-10-25 07:50:34 -03:00
andrekir
199b9a29d5 refactor: extract traceroute text from MeshService 2024-10-23 19:05:43 -03:00
andrekir
fa24dd43b8 refactor: update signalMetrics filter for 0 hop packets 2024-10-23 17:49:47 -03:00
Robert-0410
bb345e7437
feat: Signal Metrics (#1340) 2024-10-23 17:31:31 -03:00