James Rich
af2854a8d3
fix: brownfield gap remediation batch 4-6
...
Round 2 of brownfield gap remediation across specs 004-017:
Tests added:
- EnvironmentMetricsForGraphingTest: NaN guard edge cases (NDM-T103)
- FormatBytesTest: boundary conditions for formatBytes (NDM-T101)
- HostMetricsTest: chart data transformation with extracted pure function
- ProfileRoundTripTest: import/export round-trip for radio config (SET-T073)
Features implemented:
- WiFi provisioning hidden network toggle (WFP-T023)
- BLE scan error display + retry button (WFP-T024)
- NotificationChannels made public for cross-module use (OB-T100)
Code quality:
- Extract buildHostMetricsChartData() pure function for testability
- Add wifi_provision_hidden_network string resource
- Clean up WifiProvisionScreen imports (Switch, retry, hidden network)
- Fix WifiProvisionPreviews for updated onProvision signature
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-11 13:46:38 -05:00
James Rich
62e2c731b0
test: add unit tests and fix constitution violations for specs 004-017
...
Brownfield gap remediation across multiple modules:
Constitution violation fixes:
- Replace hardcoded strings in Contacts.kt with stringResource()
- Add KDoc to ConnectionActionButtonStyle enum values
- Add missing string resources to strings.xml
Build-logic fix:
- Override javaLauncher for test tasks to JDK 21, fixing JVM class
version mismatch when published modules target JVM 17
New test coverage:
- core/model: NodeTest, DataPacketTest, MeshDataMapperTest
- core/database: ConvertersTest, QuickChatActionDaoTest,
DatabaseManagerWithDbRetryTest
- core/service: ServiceRepositoryImplTest,
DirectRadioControllerImplTest
- core/network: HeartbeatSenderTest, MQTTRepositoryImplTest
- core/data: MeshRouterImplTest
- core/ble: KableBleConnectionTest
- feature/node: MetricsViewModelTest (CSV), CompassViewModelTest,
NodeDetailViewModelTest (remote admin)
- feature/map: BaseMapViewModelTest (waypoint expiration)
- feature/settings: SettingsViewModelTest (saveDataCsv),
RadioConfigViewModelTest (MQTT probe)
- feature/firmware: WifiOtaTransportTest
Test seams:
- NodeDetailViewModel: add NodeDetailUiTextResolver
- KableBleScanner: add filter behavior test seam
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-11 13:09:15 -05:00
James Rich
3c75510f01
fix(mqtt): harden TLS enforcement, add user CA trust, and improve error diagnostics ( #5365 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-06 12:09:49 -05:00
James Rich
2de57a9e81
feat: align theme with Design Standards v1.3, remove contrast setting ( #5355 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-04 16:10:06 -05:00
James Rich
c0b0b9edd4
fix(network): resolve empty MQTT address and enforce TLS on default server ( #5333 )
...
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-02 14:59:44 +00:00
James Rich
e198f52de5
refactor(coroutines): migrate to kotlinx-coroutines 1.11.0-rc02 ( #5312 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-01 03:11:22 +00:00
James Rich
2822290908
refactor(build): build-logic cleanup, CC safety, and detekt 2.0 upgrade ( #5311 )
2026-05-01 02:48:37 +00:00
James Rich
e8f8e14984
fix: persist language switching and correctly map locales ( #5287 )
2026-04-29 14:59:10 +00:00
James Rich
815882d880
feat(messaging): add entry points for filter settings ( #5229 )
2026-04-23 10:25:43 +00:00
Nick
019c65ad8b
fix(ui): make footer buttons expand downwards ( #5226 )
2026-04-23 09:47:34 +00:00
James Rich
f14ae2643c
feat(node): smoother remote-admin UX with per-node session tracking ( #5217 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-22 14:21:04 -05:00
James Rich
ba559549ba
refactor: eliminate Accompanist permissions library ( #5211 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-22 11:04:57 -05:00
James Rich
6e1a500ca7
fix(settings): restore Import/Export button functionality in #4913 ( #5204 )
2026-04-21 14:48:39 +00:00
James Rich
4fd52ffb46
fix(canned-messages): enable multiline text editing for long message lists ( #5203 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-21 14:44:44 +00:00
James Rich
14e86b90f1
feat(mqtt): adopt mqttastic-client-kmp 0.2.0 — disconnect reasons + Test Connection ( #5181 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-17 21:33:55 -05:00
James Rich
b979663e24
refactor: consolidate metric formatting through MetricFormatter ( #5169 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-17 17:13:01 +00:00
James Rich
90f6e21a9c
fix(ui): stable LazyColumn keys, semantic roles, and content descriptions ( #5168 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-17 16:24:18 +00:00
James Rich
adfe3bfed1
refactor: use injected ioDispatcher and ApplicationCoroutineScope ( #5167 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-17 16:18:45 +00:00
James Rich
a97f704300
feat(mqtt): migrate to MQTTastic-Client-KMP ( #5165 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-17 15:19:08 +00:00
James Rich
17e69c6d4c
chore: review-cleanup fleet (audit + fix + hardening) ( #5158 )
2026-04-17 00:02:59 +00:00
James Rich
72b981f73b
chore: KMP audit — commonize code, centralize utilities, eliminate dead abstractions ( #5133 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-15 02:17:50 +00:00
James Rich
fa63a4ac50
feat: add high-contrast theme with accessible message bubbles ( #5135 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-15 01:14:20 +00:00
James Rich
e46a8296cb
feat(core/ui): add safeLaunch, UiState, KMP permissions, and CMP lifecycle modernization ( #5118 )
2026-04-14 00:45:34 +00:00
James Rich
938a951737
refactor: leverage CMP 1.11 + Lifecycle 2.11 — v2 test API, Json privacy, dropUnlessResumed nav guards ( #5112 )
2026-04-13 20:02:31 +00:00
James Rich
a11dee42a7
test: migrate Compose UI tests from androidTest to commonTest ( #5091 )
2026-04-12 20:20:00 +00:00
James Rich
62264b10c6
refactor(model): remove ConnectionState helper methods and fix updateStatusNotification return type ( #5074 )
2026-04-11 23:41:34 +00:00
James Rich
3794c79dae
refactor: adopt M3 Expressive components from material3 1.11.0-alpha06 ( #5063 )
2026-04-11 02:10:03 +00:00
James Rich
ce32e640de
fix(icons): replace outline (FILL=0) pathData with filled (FILL=1) from upstream Material Symbols ( #5056 )
2026-04-10 22:15:43 +00:00
James Rich
02f6fd67b8
fix: clean up flaky, duplicated, and misplaced tests; remove redundant deps ( #5048 )
2026-04-10 19:46:45 +00:00
James Rich
1390a3cd4f
ci: cache Robolectric SDK jars to prevent flaky SocketException failures ( #5045 )
2026-04-10 10:05:07 -05:00
James Rich
dba037466e
refactor(icons): migrate to self-hosted VectorDrawable XMLs via MeshtasticIcons ( #5030 )
2026-04-10 01:35:52 +00:00
James Rich
14b381c1eb
fix: harden reliability, clean up KMP compliance, and improve code quality ( #5023 )
2026-04-09 18:21:46 +00:00
James Rich
ad08a6c7b7
feat(settings): add DNS support and fix UDP protocol toggle ( #5013 )
2026-04-09 14:23:31 +00:00
James Rich
60cc2f4237
fix: resolve bugs across connection, PKI, admin, packet flow, and stability subsystems ( #5011 )
2026-04-09 13:20:06 +00:00
James Rich
51251ab16a
feat(ci): shard test suite and enable JUnit 5 parallel execution ( #4977 )
2026-04-03 13:08:49 +00:00
James Rich
7e041c00e1
feat(wifi): introduce BLE-based WiFi provisioning for nymea-compatible devices ( #4968 )
2026-04-02 17:31:17 +00:00
James Rich
0167063497
feat(analytics): expand DataDog RUM integration and align with iOS parity ( #4970 )
2026-04-01 20:27:28 +00:00
James Rich
e249461e3c
feat(tak): introduce built-in Local TAK Server and mesh integration ( #4951 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-04-01 20:21:25 +00:00
James Rich
89547afe6b
Refactor and unify firmware update logic across platforms ( #4966 )
2026-04-01 12:14:26 +00:00
James Rich
464a12b9f7
chore: standardize resources and update documentation for Navigation 3 ( #4961 )
2026-03-31 21:25:37 +00:00
James Rich
6a5115b897
Refactor navigation to use NodeDetail route and fix radio settings ( #4960 )
2026-03-31 14:03:02 +00:00
James Rich
c75c9b34d6
feat: implement XModem file transfers and enhance BLE connection robustness ( #4959 )
2026-03-31 03:49:31 +00:00
James Rich
a005231d94
Refactor map layer management and navigation infrastructure ( #4921 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-03-26 00:29:24 +00:00
James Rich
96060a0a4d
refactor: coroutine dispatchers and modernize testing infrastructure ( #4901 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-03-24 01:31:48 +00:00
James Rich
664ebf218e
refactor: null safety, update date/time libraries, and migrate tests ( #4900 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-03-23 23:17:50 +00:00
James Rich
57242d905c
refactor: Consolidate UI preference handling ( #4895 )
2026-03-23 19:36:02 +00:00
James Rich
7b327215f3
refactor: adaptive UI components for Navigation 3 ( #4891 )
2026-03-23 12:35:02 -05:00
James Rich
27bcbcb7be
fix(settings): remove redundant regex option in DebugViewModel ( #4881 )
2026-03-22 07:41:52 -05:00
James Rich
c38bfc64de
Refactor command handling, enhance tests, and improve discovery logic ( #4878 )
...
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com >
2026-03-22 05:42:27 +00:00
James Rich
d136b162a4
feat: Implement iOS support and unify Compose Multiplatform infrastructure ( #4876 )
2026-03-21 23:19:13 +00:00