Add rich composer formatting and spoiler rendering - #203
Conversation
Signed-off-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz>
Signed-off-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz>
Signed-off-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz>
|
On Wes’s behalf — Brain implemented and verified this conflict resolution. Merged
Also includes the previously authorized 0.65s/0.9s spoiler timing commit. Closer motion matching to the supplied old-Buzz video is still separate follow-up, not implemented here. Hosted CI, required review and native/visual acceptance remain open; no desktop restart or native automation. |
Signed-off-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz>
|
On Wes’s behalf — Brain resolved the next main-branch conflict at Merged #202 ( At this head: required hooks passed 254 files / 2,661 tests, TypeScript and design types/guards. Complete diff-viewer and composer-formats browser files passed 8 cases across Chromium/WebKit, covering diff expansion/layout/focus/scroll and code/list/spoiler behavior. No new or removed browser cases. GitHub reports MERGEABLE, DCO passes, remote head verified, working tree clean. Hosted CI/review and native/visual acceptance remain separate gates; no native restart or release certification. |
Signed-off-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz>
Signed-off-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz>
Signed-off-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz>
Signed-off-by: Brain <1a02c72794dcd0f07058a353bc3a81f4028b8c77c92c87fce6d5c8b85970a20b@buzz.block.builderlab.xyz>
…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>
…-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
#203 moved the data-placeholder attribute from the composer textbox root to a decoration on the empty paragraph inside it, leaving this journey asserting a stale target. The visible placeholder behavior is unchanged; point the check at the element that actually renders it. Co-authored-by: Kalvin Chau <kalvin@block.xyz> Signed-off-by: Kalvin Chau <kalvin@block.xyz>
…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>
Authored and opened by Brain on Wes’s behalf.
Summary
The editing-core replacement was explicitly approved after the layout-only prototype. This is one coherent foundation/formatting change, not a parser/transport rewrite. Unsupported authored Markdown remains source text; live typed-fence conversion, syntax highlighting and a particle engine are out of scope.
Origin: composer-formatting conversation
Current status — diagnostic head
1b100e4aNot merge-ready. Published head:
1b100e4a81205e45436654d4710660d1926b3d2f. Hosted run 35955575437 was queued at the post-push check; final-head CI and DCO are pending, with required approving/code-owner review still outstanding.ba22d04crepairs the packed conversation assertion: explicitly accept the persisted version-1 document envelope while retaining exact text and both recipient spans. No production behavior change.1b100e4aadds bounded, passive test-only scroll-writer diagnostics to the existing navigation journey. Its real wheel, settling and same-ID/Y <4px assertions remain unchanged. No cases, retries, timeouts or exclusions added/removed.conversation+message-navigationfiles passed locally in both engines: 28/28, 56.0s (macOS, pinned tools, zero retries, final pre-commit bytes). Prior uninstrumented run also passed; neither clears the Linux failure. Diagnostic attachments contain actual native writer records in both local engines.Previous repair validation (
79ae265f)Integrated main
2cbe1b0cbefore repairs; its merge tree matched the failed hosted run. That repair head was79ae265f393417d2cc7d1abc4d3e8cf95340f16e.settings,completion-work,emoji,product-ui,typeahead), CI selection, zero retries. Run was on the final clean-equivalent repair bytes before commit; hooks made no further edits.composer-bold,composer-formats,composer-links,mention-edit).What failed and changed
The earlier local checks were not the whole hosted suite. Hosted CI exposed a packed declaration dependency leak, duplicate emoji-selection ownership, selection/caret and post-token geometry regressions, and assertions still targeting the old toolbar/DOM. Its merged tree also contained main's new account-menu focus handoff, which could interrupt Settings entry.
The repair keeps serializable snapshot types at the public draft boundary, leaves selection solely with ProseMirror, preserves browser-derived replacement carets, scrolls after token portals acquire geometry, and removes the toolbar's accidental containing block. Settings retains drafts as before; its existing completion callback now preserves focus already moved into the page. Assertions retain exact selection/layout/retention contracts. The completion-position probe is positively calibrated and excludes legitimate editor caret geometry; it is a source-fixture probe in CI too, not a global zero-layout claim. No CI lanes, retries, timeouts or tolerances changed; no browser cases were added or removed by this repair.
Regression coverage and browser justification
Remaining gates
CI requiredplusDCO Checkat the final uninstrumented repair head, and obtain one required approving/code-owner review. GitHub currently reportsREVIEW_REQUIRED; no approval or merge is claimed.