Conversation
Collaborator
Author
|
Closing as a duplicate in favor of #4511, as requested by Michael. The functional changes and regression test are identical; the diff differences are base revision/formatting only. #4511 is open and mergeable with 17 successful checks and 3 skipped checks. Additional matched-source verification performed for this equivalent implementation: five hidden-pane invalidations produced 5 timeline HTTP requests on base and 0 with the fix; restoring the fixed pane produced 1 refresh, retaining the same pane DOM node. CPU benefit remains unmeasured. No changes need porting from this PR. Neither PR was merged as part of this action. |
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.
Human comments
What was wrong
Maximizing a split pane hid sibling views while leaving their timeline query observers enabled. Realtime invalidation could therefore refetch a timeline displayed only in hidden panes (#4508).
What changed
Pass pane visibility through the thread view to the existing timeline controller's enabled option. Hidden panes retain local state, stop fetching, and refresh when restored. Other enabled consumers of the same query remain active.
This adapts the fix and regression from #4511 onto this thread's branch. That PR is owned by the SlopCop bot; its branch is untouched. These PRs overlap and should not both be merged. No wire, SDK, CLI, configuration, or persisted-data contracts change.
How you verified
pnpm exec turbo run test --filter=@bb/app -- src/views/thread-detail/SplitThreadArea.test.tsx src/components/thread/timeline/useThreadTimelineController.test.tsx src/hooks/queries/thread-queries.test.tsx: 101 tests pass.pnpm exec turbo run lint typecheck --filter=@bb/app: passes; 209 existing lint warnings, zero errors.git diff --checkpass.Matched base/PR source frontends against the same isolated backend and thread data: five hidden-pane invalidations caused 5 timeline HTTP requests on base and 0 on PR; restoring the PR pane caused 1 request. The same pane DOM node remained mounted. Chromium Resource Timing and query update counters agreed.
Final CI on
eb39ef4495432cea3f92f8cd8e4abeb3e2c8d99f: 17 checks passed, 3 conditional/platform checks skipped. CPU benefit is unmeasured; Electron has not been tested separately. Browser measurements used explicit query invalidations and real API responses, without a streaming agent turn.Fixes #4508