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
f8f6842d1d
Updating changelog + build for 3.16.2
2026-07-10 15:05:04 -07:00
Jack Kingsman
789d37e240
Updating changelog + build for 3.16.1
2026-07-10 13:04:30 -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
7560fe26ec
Updating changelog + build for 3.15.2
2026-06-23 21:34:51 -07:00
Jack Kingsman
9f5bf2b159
Updating changelog + build for 3.15.1
2026-06-20 22:39:46 -07:00
Jack Kingsman
35c2371088
Updating changelog + build for 3.15.0
2026-06-11 22:27:51 -07:00
Jack Kingsman
42ed3f0289
Updating changelog + build for 3.14.1
2026-06-01 19:30:21 -07:00
Jack Kingsman
6cfd5eff63
Updating changelog + build for 3.14.0
2026-05-13 18:16:32 -07:00
Jack Kingsman
f95745cb05
Updating changelog + build for 3.13.0
2026-04-30 20:31:32 -07: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
Jack Kingsman
a69eb9c534
Updating changelog + build for 3.12.3
2026-04-24 14:03:11 -07:00
Jack Kingsman
e695d629b9
Updating changelog + build for 3.12.2
2026-04-21 13:10:25 -07:00
Jack Kingsman
6b81dd3082
Updating changelog + build for 3.12.1
2026-04-19 21:18:26 -07: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
d6e1218888
Updating changelog + build for 3.12.0
2026-04-17 12:21:35 -07:00
Jack Kingsman
3b7e2737ee
Updating changelog + build for 3.11.3
2026-04-12 23:54:44 -07:00
Jack Kingsman
e5e9eab935
Updating changelog + build for 3.11.2
2026-04-12 22:44:46 -07:00
Jack Kingsman
4f54ec2c93
Updating changelog + build for 3.11.1
2026-04-12 20:50:12 -07:00
Jack Kingsman
53a4d8186a
Updating changelog + build for 3.11.0
2026-04-10 16:12:27 -07:00
Jack Kingsman
c7248222dd
Updating changelog + build for 3.10.0
2026-04-10 11:16:16 -07:00
Jack Kingsman
a02c3cae9e
Updating changelog + build for 3.9.0
2026-04-06 22:10:06 -07:00
Jack Kingsman
2f43420235
Add command palette
2026-04-06 20:27:55 -07:00
Jack Kingsman
c33eb469ac
Updating changelog + build for 3.8.0
2026-04-03 19:36:27 -07:00
Jack Kingsman
44f145b646
Updating changelog + build for 3.7.1
2026-04-02 18:01:22 -07:00
Jack Kingsman
c333eb25e3
Updating changelog + build for 3.7.0
2026-04-02 17:30:19 -07:00
Jack Kingsman
480798e117
Updating changelog + build for 3.6.7
2026-03-31 23:01:36 -07:00
Jack Kingsman
704a3d8a87
Updating changelog + build for 3.6.6
2026-03-31 22:52:14 -07:00
Jack Kingsman
96e108037c
Updating changelog + build for 3.6.5
2026-03-31 22:21:06 -07:00
Jack Kingsman
e43584912b
Updating changelog + build for 3.6.4
2026-03-31 22:14:58 -07:00
Jack Kingsman
88140081b9
Updating changelog + build for 3.6.3
2026-03-30 21:54:32 -07:00
Jack Kingsman
60f3fa8e36
Add noise floor visualizer to statistics. Closes #129 .
2026-03-30 15:31:39 -07:00
Jack Kingsman
8ee08ff44a
Updating changelog + build for 3.6.2
2026-03-29 19:55:49 -07:00
Jack Kingsman
ac6a5774af
Updating changelog + build for 3.6.1
2026-03-26 19:14:44 -07:00
jkingsman
b63153b3a1
Initial swipe work
2026-03-25 08:32:06 -07:00
Jack Kingsman
3580aeda5a
Updating changelog + build for 3.6.0
2026-03-22 22:14:55 -07:00
Jack Kingsman
5213c8c84c
Updating changelog + build for 3.5.0
2026-03-19 21:53:45 -07:00
Jack Kingsman
f8f0b3a8cf
Updating changelog + build for 3.4.1
2026-03-16 18:43:34 -07:00
Jack Kingsman
dbb8dd4c43
Updating changelog + build for 3.4.0
2026-03-16 15:41:43 -07:00
Jack Kingsman
6c003069d4
Move to pre-built frontend on release only. Closes #62
2026-03-16 15:40:01 -07:00
Jack Kingsman
cf1a55e258
Add prebuilt frontend
2026-03-14 23:05:57 -07:00
Jack Kingsman
ac65943263
Updating changelog + build for 3.3.0
2026-03-13 22:25:47 -07:00
Jack Kingsman
08e00373aa
Updating changelog + build for 3.2.0
2026-03-12 11:55:56 -07:00
Jack Kingsman
b311c406da
Updating changelog + build for 3.1.1
2026-03-11 18:24:41 -07:00
Jack Kingsman
ce87dd9376
Updating changelog + build for 3.1.0
2026-03-11 18:20:31 -07:00
Jack Kingsman
fa1c086f5f
Updating changelog + build for 3.0.0
2026-03-10 21:41:04 -07:00
Jack Kingsman
5bfd9f4af2
Use updated meshcore-decoder library with TRACE patch and fixup frontend routing display on packet list
2026-03-09 12:45:51 -07:00
Jack Kingsman
9fbdbaa174
Updating changelog + build for 2.7.9
2026-03-08 22:18:59 -07:00