Skip to content

perf: preserve unchanged thread row identities - #171

Merged
kalvinnchau merged 4 commits into
mainfrom
perf/thread-row-identities
Sep 23, 2026
Merged

kalvinnchau merged 4 commits into
mainfrom
perf/thread-row-identities

Conversation

@kalvinnchau

@kalvinnchau kalvinnchau commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • retain unchanged thread root/reply objects and reply arrays across status changes and pagination
  • preserve selected-profile map identity for equivalent participant sets while keeping relevant profile updates visible
  • stabilize video seek callbacks and avoid broad profile subscriptions when selected profiles are supplied
  • add mounted StrictMode regressions through the real relay session for pagination, status, edits, signed profile updates, and video seeking; unrelated profile updates still invalidate mounted rows through the shared name service

Validation

  • pre-push typecheck and full Vitest: 208 files / 2,212 tests passed with VITEST_MAX_WORKERS=2
  • build: passed
  • Chromium and WebKit journeys covering thread history, unread state, profiles, and measurement prerequisites: 24/24 passed
  • plugin-manager Rust tests: 21 passed
  • adversarial reviews from cyberpunk and cid: no unresolved findings, 9/9/9 at 68952d358b614e497aacb6f23ce52b2349983970

Limitations

  • the selected-profile map retains identity for unrelated profile updates, but the shared identity-name subscription still rerenders mounted rows; this PR does not optimize name invalidation

  • no matched production capture, so this PR makes no latency or percentage-speedup claim

  • the Node integration gate previously encountered environment-specific temporary executable/shebang permission failures (73 passed / 19 failed)

  • live 100+ reply thread validation remains unperformed

@kalvinnchau
kalvinnchau requested review from a team, comp615 and wesbillman as code owners September 23, 2026 17:12
@kalvinnchau
kalvinnchau force-pushed the perf/thread-row-identities branch from 68952d3 to 8efe55a Compare September 23, 2026 17:16
am and others added 3 commits September 23, 2026 10:36
Co-authored-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Co-authored-by: Kalvin Chau <kalvin@block.xyz>

Signed-off-by: Kalvin Chau <kalvin@block.xyz>

Signed-off-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Co-authored-by: Kalvin Chau <kalvin@block.xyz>

Signed-off-by: Kalvin Chau <kalvin@block.xyz>

Signed-off-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
@kalvinnchau
kalvinnchau force-pushed the perf/thread-row-identities branch from 8efe55a to ea234c1 Compare September 23, 2026 17:38

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carl, an automated reviewer, commenting via Wes’s GitHub account.

Changes requested at ea234c1feacf3daf5eb416b68bb6b4d1bd1522af against base 6e6417d713235dcfc29969f38f278ef51c8e7d82: one P2 in the mounted performance regression, detailed inline. The test bypasses a production subscription that defeats its zero-render assertion. No additional material defect found in row equality, pagination/status sharing, access purges, or callback freshness.

Merge criterion: exercise profile updates through the intact session and either satisfy the intended isolation or explicitly test/document the narrower optimization. Do not expand the identity subsystem just to satisfy an overstated test.

Validation: exact-head hosted CI passed, including full Vitest, Node integration, Rust, Chromium/WebKit journeys and measurements. Locally, the original full identity-test file passed; the test-only real-producer variant failed at the reported assertion; a diagnostic variant confirmed the four renders and passed the remaining checks. No broad local rerun, live 100+ reply thread, actual media-playback acceptance or matched production performance capture. Windows native CI was skipped.

Comment thread src/features/messages/ThreadPanel.identity.test.tsx Outdated
Co-authored-by: Kalvin Chau <kalvin@block.xyz>

Signed-off-by: Kalvin Chau <kalvin@block.xyz>

Signed-off-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>

@wesbillman wesbillman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Carl, an automated reviewer, commenting via Wes’s GitHub account.

No remaining blockers at f545f1c43b07a92352ec32972be4bbdab4d1bf9e against base 6e6417d713235dcfc29969f38f278ef51c8e7d82. The P2 is resolved under the agreed narrower contract: the test keeps the intact session, feeds signed kind-0 events through its real profile/name producer, and explicitly asserts the remaining four StrictMode body renders. Pagination, edit, relevant-name and seek-callback checks remain. The PR description now disclaims name-invalidation isolation. No production code changed since the previous review.

Verified CI for this head: all automatic Linux lanes passed; the revised test passed within the full 223-file / 2,357-test Vitest run. CI checked merge 7f598ef of this head into the stated base. No redundant local rerun. Existing limits remain: no matched production speedup capture, live 100+ reply exercise or actual media-playback acceptance; Windows native validation skipped.

This is a non-approving re-review. The prior change request is obsolete; formal approval remains with an authorized reviewer.

@wesbillman
wesbillman dismissed their stale review September 23, 2026 18:35

Carl, an automated reviewer, commenting via Wes’s GitHub account. P2 resolved and verified at f545f1c; superseded by the non-approving re-review. No remaining blockers.

@kalvinnchau
kalvinnchau merged commit 1f84835 into main Sep 23, 2026
12 checks passed
@kalvinnchau
kalvinnchau deleted the perf/thread-row-identities branch September 23, 2026 18:42
zrmarley added a commit that referenced this pull request Sep 23, 2026
…search-send

* origin/main:
  Connect attachments to existing message delivery (#176)
  perf: preserve unchanged thread row identities (#171)
  perf: cache markdown preparation by content (#172)
  Add safe attachment upload groundwork (#150)
  feat: add sampling profiler launch modes (#148)
  feat(channels): remove DMs from the sidebar (#157)
  Distinguish namesake agents and selected recipients (#142)
  feat(channels): move diagnostics into Channel Settings (#163)
  Replace warning banners with shared Base UI toasts (#164)
  feat(shortcuts): add keyboard shortcut settings (#155)
  fix(channels): give floating unread cue an opaque panel surface (#153)
  feat(communities): add BUZZ_DEV_OPEN_RELAY to open the default relay on fresh dev ports (#151)
  Restore recipient avatars beside the composer mention tool (#162)
  Fix startup inventory duplication and late panel scroll shifts (#160)
  feat(channels): add channel creation (#138)
  Standardize Button and IconButton with Buzz design tokens (#145)

Signed-off-by: Zach Marley <zmarley@squareup.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants