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
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
dependabot[bot]
82a6553539
Bump postcss in /frontend in the npm_and_yarn group across 1 directory
...
Bumps the npm_and_yarn group with 1 update in the /frontend directory: [postcss](https://github.com/postcss/postcss ).
Updates `postcss` from 8.5.8 to 8.5.10
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.10 )
---
updated-dependencies:
- dependency-name: postcss
dependency-version: 8.5.10
dependency-type: direct:development
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-24 21:10:08 +00:00
dependabot[bot]
4fbd245ee4
Bump the npm_and_yarn group across 1 directory with 4 updates
...
Bumps the npm_and_yarn group with 3 updates in the /frontend directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ), [flatted](https://github.com/WebReflection/flatted ) and [picomatch](https://github.com/micromatch/picomatch ).
Updates `vite` from 6.4.1 to 6.4.2
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite )
Updates `esbuild` from 0.21.5 to 0.25.12
- [Release notes](https://github.com/evanw/esbuild/releases )
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG-2024.md )
- [Commits](https://github.com/evanw/esbuild/compare/v0.21.5...v0.25.12 )
Updates `flatted` from 3.4.0 to 3.4.2
- [Commits](https://github.com/WebReflection/flatted/compare/v3.4.0...v3.4.2 )
Updates `picomatch` from 2.3.1 to 2.3.2
- [Release notes](https://github.com/micromatch/picomatch/releases )
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md )
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2 )
Updates `picomatch` from 4.0.3 to 4.0.4
- [Release notes](https://github.com/micromatch/picomatch/releases )
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md )
- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2 )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
dependency-group: npm_and_yarn
- dependency-name: esbuild
dependency-version: 0.25.12
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: flatted
dependency-version: 3.4.2
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: picomatch
dependency-version: 2.3.2
dependency-type: indirect
dependency-group: npm_and_yarn
- dependency-name: picomatch
dependency-version: 4.0.4
dependency-type: indirect
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-20 01:15:37 +00:00
Jack Kingsman
8efbbd97bd
Add airtime math and per-minute packets-over-uptime display for repeaters. Closes #194 .
2026-04-16 13:29:24 -07:00
Jack Kingsman
e1ee7fcd24
Add default precision
2026-04-12 18:59:44 -07:00
Jack Kingsman
2f43420235
Add command palette
2026-04-06 20:27:55 -07:00
Gnome Adrift
c808f0930b
Remove automatic telemetry querying, remove battery pane, add telemetry history pane
2026-04-02 12:31:51 -07:00
Jack Kingsman
60f3fa8e36
Add noise floor visualizer to statistics. Closes #129 .
2026-03-30 15:31:39 -07:00
Jack Kingsman
5f0d042252
Fix time rendering unit issue
2026-03-26 21:32:23 -07:00
jkingsman
b63153b3a1
Initial swipe work
2026-03-25 08:32:06 -07:00
Jack Kingsman
633510b7de
Bring back in package-lock.json
2026-03-11 17:44:55 -07:00
Jack Kingsman
d9aa67d254
No more package locks
2026-03-02 19:25:40 -08:00
Jack Kingsman
f335fc56cc
Patch up some missing tests and fix+test channel add not clearing on channel submission without add-another checked
2026-03-02 18:02:53 -08:00
Jack Kingsman
c9776639a0
Commit package-lock
2026-03-02 16:33:08 -08:00
jkingsman
be1a70eb10
Remove compiled files
2026-02-06 19:30:26 -08:00
Ryan Gregg
61de2584e9
Fix for running as PWA
2026-02-04 21:45:30 -08:00
Jack Kingsman
530179fde1
Add multibot functionality
2026-01-27 17:23:38 -08:00
Jack Kingsman
ba92aa2342
Add basic bot functionality
2026-01-26 21:44:11 -08:00
Jack Kingsman
5b38e7735b
Remove unnecessary libs
2026-01-19 16:41:46 -08:00
Jack Kingsman
52319a8863
Draft 1 of the homebaked visualizer
2026-01-19 16:10:07 -08:00
Jack Kingsman
33dcd570cd
Update meshcore hashtag cracker lib with sender validation
2026-01-17 15:17:01 -08:00
Jack Kingsman
076d466fbd
Linting and code cleanup for an imitation of order
2026-01-14 20:08:41 -08:00
Jack Kingsman
b705f89a09
Add map display
2026-01-13 14:38:19 -08:00
Jack Kingsman
c6600f350b
Update packet cracker to version with bigger dict
2026-01-11 13:57:52 -08:00
Jack Kingsman
541d66020b
Add turbo mode
2026-01-08 20:22:39 -08:00
Jack Kingsman
9d8229c7be
Cut over to new decryption lib version and provide channel crack streaming updates
2026-01-08 18:52:24 -08:00
Jack Kingsman
2463c14c9b
Use newly-published meshcore cracking library
2026-01-07 21:33:22 -08:00
Jack Kingsman
6d3cafbe4f
Update CLAUDE.mds and fold in meshcore cracker lib
2026-01-07 18:42:58 -08:00
Jack Kingsman
e33275a2fc
Add nosleep to cracker interface
2026-01-06 21:16:05 -08:00
Jack Kingsman
557cb12879
Initial commit
2026-01-06 20:02:48 -08:00