diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-08-29 13:52:01 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-08-29 13:52:01 +0200 |
| commit | c4813d1aaf1f4fdf3eb9dc07909f324f5745544d (patch) | |
| tree | cd39bbff663a2ed3db6462c026978142a1bf5cdc /packages/meshbay-node/tests/test_cli_dispatch.py | |
| parent | b8130c80035abc2b28d0b2f19347d16a40668559 (diff) | |
| download | meshbay-c4813d1aaf1f4fdf3eb9dc07909f324f5745544d.tar.gz | |
fix(hub): chat scroll-to-bottom, message loading on group switch, connecting spinner
Three regressions fixed in ChatPanel:
- Scroll pinning: layout effect now depends on [messages, hasMore] so the
"load older" button appearance triggers a re-pin; setHasMore is called
before setMessages to avoid an intermediate render without the button;
fit() is wrapped in fitAndPin() so panel resizing re-pins the scroll.
- Message loading on group switch: fetch effect depends on the status prop
instead of transportRef.current?.connected to avoid racing with
GroupPage's cleanup; loadedRef resets on fetch failure so a retry works.
- Connecting spinner restored in the Chat tab empty state.
Adds structural regression tests (test_chat_scroll_bottom.py) that lock
the dependency arrays and setState ordering so these invariants break
loudly in CI.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-node/tests/test_cli_dispatch.py')
0 files changed, 0 insertions, 0 deletions