Commit graph

52 commits

Author SHA1 Message Date
Phil Oliver
8b2e1e8b02
Modularize some map-related files (#3154) 2025-09-19 23:12:26 +00:00
Phil Oliver
8fb41aab74
Modularize some model classes (#3153) 2025-09-19 19:53:43 +00:00
Phil Oliver
0d2c1f1516
New core modules for :model, :navigation, :network, :prefs (#3147) 2025-09-19 12:16:36 +00:00
DaneEvans
99938e97bd
add times to traceroute displays. (#2999) 2025-09-06 13:34:03 +00:00
DaneEvans
f8377589aa
Fix #2918 crash on hw model (#2927) 2025-08-30 03:00:51 +00:00
Phil Oliver
c913bb0472
Migrate remaining prefs usages to repo (#2777) 2025-08-19 11:17:22 +00:00
Phil Oliver
6cb0196a6e
Migrate (mostly) maps prefs to repo (#2776) 2025-08-18 21:45:23 +00:00
James Rich
07cdbacf8f
refactor(repository)!: improve api caching and error handling (#2680)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-08-10 22:55:15 +00:00
DaneEvans
1ba70ca547
Fix/2523 redundant soil metrics (#2556)
Signed-off-by: DaneEvans <dane@goneepic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-30 20:54:14 +00:00
James Rich
924bd25f60
feat(firmware): add firmware edition handling (#2508)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-07-25 12:07:01 +00:00
James Rich
de68813bb8
Revert "Revert "Feat/1919 pax graphs"" (#2480)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-07-21 14:07:25 +00:00
James Rich
9339958398
Revert "Feat/1919 pax graphs" (#2479) 2025-07-21 08:14:43 -05:00
DaneEvans
ee99d79574
Feat/1919 pax graphs (#2477)
Signed-off-by: DaneEvans <dane@goneepic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-21 12:44:29 +00:00
DaneEvans
a832ed50c5
Fix/2207 node details respects units (#2374) 2025-07-07 13:57:34 +00:00
James Rich
128aceb4b7
Refactor: Remove dispatcher and use conditional start destination (#2309)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-07-01 15:55:22 +00:00
Jeremiah K
e9f95dbf8c
fix (#2076): hidden client freeze issue when viewing node details (#2164) 2025-06-19 07:38:57 -05:00
James Rich
446ddab469
refactor: NodeDetail screen and firmware version display (#2120) 2025-06-15 03:30:43 +00:00
James Rich
2a05fc072d
refactor: organize navigation (#2042) 2025-06-06 15:45:26 -05:00
James Rich
e31d4170b6
feat: add Host Metrics Log screen (#1969) 2025-05-28 20:57:38 +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
8cde47bdf9
refactor: migrate to Compose navigation (#1835)
Co-authored-by: andrekir <andrekir@pm.me>
2025-05-15 08:05:30 -05:00
Robert-0410
309ce27268
refactor(graphs): Missing iaq (#1752) 2025-05-08 10:31:07 -05:00
James Rich
1bd6173f9f
fix(#1787): handle unknown hardware details crash (#1789) 2025-04-26 19:37:49 -05:00
Robert-0410
25fe0a1e05
fix: avoiding NaN values for temperature readings (#1744) 2025-04-05 12:22:53 -04:00
James Rich
8e5accd518
fix #1484: Filter out ignored nodes from map (#1676)
* fix #1484: Filter out ignored nodes from map

- Created a new `filteredNodeList` `StateFlow` in `UIState.kt` that filters out nodes marked as ignored.
- Updated `MapFragment.kt` to use `filteredNodeList` instead of `nodeList`, ensuring that ignored nodes are not displayed on the map.

* Refactor: Remove ExperimentalCoroutinesApi opt-in and add it to compiler args

- Removes the `@OptIn(ExperimentalCoroutinesApi::class)` annotation from multiple files.
- Adds `-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi` to the `freeCompilerArgs` in the `build.gradle` file, enabling the use of Experimental Coroutines API project-wide without the need for per-file opt-ins.
- The coroutine api is now applied globally.

Signed-off-by: James Rich <james.a.rich@gmail.com>

* detekt

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>

---------

Signed-off-by: James Rich <james.a.rich@gmail.com>
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-03-17 11:40:08 -05: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
0d5157eb36 refactor: extract Routeto navigation package 2025-01-11 09:29:48 -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
Robert-0410
45e50b829a
refactor: 24H and 48H intervals (#1500) 2024-12-23 07:26:58 -03:00
andrekir
1a67ea8ad4 refactor: add DTO mapper for DeviceHardware 2024-12-10 12:55:48 -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
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
716a3f535f refactor: decouple NavGraph from ViewModel and NodeEntity 2024-11-30 08:05:48 -03:00
andrekir
1219d3037e chore: add GPL-3.0 license headers to source files 2024-11-26 08:54:18 -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
Robert-0410
7e54ad950c
feat: Metrics time selection (#1396) 2024-11-11 17:54:26 -03:00
andrekir
1ae65ef267 refactor: pass nav args to ViewModel using SavedStateHandle 2024-11-10 07:45:25 -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
cfb38e9951 feat: add option to delete traceroute log 2024-10-26 05:57:18 -03:00
Andre K
a557bff3d7
feat: traceroute log (#1348) 2024-10-25 08:14:32 -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
andrekir
6be44675e2 feat: add NodeDetailsScreen with metrics and remote admin navigation 2024-10-18 20:09:37 -03:00