you
1ecc95db5a
fix: merge Recent Adverts + Recent Activity into single Recent Packets section
2026-03-19 22:21:54 +00:00
you
d41477d1d8
feat: richer node detail — status badge, avg SNR/hops, observer breakdown table, totalPackets
2026-03-19 22:17:00 +00:00
you
58531e5da7
fix: add QR code to full-screen node detail view, bump cache buster
2026-03-19 22:11:04 +00:00
you
84b817745f
fix: restore proper advert-entry markup, bump cache buster
2026-03-19 22:08:43 +00:00
you
989de353b5
fix: add cache busters to all JS and CSS files
2026-03-19 22:07:33 +00:00
you
d4c131ec1e
debug: Recent Adverts sidebar — plain HTML, no CSS classes, hardcoded colors, to find rendering issue
2026-03-19 22:07:03 +00:00
you
3e38d88bed
fix: Recent Adverts shows packet type + observer + explicit text color, handles missing timestamp
2026-03-19 21:57:25 +00:00
you
4431769b00
fix: role-aware status thresholds — repeaters/rooms 24h/72h, companions/sensors 1h/24h
2026-03-19 21:54:02 +00:00
you
f8b05f15b9
fix: always show QR code in node detail, add Recent Adverts section to sidebar detail
2026-03-19 21:53:22 +00:00
you
2cf11bea54
fix: map markers use distinct shapes (diamond/circle/square/triangle) + high-contrast colors for accessibility
2026-03-19 21:49:40 +00:00
you
fe34fc81a7
fix: remove dead Regions column from nodes table ( closes #26 )
2026-03-19 21:48:32 +00:00
you
cfbdc8a9e0
fix: column resize steals from ALL right columns proportionally, wider grab handle, 50px min
2026-03-19 21:46:02 +00:00
you
8e3a860cb7
fix: restore geographic prefix disambiguation for route overlay
2026-03-19 21:41:58 +00:00
you
08d3fd3539
fix: don't fitBounds on initial load — respect Bay Area default center
2026-03-19 21:39:38 +00:00
you
ca96d5dfbc
fix: VCR replay paginates — fetches next 10k when buffer exhausted instead of jumping to live
2026-03-19 21:33:55 +00:00
you
6dd258be65
Replace hardcoded section-row background with CSS variable for dark mode
...
closes #32
2026-03-19 21:32:58 +00:00
you
27ba362ace
Add empty/error states to data tables with aria-live for accessibility
...
closes #31
2026-03-19 21:32:54 +00:00
you
e44f288dab
Add SRI integrity hashes to Leaflet CDN scripts
...
closes #30
2026-03-19 21:32:48 +00:00
you
dac05aff1a
Remove dead code: svgLine(), .vcr-clock, .vcr-lcd-time display:none rules
...
closes #29
2026-03-19 21:32:43 +00:00
you
472090aeb5
Remove duplicate escapeHtml and debounce functions, keep globals in app.js
...
closes #28
2026-03-19 21:32:39 +00:00
you
ec20906fe1
fix: VCR scrub fetches ASC from scrub point — prevents jumping forward when >10k packets exist
2026-03-19 21:32:26 +00:00
you
45590991dd
fix: restore vcrReplayFromTs fetch limit to 10000 — 2000 caused rubber banding on scrub
2026-03-19 21:30:01 +00:00
you
5b4c741f19
fix: home page accessibility and UI issues
...
closes #25 — Widen home page content from 720px to 1200px
closes #35 — Checklist accordion keyboard accessible (role=button, tabindex, aria-expanded, Enter/Space)
closes #36 — Search suggestions ARIA combobox pattern (role=combobox/listbox/option, aria-expanded, aria-activedescendant)
closes #37 — My Node cards keyboard-focusable (tabindex=0, role=button, keydown handler)
closes #38 — Remove button on node cards gets aria-label
closes #39 — Timeline items keyboard accessible (tabindex=0, role=button, keydown handler)
closes #40 — Suggest-claim button meets 44px min touch target
closes #41 — My Nodes grid min lowered to 300px to prevent overflow on 375-640px
closes #42 — Stats cards use CSS grid with minmax(140px, 200px) for wide screens
closes #43 — escapeHtml applied consistently to payloadTypeName in timeline
closes #44 — Sparkline classes namespaced to home-spark-* to avoid collision
closes #45 — Error state uses fallback color var(--status-red, #ef4444)
2026-03-19 21:12:03 +00:00
you
016ba3bef6
fix: VCR timeline tooltip on touch devices
...
Add touchmove/touchend handlers to show the time tooltip during touch
scrubbing on the timeline, mirroring the existing mousemove behavior.
closes #19
closes #27
closes #54
closes #57
closes #58
closes #59
closes #60
closes #61
closes #62
closes #63
closes #64
Additional fixes in this commit:
- #27 : Add drag resize handle on feed panel right edge, persist width to localStorage
- #54 : Add aria-describedby to heat/ghost toggles with sr-only descriptions
- #57 : Refactor legend to use semantic ul/li with descriptive text, h3 headings
- #58 : Wrap scope buttons in role=radiogroup, add role=radio and aria-checked
- #59 : Add role=alertdialog to VCR prompt, auto-focus first button on show
- #60 : Add legend toggle button visible on mobile to show/hide legend overlay
- #61 : Position feed detail card as full-width bottom sheet on mobile
- #62 : Add pin button to nav bar to prevent auto-hide
- #63 : Adjust VCR.playhead when buffer is spliced to prevent stale indices
- #64 : Standardize fetch limits to 2000 for both vcrRewind and vcrReplayFromTs
2026-03-19 21:11:59 +00:00
you
6b8526548a
Fix 10 UI bugs in map and nodes pages
...
- Map controls panel collapsible with toggle button, default collapsed on mobile (closes #16 )
- jumpToRegion filters nodes by region observers instead of fitting all (closes #33 )
- Detail panel Leaflet maps tracked and removed on re-selection (closes #34 )
- Popup HTML uses semantic dl/dt/dd instead of table (closes #46 )
- fitBounds now tracks user interaction instead of savedView const (closes #47 )
- esc() replaced with safeEsc fallback for implicit global safety (closes #48 )
- Checkboxes in map controls have explicit for/id association (closes #49 )
- Sort columns have aria-sort attributes (closes #50 )
- Filter selects have aria-label attributes (closes #51 )
- Back button uses addEventListener instead of inline onclick (closes #52 )
- Detail panel map height increased to 280px on desktop (closes #53 )
2026-03-19 21:11:46 +00:00
you
5d536c382f
fix: chat message bubble max-width constraint
...
closes #21
2026-03-19 21:11:28 +00:00
you
71969785bf
fix: packets accessibility — remove stopPropagation, add aria-live, add touch resize
...
closes #67
closes #68
closes #69
2026-03-19 21:11:15 +00:00
you
3cbf315e99
fix: observers table horizontal scroll wrapper on mobile
...
closes #20
2026-03-19 21:11:04 +00:00
you
11e6973bca
fix: hash matrix mobile overflow and scatter plot color-blind accessibility
...
closes #17
closes #24
2026-03-19 21:11:04 +00:00
you
9e4308a1d0
fix: Excel-like column resize — drag steals from neighbor, percentages persist, panel drag reflows proportionally
2026-03-19 21:04:15 +00:00
you
b0f6ccf12e
fix: explicitly set left panel + table width during drag for live column reflow
2026-03-19 21:01:01 +00:00
you
b36790445b
fix: force table reflow during detail pane drag resize
2026-03-19 20:59:50 +00:00
you
767754fc10
fix: use max-width:0 on td so table compresses/expands with detail pane resize
2026-03-19 20:58:14 +00:00
you
924587e2dc
Revert "fix: packets table uses table-layout:fixed with proportional column widths — resizes like Excel when detail pane is dragged"
...
This reverts commit 780f8477e3 .
2026-03-19 20:57:08 +00:00
you
780f8477e3
fix: packets table uses table-layout:fixed with proportional column widths — resizes like Excel when detail pane is dragged
2026-03-19 20:55:53 +00:00
you
2414059bac
fix: restore max-width on td, give Details column more room ( fixes #72 regression)
2026-03-19 20:53:40 +00:00
you
1c25a2bc5b
fix: packets — BYOP mobile, column toggle, max-width, race condition, destroy cleanup ( closes #70 , #71 , #72 , #73 , #74 )
2026-03-19 19:39:29 +00:00
you
bd560b9e52
fix: channels — aria-live, listbox, tooltip, mobile, resize, theme, cache, refresh ( closes #84 , #85 , #86 , #87 , #88 , #89 , #90 , #91 , #92 )
2026-03-19 19:39:08 +00:00
you
5255f7091e
fix: analytics — async race, guards, legend CSS, dedup API, responsive layout ( closes #75 , #76 , #77 , #78 , #79 , #80 , #81 )
2026-03-19 19:38:58 +00:00
you
e8be570ff5
fix: style.css/index.html — dark theme sync, dedup nav-btn, onerror, hover color ( closes #98 , #99 , #100 , #101 )
2026-03-19 19:38:09 +00:00
you
02ae79beba
fix: observers — refresh a11y, table caption, spark ARIA, mobile, timezone ( closes #93 , #94 , #95 , #96 , #97 )
2026-03-19 19:37:00 +00:00
you
1f3b8756af
fix: ARIA tab pattern, form labels, focus management ( closes #10 , #13 , #14 )
2026-03-19 19:00:43 +00:00
you
cb2b67a8b5
fix: SVG alt text, hash matrix color-blind, observer health shapes ( closes #12 , #22 , #23 )
2026-03-19 18:58:57 +00:00
you
3372870674
fix: packets mobile columns, BYOP dialog a11y, filter combobox ARIA ( closes #18 , #65 , #66 )
2026-03-19 18:58:32 +00:00
you
e1b382a5fe
fix: channels sender keyboard access, node panel focus trap ( closes #82 , #83 )
2026-03-19 18:57:55 +00:00
you
7260b36534
fix: live page mobile VCR, LCD aria, feed keyboard ( closes #15 , #55 , #56 )
2026-03-19 18:57:21 +00:00
you
72743fd9ee
fix: WS debounce helper, clean up remaining window globals ( closes #7 , #8 )
2026-03-19 16:51:34 +00:00
you
e1a465b113
fix: live.js — feed overflow, interval leaks, LCD ghost color, VCR aria-labels ( closes #1 , #2 , #3 , #11 )
2026-03-19 16:47:15 +00:00
you
080d4bc3c1
fix: home.js listener stacking, packets.js filter bar rebuild ( closes #4 , #6 )
2026-03-19 16:46:41 +00:00
you
b4d0d6a056
fix: make table rows keyboard-accessible with delegated event listeners ( fixes #9 )
...
- Replace inline onclick on <tr> elements with data-action/data-value attributes
- Add tabindex="0" and role="row" to all clickable rows
- Add delegated click and keydown (Enter/Space) listeners on containers
- Remove window._pktSelect, _pktToggleGroup, _pktSelectHash, _nodeSelect globals
- Convert to local functions referenced by delegated handlers
Affected files: packets.js, nodes.js, analytics.js
(channels.js and observers.js had no interactive <tr> elements)
2026-03-19 15:50:18 +00:00