mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-07-25 15:40:53 +00:00
56 lines
2.8 KiB
Markdown
56 lines
2.8 KiB
Markdown
# CoreScope v3.9.2
|
||
|
||
**Upgrade urgency: Recommended.** Big batch of operator-felt wins.
|
||
|
||
## Highlights
|
||
|
||
### Accessibility (#1668 — M2/M3/M4/M5 merged; M6 in flight)
|
||
- Two-tier CSS palette with semantic tokens (`--palette-*` → `--color-*`/`--text-*`); operators can now hot-swap theme palettes
|
||
- WCAG AA color-contrast hits across all 22 audited routes — **443 baseline violations → 0** verified by the new axe CI gate (#1696)
|
||
- Typography pass: 14px body / 12px+500 chip floor across the entire chrome (#1679)
|
||
- Hash-cell analytics palette, badge contrast, /live VCR controls (#1681)
|
||
- Audio-lab BPM + Volume sliders now have aria-labels
|
||
|
||
### MQTT observability
|
||
- Per-source MQTT status endpoint + Observers panel (#1682) — connected/disconnected/last-packet/error counters per broker
|
||
- Mobile-friendly: cards at ≤640px instead of squished table (#1698)
|
||
|
||
### Cold-load + analytics correctness
|
||
- **Packet-store cold-load actually loads the database now (#1691).** Pre-fix: after restart, only 0.3% of DB rows were loaded into RAM, dashboards looked empty for hours. Root cause: hot-load filtered by `first_seen` (immutable per hash) instead of effective recency. New `transmissions.last_seen` denormalized column + writer-side update fixes this end-to-end.
|
||
- Analytics endpoint returns 503 Retry-After during warm-up (#1688) — operators no longer see post-restart partial slices
|
||
- Warm-up banner surfaces backfill state in the UI (#1683)
|
||
|
||
### Firmware 1.16 sync
|
||
- Server-side decoder parity for extended ACK payloads (#1695)
|
||
- Customizer toggle to hide 1-byte path hops (collide ~8-way at 2k nodes) — #1689
|
||
|
||
### Performance
|
||
- `/packets` init parallelizes loadObservers + loadPackets (#1693) — first-row time dropped from 25-40s to <5s on slow links
|
||
- Confidence rating weighted by hash mode (#1687) — 1-byte sightings carry less weight than 6-byte
|
||
|
||
### CI / operability
|
||
- OpenAPI completeness gate (#1678 Phase 1)
|
||
- Release fast-path: re-tag :edge → :vX.Y.Z when SHA matches (#1680) — most patch releases now skip the 30min full pipeline rerun
|
||
- Staging disk monitor + cleanup cron (#1686)
|
||
- Slideover E2E flake-gate reduced 20× → 3×, root cause fixed in #1693
|
||
|
||
## Container image
|
||
|
||
`ghcr.io/kpa-clawbot/corescope:v3.9.2` (multi-arch: amd64, arm64)
|
||
|
||
## Verification
|
||
|
||
- 22 routes × 2 themes × 2 viewports automated a11y gate (axe-core, #1696)
|
||
- All 19 PRs ran through the full polish chain (parallel reviewers + Kent Beck TDD gate)
|
||
- Cold-load fix verified by `transmissions.last_seen` test fixture (#1691)
|
||
|
||
## Operator upgrade (MikroTik)
|
||
|
||
```
|
||
/container add remote-image=ghcr.io/kpa-clawbot/corescope:v3.9.2 envlist=cs-env mounts=cs-data,cs-caddyfile interface=veth-corescope start-on-boot=yes name=corescope-prod-v392
|
||
```
|
||
|
||
## Acknowledgements
|
||
|
||
External contributors carry over from v3.9.1.
|