Commit Graph
153 Commits
Author SHA1 Message Date
James Rich 3796787cdf fix(database): raise default cache limit and warn before eviction (#6742) 2026-08-17 17:37:51 +00:00
James Rich 2df817db7a fix(node): make node-list search case-insensitive for non-ASCII names (#6753) 2026-08-17 17:37:23 +00:00
James RichandClaude Opus 5 19bb682c9c feat(firmware): add nRF52/RP2040 factory erase and OTAFIX bootloader upgrade over USB (#6526)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 16:43:07 +00:00
Jeremiah K 41414f832f fix(discovery): restore radio state after interrupted scans (#6717) 2026-08-15 23:49:38 +00:00
Jeremiah K e9d09a3380 fix(lifecycle): harden packet admission and transport ownership (#6716) 2026-08-15 21:44:17 +00:00
simulationstation 2f387369c1 fix(messaging): disambiguate sender-scoped packet IDs (#6624) 2026-08-13 13:50:37 +00:00
James RichandClaude Fable 5 b3e3804b78 fix(database): recover from Room's silent connection-pool wedge (#6608) (#6658)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-13 03:08:37 +00:00
James RichandClaude Opus 5 d5848ad5e0 fix(database): bound withDb execution so one wedged callback can't stall every write (#6661)
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-12 20:45:10 +00:00
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