* 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.
* 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
- Device details section visible only if device hardware is available.
- Added spacing between icon, label, and value in node details rows.
- Right-aligned the values in node details rows for better readability.
* Trap code 147 on BT disconnect
If we trap code 147 on BT disconnect and then call lostConnection(), the app will attempt reconnect every 30 seconds and autoreconnect works even after prolonged disconnect.
* 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.
* 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