Jack Kingsman
fc8dec3417
Fix busted tests
2026-07-25 21:02:53 -07:00
Jack Kingsman
d267075127
Add testing harness and fix up a few niggling bugs
2026-07-25 19:35:40 -07:00
Jack Kingsman
f2006e15ba
Optimize jump to unread to reduce flicker on large backlog load.
2026-07-25 17:53:34 -07:00
Jack Kingsman
1584151000
Don't strand at the top of the list and override pending pins with manual scroll action
2026-07-25 16:22:42 -07:00
Ryan Gregg
fab331e67e
Virtualize the message list
...
A conversation rendered every message it had loaded. Nothing bounded that
work, so cost grew with history: at 2000 messages the list mounted ~20k DOM
nodes, took ~285ms to mount, and ~212ms to re-render on any update. While
that runs, nothing else on the main thread gets a turn, typing included.
Only the visible window is mounted now, measured in Chromium with the real
component tree:
history mount re-render DOM nodes
2000 285ms -> 4ms 212ms -> 2.2ms 22038 -> 225
Rendered rows stay at ~17 regardless of how much history is loaded.
Row heights are measured rather than assumed, since messages vary from one line
to a wrapped paragraph with path badges, so the scroll behaviors that used
to do height arithmetic now anchor by index instead, which is exact even
when off-screen rows still carry estimated heights:
- opening a conversation, and following new messages, anchor to the last row
- loading older messages anchors to the message that was on top
- jump-to-message and jump-to-unread scroll by index, since the target row
may not be mounted yet
Two degenerate cases are handled explicitly: a viewport that measures zero
(before first layout, hidden tab) falls back to a nominal height instead of
collapsing the window to nothing, and a row that measures zero keeps its
estimate instead of ballooning the window.
Most of the diff is re-indentation from the new wrapper element; the real
change is 112 added / 36 removed lines (git diff -w).
2026-07-25 12:32:14 -07:00
Jack Kingsman
889bb19ef5
Updating changelog + build for 3.17.0
2026-07-21 12:12:55 -07:00
Jack Kingsman
9fc343c4fd
Add telemetry CSV export. Closes #334 .
2026-07-21 12:06:52 -07:00
Jack Kingsman
6f743446b0
Add customizable date binning on map. Closes #330 .
2026-07-21 11:54:09 -07:00
Jack Kingsman
bc22f537d9
Add packet analyzer launch to visualizer feed. Closes #328 .
2026-07-21 11:42:34 -07:00
Jack Kingsman
d2e3b05a38
Add hop width bit display display. Closes #323 .
2026-07-10 15:34:12 -07:00
Jack Kingsman
f8f6842d1d
Updating changelog + build for 3.16.2
2026-07-10 15:05:04 -07:00
Jack Kingsman
5da6e19c9b
Add repeater region discover
2026-07-10 15:00:14 -07:00
Jack Kingsman
789d37e240
Updating changelog + build for 3.16.1
2026-07-10 13:04:30 -07:00
Jack Kingsman
ed7954552d
Merge pull request #322 from jkingsman/alternate-repeater-detail-fetch
...
Try using direct admin-binary fetch
2026-07-10 12:49:27 -07:00
jkingsman
6f21a6c364
Maybe we actually fixed the flaky test this time
2026-07-09 17:08:32 -07:00
jkingsman
6c977f9108
Add repeater region display. Closes #309 .
2026-07-09 16:37:14 -07:00
jkingsman
387c9b0e0a
Add packet search to raw feed. Closes #320 .
2026-07-09 14:56:31 -07:00
jkingsman
ee32a266db
Try using direct admin-binary fetch
2026-07-09 14:33:59 -07:00
Jack Kingsman
0633ab724c
Misc bugs around dm region scope + scope display, and flood-scope leak
2026-07-08 20:11:57 -07:00
dependabot[bot]
61e6ff216a
Bump the npm_and_yarn group across 1 directory with 3 updates
...
Bumps the npm_and_yarn group with 3 updates in the /frontend directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ), [form-data](https://github.com/form-data/form-data ) and [js-yaml](https://github.com/nodeca/js-yaml ).
Updates `vite` from 6.4.2 to 8.1.3
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.1.3/packages/vite )
Updates `form-data` from 4.0.5 to 4.0.6
- [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md )
- [Commits](https://github.com/form-data/form-data/compare/v4.0.5...v4.0.6 )
Updates `js-yaml` from 4.1.1 to 4.3.0
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...4.3.0 )
---
updated-dependencies:
- dependency-name: form-data
dependency-version: 4.0.6
dependency-type: indirect
- dependency-name: js-yaml
dependency-version: 4.2.0
dependency-type: indirect
- dependency-name: vite
dependency-version: 8.0.16
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-07-09 00:47:46 +00:00
Jack Kingsman
560538a1f4
Updating changelog + build for 3.16.0
2026-07-08 17:44:56 -07:00
Jack Kingsman
f9b991b1a8
Fix giphy rendering issue. Closes #291 .
2026-07-08 17:23:51 -07:00
Jack Kingsman
4385ea5703
Add clearer regional scoping for bots. Closes #300 .
2026-07-08 17:08:04 -07:00
Jack Kingsman
97b873e991
Defer chart render until flyin is settled. Closes #317 .
2026-07-08 16:47:41 -07:00
Jack Kingsman
0db80dd054
Merge pull request #307 from Bjorkan/fixRegions. Closes #303 .
...
Fix unscoped flood-scope handling
2026-07-08 15:51:50 -07:00
Jack Kingsman
6edd2927b1
Gate scoping-safety on firmware ref, and and make per-channel override tristate.
2026-07-08 15:45:58 -07:00
Jack Kingsman
84e6c34255
Allow favorites to be sorted by type. Closes #314 .
2026-07-08 14:57:29 -07:00
Jack Kingsman
2fcbefac3b
Add duty cycle display to repeaters. Closes #308 .
2026-07-08 14:47:50 -07:00
Jack Kingsman
a6c64279e8
Plumb through total neighbor count from radio and expose that in the UI. Closes #310 .
2026-07-08 14:09:08 -07:00
Björkan
2118c83bc4
Stabilize app startup hash test timeout
2026-07-03 19:02:25 +02:00
Jack Kingsman
7b334160ce
Be more forgiving around hashtag channel names
2026-06-30 14:43:05 -07:00
jkingsman
ce4946351f
Allow bots to send region scoped messages
2026-06-27 00:36:28 -07:00
jkingsman
4b4dfb0767
Add incoming region to kwargs
2026-06-26 21:26:58 -07:00
Jack Kingsman
1af9c3bfcf
Fix floating point issues on recharts
2026-06-25 11:35:50 -07:00
Jack Kingsman
7560fe26ec
Updating changelog + build for 3.15.2
2026-06-23 21:34:51 -07:00
Jack Kingsman
3a78bf36ac
filter out geo from non-geo sensors, and publish gps for device tracking
2026-06-22 17:34:44 -07:00
Jack Kingsman
9f5bf2b159
Updating changelog + build for 3.15.1
2026-06-20 22:39:46 -07:00
Jack Kingsman
048e03d99b
Maybe finally fix that flaky test??
2026-06-20 22:12:51 -07:00
Jack Kingsman
8d8bc13a3b
Add option to disable scroll. Closes #299 .
2026-06-20 21:53:28 -07:00
Jack Kingsman
66148c2c39
Autobackfill regions
2026-06-20 21:48:16 -07:00
Jack Kingsman
06556a853d
Add draft reactions + gifs; region resolution
2026-06-20 21:30:51 -07:00
Jack Kingsman
cb4d4ca584
Merge pull request #274 from fred777/fred777-add_bot_globals
...
Introduce _bot_globals for persistent data storage between bot executions
2026-06-20 18:03:56 -07:00
jkingsman
85574f7747
Make repeater neighbor pane sortable. Closes #290 .
2026-06-17 18:19:15 -07:00
jkingsman
7198d92c74
Use the correct last-heard time for repeater recency sorting
2026-06-15 22:13:38 -07:00
fred777
f1e853ea0a
Merge remote-tracking branch 'origin/main' into fred777-add_bot_globals
2026-06-12 16:34:00 +02:00
Jack Kingsman
35c2371088
Updating changelog + build for 3.15.0
2026-06-11 22:27:51 -07:00
Jack Kingsman
9391116d53
Compact the trace panes. Closes #285 .
2026-06-11 22:13:41 -07:00
Jack Kingsman
01c4dd1df7
Add recently traced contacts as a sort category in the trace pane. Closes #286 .
2026-06-11 21:55:51 -07:00
Jack Kingsman
e1e0b48437
Add 'Reverse Link' button to trace pane. Closes #287 .
2026-06-11 21:22:07 -07:00
Jack Kingsman
fb848d2e8d
Add outbound message opt-in for apprise
2026-06-11 20:42:29 -07:00