Skip to content

test(channels): complete the context navigation fixture - #2783

Merged
johnmatthewtennant merged 1 commit into
mainfrom
jtennant/oliver/channel-context-type
Nov 6, 2026
Merged

johnmatthewtennant merged 1 commit into
mainfrom
jtennant/oliver/channel-context-type

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Why

This fixes the JavaScript typecheck failure on main after the thread channel-link change. Its new context-navigation test fixture omits the required PageNavigation.passThrough method, causing TS2741 and blocking JavaScript CI on downstream PRs.

What

Add the same no-op registration and cleanup used by neighboring channel-navigation fixtures. One test-only line; no production changes.

Validation

pnpm exec tsc --noEmit fails on base fd21dba4af2edf63d7b038e3f0f6bdf3703b5df7 at ChannelsPage.context.test.tsx:248 with the missing passThrough error. The same command exits zero with this correction.

Co-authored-by: Oliver <e78152627ea32fbacb070e5047afcfb8e409fa3343d9e618227baacca5b5e607@buzz.block.builderlab.xyz>
Signed-off-by: John Tennant <[email protected]>

@johnmatthewtennant johnmatthewtennant left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

🤖 Nora reviewed c9daf43. Complete independent review and source inspection found no correctness blockers. The one-line test stub matches the PageNavigation registration/cleanup contract and neighboring fixtures; production code and assertions are unchanged. This is source review, separate from runtime validation and CI. Formal approval is unavailable because this GitHub account also authored the PR.

@johnmatthewtennant
johnmatthewtennant marked this pull request as ready for review November 6, 2026 11:59
@johnmatthewtennant
johnmatthewtennant requested a review from a team as a code owner November 6, 2026 11:59
@johnmatthewtennant
johnmatthewtennant merged commit 3bcf1c4 into main Nov 6, 2026
43 checks passed
@johnmatthewtennant
johnmatthewtennant deleted the jtennant/oliver/channel-context-type branch November 6, 2026 12:14
johnmatthewtennant added a commit that referenced this pull request Nov 6, 2026
Picks up the main typecheck repair so CI can run green.

Signed-off-by: John Tennant <[email protected]>
Co-authored-by: Martha <73923046810b68ae182000e74ef7c444383a907df20f81f2ba1008870a6f45a1@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <[email protected]>

* origin/main:
  test(channels): complete the context navigation fixture (#2783)
  fix(channels): open a thread's channel at its root message from the #channel link (#2377)
tlongwell-block added a commit that referenced this pull request Nov 6, 2026
* eva/huddle-audio-fixes: (29 commits)
  fix(huddle): keep calls flowing under stalled sends and multiple devices
  fix(channels): wrap unread conversation stepping around the sidebar (#2682)
  fix(navigation): let bare buzz:// open Buzz without a broken-link notice (#2718)
  fix(inbox): open DM thread rows as the thread (#2587)
  test(channels): complete the context navigation fixture (#2783)
  fix(channels): open a thread's channel at its root message from the #channel link (#2377)
  fix(people): find people by a pasted npub or hex key (#2396)
  test(bestie): open the narrow long-history thread with clickRow (#2723)
  Account-first onboarding and sign-in recovery (#2579)
  fix(agents): scroll the avatar dock with a mouse wheel (#2567)
  fix(avatars): keep Done in view when the avatar popup is short (#2706)
  feat(messages): highlight reactions you've made (#2709)
  feat(usage): move Usage from the sidebar into Settings (#2742)
  fix(messages): keep a playing row mounted in the channel timeline (#2695)
  Fix plugin status declaration closure for author consumers (#2643)
  fix(navigation): keep empty new chats out of Back history (#1617)
  [buzz-app] Recover remote agent message outcomes (#2542)
  feat(messages): name background send destinations and attach the files that fit (#2406)
  feat(drafts): clear a draft from its row (#2725)
  Authorize external application identities in Buzz (#2685)
  ...

Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@buzz.block.builderlab.xyz>
Co-authored-by: Tyler Longwell <[email protected]>
Signed-off-by: Tyler Longwell <[email protected]>

# Conflicts:
#	docs/huddles.md
#	src-tauri/src/relay/huddle/audio.rs
mahanti added a commit that referenced this pull request Nov 6, 2026
…2424)

Agent transcripts show an aligned sequence of individually expandable
steps, with tool verbs leading each row, monospace inputs/outputs/diffs,
and final replies in the shared received-message bubble. Terminal status
rows preserve explicit failed, stopped, unknown, and completed outcomes.
Active work retains a single typing/shimmer indicator.

- Reuse shared avatars, typing dots, shimmer, message bubbles, and
semantic status/type/spacing roles. Share one disclosure shell for tool
and narrative rows; keyboard and reduced-motion interactions remain
immediate.
- Preserve Channel/Thread navigation in the aggregate published feed and
omit redundant navigation in individually scoped adapter transcripts.
- Show “View activity” beside eligible reply timestamps only after
associated work and publication settle, including stopped and superseded
work. Retain publication association separately from expiring
notification correlation.
- Preserve readable labels at narrow widths and enlarged text with the
new dock: constrain quiet metadata, share profile content insets with
the hero/footer, and size the portrait within its panel.
- Give the fixed status red a single light-palette owner, reused by the
light red ramp and status role. The color guard validates the exact
binding and literal owner.

### Validation

- Independent review: no blockers, 9/10. Follow-up review covered the
color guard and navigation fixture contract repair.
- Explicit terminal-outcome regression: 7 failures with the old
renderer; all 33 transcript/aggregate adapter tests pass with the
repair.
- Full affected browser file: 20/20 cases pass in Chromium and WebKit
(26.7s). Existing journeys exercise 360/390px widths at 150%/200% text.
Label-width and row-height assertions remain; the added panel-overflow
assertion failed before the portrait fix and passes afterward. No
browser cases added or removed. Real browser geometry is required for
these layout contracts.
- Synthetic browser exercise: pointer and keyboard expand/collapse,
narrow/enlarged-text and wide layouts, light/dark captures. This does
not establish native integration.
- Design component suite: 201 tests across 28 files passed. Design
viewer/message gallery builds and design TypeScript passed before the
final CSS layout repair.
- Hook follow-up: TypeScript and all 9 channel-context tests pass. The
color guard passes and rejects both an invalid shared owner and an
incorrect ramp binding. The context fixture now supplies main’s new
`PageNavigation.passThrough` contract, matching sibling fixtures.
- First full hook attempt: 8,692 passed and three failures. Fixed the
merged prompt assertion to include author identity and replaced a
transient picker-focus assertion with a menu-focus lifecycle barrier.
Cleared Vitest’s stale filesystem transform cache, which omitted the
newly merged Drafts & sent README from its glob. All 61 tests across the
three affected files then passed; no README source change was needed.
- Prior lifecycle regression coverage demonstrates replies retain
activity links after notification expiry and nested replies do not
inherit unrelated root completion. Mounted coverage includes
remount/retry and pending-publication guards.

### Acceptance and limitations

Arjun personally accepted expand/collapse, Channel/Thread navigation,
settled-reply activity links, and narrow/enlarged-text layout on
November 5. The November 6 dock/layout repair still needs a focused
human recheck. Marked ready for review at Arjun’s explicit request on
November 6; this state change does not attest completion of that
recheck. Native identity/community loading was not reverified during
this follow-up. Code-owner approval is still required; this PR has not
been merged.

The reply shortcut requires locally tracked publication evidence
retained in memory. It is intentionally hidden for remote/history-only
replies, after app restart, or after bounded local-work retention drops
the association. Existing profile/context-menu activity access remains
available.

On published head `a56b6ae7e`, all mandatory push checks passed:
TypeScript/related unit tests (562.13s), design types/guards (4.99s),
formatting/icons, secret scan, and push policy checks. No checks
bypassed. GitHub reports no merge conflicts; current-head hosted CI
passed all 58 executed jobs:
https://github.com/block/buzz-app/actions/runs/42218544020. On-demand
Windows validation was skipped.

Main independently added the same navigation fixture repair during
validation. GitHub’s merge checkout duplicated the method and failed
lint in the first hosted run. Merged main #2783 and retained its single
fixture entry; the focused 9-test file and complete mandatory push
checks pass on `a56b6ae7e`. Fresh hosted CI passed all 58 executed jobs
on the reconciled head.

---------

Signed-off-by: Arjun Mahanti <[email protected]>
Co-authored-by: Codex <[email protected]>
Co-authored-by: Codex <[email protected]>
Co-authored-by: bmo <a7b504d9a2bfe905589e9ac237d7d8d023b8d10547060ec9618e6487b55d756c@buzz.block.builderlab.xyz>
wpfleger96 added a commit that referenced this pull request Nov 6, 2026
…leanup

* origin/main: (84 commits)
  Restore macOS Cmd-W window closing when no tab handles it (#2443)
  Make agent transcripts quieter and link finished replies to activity (#2424)
  fix(channels): wrap unread conversation stepping around the sidebar (#2682)
  fix(navigation): let bare buzz:// open Buzz without a broken-link notice (#2718)
  fix(inbox): open DM thread rows as the thread (#2587)
  test(channels): complete the context navigation fixture (#2783)
  fix(channels): open a thread's channel at its root message from the #channel link (#2377)
  fix(people): find people by a pasted npub or hex key (#2396)
  test(bestie): open the narrow long-history thread with clickRow (#2723)
  Account-first onboarding and sign-in recovery (#2579)
  fix(agents): scroll the avatar dock with a mouse wheel (#2567)
  fix(avatars): keep Done in view when the avatar popup is short (#2706)
  feat(messages): highlight reactions you've made (#2709)
  feat(usage): move Usage from the sidebar into Settings (#2742)
  fix(messages): keep a playing row mounted in the channel timeline (#2695)
  Fix plugin status declaration closure for author consumers (#2643)
  fix(navigation): keep empty new chats out of Back history (#1617)
  [buzz-app] Recover remote agent message outcomes (#2542)
  feat(messages): name background send destinations and attach the files that fit (#2406)
  feat(drafts): clear a draft from its row (#2725)
  ...

# Conflicts:
#	src/bundled/builderlab/adapter-type/Activity.test.tsx
kalvinnchau added a commit that referenced this pull request Nov 6, 2026
After closing a linked thread, the Buzz-links browser journey can
attempt hover while the timeline is still re-measuring. In [main CI run
42211679272](https://github.com/block/buzz-app/actions/runs/42211679272),
Playwright first reported a transient header interception, then retried
by scrolling 52px. Hover returned while Virtua disabled pointer events,
and the message preview never appeared.

Wait through rendering updates and geometry quiescence after thread
close, then use the existing raw-pointer `hoverRow` helper. The helper
now waits until the target's centre actually hit-tests before moving,
avoiding locator-driven scroll retries. All preview and navigation
assertions remain. No production code changes; no browser cases added or
removed. The browser is necessary to exercise real layout, native
hit-testing, virtualized scroll suppression and pointer hover.

Validation:

- Affected journey passed in Chromium and WebKit on macOS against the
actual app and production broker with modeled upstream and disposable
identities. Command: `bin/pnpm test:browser --project chromium --project
webkit --no-deps --workers=1 tests/browser/buzz-links.spec.mjs --grep
"Buzz channel and message links render"`.
- Local WebKit execution: unchanged `fd21dba4` 6.4s; final patch on
`3bcf1c4bb` 7.0s. These single samples are functional evidence, not a
performance conclusion. Two-engine final run: 24.0s total including
setup. No full suite run manually.
- Independent agent review: no findings,
minimalness/elegance/correctness 9/9/9. Biome clean. Hosted [CI run
42217234172](https://github.com/block/buzz-app/actions/runs/42217234172)
succeeded on `29ab2377c`: 58 successful jobs, 2 skipped, all 23 journey
shards and all 22 browser repetition lanes green. The affected case
passed 10/10 per engine; regular WebKit shard 81/81.
- The unchanged hosted WebKit7 retry passed the affected case in 26.4s,
81/81 in the shard. That establishes intermittency, not proof of the
proposed repair. The separate missing `PageNavigation.passThrough`
fixture was repaired by merged #2783 and is inherited from main.

Limits: a later re-measure can still happen after the final hit-test
check or pointer move; the existing preview assertion continues to catch
that. Local Linux reproduction was unavailable because Docker Desktop
requires organization sign-in. The original hosted failure was not
reproduced locally. Native and human acceptance were not observed. The
PR remains draft. Hosted Linux checks passed; the residual late-layout
window is not claimed eliminated.

Signed-off-by: Kalvin Chau <[email protected]>
Co-authored-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
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.

1 participant