Skip to content

feat(dashboard): packet detail modal in live feed#68

Open
iceice400 wants to merge 1 commit into
KMX415:mainfrom
iceice400:feat/packet-detail-modal
Open

feat(dashboard): packet detail modal in live feed#68
iceice400 wants to merge 1 commit into
KMX415:mainfrom
iceice400:feat/packet-detail-modal

Conversation

@iceice400
Copy link
Copy Markdown
Contributor

Summary

  • Replace inline JSON row expand in the live packet feed with a structured Packet detail modal
  • Layers: RF (freq, modem, RSSI, SNR), Mesh (from/to, hops, channel hash, relay byte), Payload (decrypt success/failure + content), Capture (packet id, source, timestamp)
  • Close via ✕, Escape, or backdrop; feed keeps updating behind the modal; selected row highlight; map focus via existing setOnFocus

Why

Operators need a quick layered breakdown of each packet without scrolling raw JSON in the table. This is PR 1 of the operator diagnostics suite (frontend only, no new API).

Type

  • Bug fix
  • Feature
  • Docs
  • Refactor
  • UI
  • Installer
  • Region support
  • Hardware change

Testing

  • Local only (code review / static)
  • Tested on hardware
  • Dashboard tested on device

Manual checklist (on gateway):

  1. Open dashboard → Live feed tab; click a packet row → modal opens with four layers
  2. Encrypted / no-key packet shows Decrypt: No matching key (red)
  3. Decrypted text/position/telemetry shows human-readable Content
  4. Close with ✕, Escape, and backdrop click; row highlight clears
  5. While modal open, new packets still append to feed
  6. Clicking a row still focuses source node on map (if map tab wired)

Hardware: RAK7248 or Pi + HAT · US915 (recommended before merge)

Impact

  • Parsing
  • Relay
  • TX
  • Radio driver
  • Region logic
  • UI only
  • Installer only

Risks: Low — frontend-only; reads existing WebSocket packet.to_dict() payload. Deferred: multi-channel duplicate breakdown, channel name from hash map, ToA estimate.

AI-assisted?

  • Yes

Replace inline JSON expand in the live packet feed with a structured modal showing RF, mesh header, payload/decrypt state, and capture metadata. Frontend only — uses existing WebSocket packet objects; no new API.
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