feat(desktop): autoscroll thread sidebar for new replies#363
Merged
Conversation
Replace the manual scroll-to-bottom effect with useTimelineScrollManager so new replies automatically scroll into view, matching channel page behavior. Adds a "Jump to latest" button when scrolled up. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…t into hook The manual scroll-to-target effect in MessageThreadPanel duplicated built-in targetMessageId/onTargetReached support in useTimelineScrollManager. Wire those through the hook instead and remove the redundant effect. Also remove the unused totalReplyCount prop chain (MessageThreadPanel ← ChannelPane ← ChannelScreen). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tauri validates `externalBin` paths at compile time. The `desktop-tauri-check` recipe already creates placeholder stubs, but the `dev` recipe didn't — causing a build failure when running `just dev` after the sidecar bundling landed in main (#362). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fsola-sq
added a commit
that referenced
this pull request
Apr 20, 2026
…-binding * origin/main: fix(desktop): eliminate agent startup beachball (#374) fix(desktop): resolve agent command path for DMG builds (#372) fix(desktop): remove stale sprout-admin prereq, add sidecar tooling (#371) Add server cross-compile and macOS desktop build CI jobs (#369) Fix forum post card bugs on desktop and mobile (#370) fix(desktop): kill WebSocket flood and fix Markdown <p><div> nesting (#368) perf: caching, batched DM resolution, bounded audit, global kind index (#367) fix: staging to generate stubs as needed (#366) chore(deps): update rust crate axum to v0.8.9 (#365) chore(deps): update dependency @tanstack/react-router to v1.168.22 (#364) feat(desktop): autoscroll thread sidebar for new replies (#363) fix(desktop): eliminate 10+ second UI freeze on startup (#361) feat(desktop): bundle sprout-acp and sprout-mcp-server as Tauri sidecars (#362) Remove release pipeline from public repo (#360) Amp-Thread-ID: https://ampcode.com/threads/T-019dab7a-5979-7401-83a1-509b9adfe4a0 Co-authored-by: Amp <amp@ampcode.com> # Conflicts: # crates/sprout-relay/src/state.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
useTimelineScrollManager(the same hook the channel page uses) intoMessageThreadPanel, replacing two manual scroll effects with the shared hooktotalReplyCountprop from the thread panel chain (MessageThreadPanel,ChannelPane,ChannelScreen)just devfailing due to missing sidecar placeholder binaries (gap from feat(desktop): bundle sprout-acp and sprout-mcp-server as Tauri sidecars #362)Net -33 lines across the scroll refactor.
Test plan
just devfrom a fresh worktree — should build without sidecar errors🤖 Generated with Claude Code