Skip to content

Fix diff content fallback, keyboard scrolling and edit selection - #205

Merged
wesbillman merged 2 commits into
mainfrom
carl/diff-followup
Sep 24, 2026
Merged

wesbillman merged 2 commits into
mainfrom
carl/diff-followup

Conversation

@wesbillman

@wesbillman wesbillman commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #202, implemented by Carl for Wes.

  • Fall back to the complete escaped patch when parsing would skip unknown content. Retain ordinary text hunks, zero-context changes, no-newline markers and metadata-only rename/mode/binary summaries; unsupported binary payloads remain raw.
  • Make inline preview, file and raw fallback scroll owners keyboard reachable, with named regions and keyboard-only focus outlines. Keep native scrolling and the existing Dialog behavior.
  • Skip diff messages when Up-arrow selects the latest editable own message. Document that diff search is deferred pending relay indexing support.

No relay, search implementation, sending/editing/applying patches, repository fetching, dependencies or shared component changes. Approximately 95 production lines; the remainder is regression coverage and documentation.

Validation

Base: 2cbe1b0ce26faf6b62b4a8b8813ac121a4ce7439. Head: 0799ea9f3607c4cd50221458b0af8a9e0f627208.

  • Mandatory pre-commit and pre-push hooks passed without bypass: staged formatting/lint, TypeScript, 368 tests across 23 related Vitest files, and design type/role/contrast/adoption guards. Machine secret-scanning and destination hooks were preserved alongside repository checks.
  • bin/pnpm test:browser tests/browser/diffs.spec.mjs --no-deps: complete affected file passes in Chromium and WebKit at the final head (Apple Silicon macOS, Playwright 1.63.0). Exercises actual Tab traversal, held ArrowRight/PageDown scrolling, focus return and containment across rich, tall-preview, raw and disabled-plugin fallback surfaces.
  • Regression proof: restoring the original parser/edit selector with the new tests yields 10 failures (six parser cases, complete raw-content rendering, newer diff selection, and diff-only channel/thread editing). Restoring original viewer focus behavior fails the browser file in both engines. The fixed head passes.
  • Independent parser and keyboard reviews found no material defects. The keyboard reviewer independently passed the full browser file in both engines at the clean final head (isolated output directory).

Browser test accounting

Zero cases added or removed. Extended the existing two-engine case, replacing programmatic scrollLeft assignment with real keyboard input. Browser-only justification: native focus traversal, overflow geometry, scroll ownership and modal focus restoration cannot be established in jsdom. Parser/input matrices remain in Vitest; fixtures use local signed events and make no live relay writes. The added 40-line patch exists only to force the documented 25rem preview overflow.

Remaining gates

Hosted CI and DCO status, required reviewer/code-owner approval. No full local suite, native/package acceptance or live-relay acceptance claimed. Search remains explicitly deferred.

Originating Buzz channel: c321a0b6-3db5-452b-9e24-d96d3cee263f.

Carl added 2 commits September 23, 2026 21:41
Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
@wesbillman
wesbillman marked this pull request as ready for review September 24, 2026 13:25
@wesbillman
wesbillman requested review from a team and comp615 as code owners September 24, 2026 13:25
@wesbillman
wesbillman merged commit 597c097 into main Sep 24, 2026
12 checks passed
@wesbillman
wesbillman deleted the carl/diff-followup branch September 24, 2026 13:31
zrmarley added a commit that referenced this pull request Sep 24, 2026
…o-player-polish

* origin/main: (38 commits)
  Fix diff content fallback, keyboard scrolling and edit selection (#205)
  Standardize form controls and field feedback across Buzz (#174)
  Keep image review downloads and external opens distinct (#144)
  Verify media review comments (#166)
  Follow system appearance (#210)
  Add rich composer formatting and spoiler rendering (#203)
  feat: show roster-backed channels and managed instances in profiles (#188)
  Add new direct message flow (#156)
  Remove Home, start in Messages, and keep Channels enabled (#194)
  fix: restore avatar presence controls and active-input sensing (#198)
  Add legacy diff messages with inline and expanded viewing (#202)
  Edit the latest own message with Up in the existing composer (#192)
  Add complete reaction toggles to the message menu (#185)
  feat: add persistent community navigation rail (#191)
  test: add margin to warm-switch performance gate (#195)
  Add composer attachments and compatible media preparation (#183)
  Add reply and copying to the shared message menu (#182)
  fix: avoid idle workspace re-renders from activity and label churn (#186)
  feat: add devtools trace capture to web profiling (#180)
  Add optional channel templates, teams and personal group defaults (#181)
  ...

Signed-off-by: Zach Marley <zmarley@squareup.com>
zrmarley added a commit that referenced this pull request Sep 24, 2026
…-content-compat

* origin/main: (38 commits)
  Fix diff content fallback, keyboard scrolling and edit selection (#205)
  Standardize form controls and field feedback across Buzz (#174)
  Keep image review downloads and external opens distinct (#144)
  Verify media review comments (#166)
  Follow system appearance (#210)
  Add rich composer formatting and spoiler rendering (#203)
  feat: show roster-backed channels and managed instances in profiles (#188)
  Add new direct message flow (#156)
  Remove Home, start in Messages, and keep Channels enabled (#194)
  fix: restore avatar presence controls and active-input sensing (#198)
  Add legacy diff messages with inline and expanded viewing (#202)
  Edit the latest own message with Up in the existing composer (#192)
  Add complete reaction toggles to the message menu (#185)
  feat: add persistent community navigation rail (#191)
  test: add margin to warm-switch performance gate (#195)
  Add composer attachments and compatible media preparation (#183)
  Add reply and copying to the shared message menu (#182)
  fix: avoid idle workspace re-renders from activity and label churn (#186)
  feat: add devtools trace capture to web profiling (#180)
  Add optional channel templates, teams and personal group defaults (#181)
  ...

Signed-off-by: Zach Marley <zmarley@squareup.com>

# Conflicts:
#	docs/channels.md
morgmart pushed a commit that referenced this pull request Sep 24, 2026
…rs-support

* origin/main:
  Add Messages design gallery and tighten message layout (#158)
  Fix diff content fallback, keyboard scrolling and edit selection (#205)
  Standardize form controls and field feedback across Buzz (#174)
  Keep image review downloads and external opens distinct (#144)
  Verify media review comments (#166)
  Follow system appearance (#210)
  Add rich composer formatting and spoiler rendering (#203)
  feat: show roster-backed channels and managed instances in profiles (#188)
  Add new direct message flow (#156)

Signed-off-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@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