Skip to content

fix(packets): allow loading older filtered results without scrolling - #34

Open
n30nex wants to merge 1 commit into
MeshCore-Beacon:devfrom
n30nex:codex/beacon-packet-search
Open

fix(packets): allow loading older filtered results without scrolling#34
n30nex wants to merge 1 commit into
MeshCore-Beacon:devfrom
n30nex:codex/beacon-packet-search

Conversation

@n30nex

@n30nex n30nex commented Sep 7, 2026

Copy link
Copy Markdown

What this PR does

Closes #33. Packet hash/observer filters can leave zero rows, or too few to scroll. History previously loaded only from the scroll handler, leaving older possible matches unreachable. Add a Load older packets action when another cursor exists and explain that an empty view describes loaded packets.

Manual and scroll paging both wait for any current history request, including background refresh. Existing region, URL filters, cursor queries, live updates and cache limits stay in place. There is no automatic page scan or per-result detail-fetch loop; hash search still filters loaded history.

Type of change

  • Bug fix
  • Tests

Checklist

  • npm run build passes (the real typecheck)
  • npm run lint passes
  • npm test passes
  • New logic has tests (TDD for bugfixes and features)
  • Frontend types still match the beacon-server contract
  • I have read CONTRIBUTING.md

Testing notes

Four regressions fail on the original code on Windows and the Pi. The fix passes all 640 tests in 70 files natively on Pi 5 with Node 24.15.0, plus 47 focused Windows tests. Coverage includes empty/short views, pending requests, retry availability, cursor exhaustion, no automatic scan, existing scrolling and packet/filter wiring. Build and lint pass; the existing TanStack Virtual compiler warning remains.

The Canadaverse preview runs web source b102cb11fef18c64fea305577fbba39797964f3b; corresponding source and build details are published. Browser checks confirm an empty search can load successive 50-row history pages with advancing cursors, one request per click and no automatic follow-up. The existing server/MQTT containers remained running.

Windows' default fork worker timed out; the documented threads pool passed without changing repository configuration. Native lint excludes only the custom generated dist-public output directory, equivalent to the normal ignored dist build output.

AI tools assisted implementation and validation under the contributor's standing approval for this effort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant