Commit graph

65 commits

Author SHA1 Message Date
Phil Oliver
88ba0aa449
Align CoroutineDispatchers usage (#3481) 2025-10-16 16:12:20 +00:00
Phil Oliver
0fd3c4ca05
Protobuf package change (#3291) 2025-10-08 18:20:09 +00:00
James Rich
29434c4cf4
fix: Change fallback node name format (#3391)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-10-08 03:01:26 +00:00
James Rich
8baf8714d0
feat(ui): Refactor node position details into separate section (#3382)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-10-08 00:50:53 +00:00
Phil Oliver
ff95bc5311
Decouple NodeMapScreen from MetricsViewModel (#3323)
Co-authored-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-10-04 13:17:00 +00:00
James Rich
cad88d277b
refactor(analytics)!: modularize analytics - remove Logging (#3256)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-09-30 23:22:22 +00:00
Phil Oliver
db2ef75e08
Add :core:service (#3253) 2025-09-30 20:55:56 +00:00
Phil Oliver
3e83e61a1a
Move some repo classes to :core:data (#3214) 2025-09-26 21:45:11 +00:00
Phil Oliver
8317b704ea
Redundant methods in RadioConfigRepository (#3198) 2025-09-25 13:57:26 +00:00
Phil Oliver
613714cdb4
Modularize database classes (#3192) 2025-09-24 20:23:05 +00:00
Phil Oliver
4eba3e9daf
Modularize more models/utils (#3182) 2025-09-24 15:43:46 +00:00
Phil Oliver
b98e533123
Modularize prefs classes (#3171) 2025-09-23 09:51:03 +00:00
James Rich
d2db37e0d4
refactor(R): Move R file imports to core UI module (#3159)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2025-09-23 01:59:39 +00:00
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