Commit Graph
145 Commits
Author SHA1 Message Date
James RichandClaude Fable 5 dda971b5ce fix(messaging): time out orphaned "Sending..." messages into a retryable failure (#6630)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 02:10:30 +00:00
simulationstation fd8414abe3 fix(database): delete nodes and metadata atomically (#6623) 2026-08-12 01:36:57 +00:00
Jeremiah K 2f191868e9 fix(database): recover wedged observer pools (#6540) 2026-08-01 21:39:16 +00:00
James RichandClaude Opus 5 07d253130b refactor(di): replace Koin string qualifiers with distinct types (#6522)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 20:56:07 +00:00
James RichandClaude Opus 5 2d20cd8a47 fix(ui): give rx_snr real presence semantics end to end (#6523)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 16:40:41 +00:00
James RichandClaude Opus 5 39139398e6 fix(model): rssi explicit presence for protobufs 2.7.26.138 (#6498)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 21:12:28 +00:00
James RichandClaude Opus 5 6c32af9a84 test: revive 80 dormant tests in eight abstract Common*Test classes (#6501)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 21:11:42 +00:00
James RichandClaude Opus 5 b4105e3e3f fix(event): honor disabled node events, gate brand URLs, observe the manifest (#6499)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 21:09:13 +00:00
James RichandClaude Opus 5 4c3196c29a fix(connections): dedupe recent-TCP and reaction list keys (#6494)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 16:19:07 +00:00
James RichandClaude Opus 5 c75223c43a fix(messaging): use mesh time for message timestamps and grouping (#6422)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-24 22:12:13 +00:00
James RichandClaude Opus 4.8 bfbf74df1e fix(channels): store channel set per-device to stop cross-device duplicates (#4623) (#6409)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 13:57:39 -05:00
Jeremiah K 8cf8214162 fix(hardware): throttle repeated catalog refreshes for cache misses (#6399) 2026-07-24 16:29:10 +00:00
Jeremiah K 09555a4398 fix(node): reconcile stale identity replays after renumbering (#6259) 2026-07-22 23:53:43 +00:00
Jeremiah K 602b9b086f fix(database): reduce write-lane pressure from one-shot reads (#6255) 2026-07-22 16:50:41 +00:00
Jeremiah K 1bf25121ca fix(database): make DB updates atomic across device switches (#6256) 2026-07-21 14:36:00 +00:00
James RichandClaude Opus 4.8 c0cf5a6da9 fix(database): make the injected DiscoveryDao follow the active database (#6236)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:48:45 +00:00
James RichandClaude Opus 4.8 e48640e473 fix(database): route all one-shot DB writes through the merge drain barrier (#6233)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-12 00:12:57 +00:00
James RichandClaude Opus 4.8 4e48e64e78 fix(database): make completed cross-transport merges retry-idempotent (#6231)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 23:40:17 +00:00
James RichandClaude Fable 5 bc5719c8a7 fix(database): migrate device identity across firmware 2.8 renumbering (#6228)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 22:54:54 +00:00
James RichandClaude Fable 5 5b0d046d42 feat(firmware): nightly preview channel behind the hidden-features unlock (#6225)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 19:41:19 +00:00
James RichandClaude Fable 5 97935eb30d fix(database): force Room single-connection pool on all platforms (#6202)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 18:43:02 +00:00
James RichandClaude Fable 5 7115c176d4 fix(discovery): restore radio home config after an interrupted scan (#6192)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 13:48:04 +00:00
James RichandClaude Opus 4.8 f6a3f091ed test(database): exercise the Room migration chain in CI (#6191)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 13:22:42 +00:00
James RichandClaude Fable 5 0a3e000252 fix: address 2.8.0 release-audit findings (#6189)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 12:41:54 +00:00
Jeremiah K a3a8397134 fix(database): recover firmware metadata reads after DB pool churn (#6177) 2026-07-09 23:36:27 +00:00
James RichandClaude Opus 4.8 9e55cdb3eb feat: wire up event-firmware metadata API (offline-first) + post-event firmware reminder (#6162)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 23:53:32 +00:00
Jeremiah K e12c4a579d fix(runtime): harden BLE profile, OTA setup, and DB access (#6126) 2026-07-07 19:58:43 +00:00
James RichandClaude Opus 4.8 6b58a975ef feat(node): label power channels and fix pressure axis scale (#6111)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:40:00 +00:00
James RichandClaude Opus 4.8 4ea3f27e8c test: activate dead NodeInfoDao tests (#6113)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 15:13:24 +00:00
James RichandClaude Opus 4.8 4a9f85bf5e feat(database): unify device database across transports (#6096)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 01:41:29 +00:00
Ben Meadors d815d6d363 feat(messaging): translate chat messages in-place with on-device ML Kit (google flavor only) (#6103) 2026-07-06 01:03:38 +00:00
James RichandClaude Fable 5 32cbf522bd fix(data): stale firmware/hardware caches — stop cancelling slow API refreshes, prune pulled releases, seed from newer bundles (#6060)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 02:35:18 +00:00
James RichandClaude Opus 4.8 5a035ac1f1 feat(security): surface XEdDSA packet signing in node & messaging UI (#5976)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 12:32:21 +00:00
James RichandClaude Opus 4.8 b314a0cf82 test(data): de-flake DeviceLinkRepositoryImplTest by running on the wall clock (#5883)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 16:52:06 +00:00
Jeremiah K e94f2eec38 fix(database): defer FTS backfill on cold start and enforce single-connection pool (#5841) 2026-06-18 11:30:34 +00:00
c1269b0d8e chore(deps): update room to v3.0.0-rc01 (#5835)
Co-authored-by: James Rich <james.a.rich@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 18:31:43 -05:00
Jeremiah K acf9ff9349 fix(service): resolve selected-device startup race (#5828) 2026-06-17 17:54:00 +00:00
5ac26be18f feat(node): add local stats noise floor metrics (#5782)
Co-authored-by: James Rich <james.a.rich@gmail.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 17:55:42 -05:00
James RichandClaude Opus 4.8 8874352ba4 fix: resolve release/2.8.0 branch-review findings (car hosts, AI node IDs, discovery abort, AQ zeros) (#5813)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 15:51:54 -05:00
James RichandClaude Fable 5 613dee91bf fix(database): use a single connection for in-memory test databases
configureCommon() applied setMultipleConnectionPool(maxNumOfReaders = 4)
to every database, including the in-memory ones used by tests. A read on
a pooled reader connection can observe a snapshot older than the latest
write on the writer connection, so a read immediately after a write may
return stale rows.

DeviceLinkRepositoryImplTest.reconcilePrunesShortCodesNoLongerInCatalog
read [a, b] (the pre-prune state) instead of [a] after a deleteNotIn —
passing locally but flaking on CI depending on connection-assignment
timing (failed shard-core on #5738; the identical code passed on #5780).

In-memory builders now pass multiConnection = false so reads serialize
behind writes on one connection. Production/file databases keep the
multi-reader pool.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-16 15:51:54 -05:00
James RichandClaude Opus 4.8 953eef941e refactor(node): fetch device links from the API, drop the bundled matcher (#5765)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 15:51:54 -05:00
James RichandCopilot 76847dd638 feat(discovery): mesh network discovery (#5275)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 15:51:54 -05:00
James RichandClaude Opus 4.8 7631db63d0 feat(node): msh.to device hardware links ("I want one" section + Settings directory) (#5714)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 15:51:54 -05:00
James RichandCopilot 9947efd24e feat: add air quality telemetry display (PM1.0, PM2.5, PM10, CO2) (#5701)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 15:51:54 -05:00
3e0d2d39c3 refactor: Remove AIDL API and modernize service architecture (#5586)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-16 15:51:54 -05:00
James RichandCopilot 338ea0e8ea feat: FTS5 full-text message search (#5373)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-16 15:51:54 -05:00
James RichandCopilot d892f43e00 fix(database): stabilize flaky DatabaseManagerWithDbRetryTest (#5635)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-28 10:44:59 -05:00
James RichandClaude Opus 4.7 a4522f9f4d fix(flatpak): generate complete offline-buildable manifest for desktopApp (#5610)
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 20:33:23 +00:00
James RichandCopilot e67ebb7a0d feat: enable WAL connection pool for parallel reads (#5372)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-20 19:42:31 -05:00
James RichandCopilot 01d32e15c0 fix(database): update @Relation annotations for Room 3.0.0-alpha05 (#5507)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-05-19 14:36:47 -05:00