feat: show roster-backed channels and managed instances in profiles - #188
Conversation
91ff62e to
b265292
Compare
5d901b3 to
b462b0a
Compare
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>
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>
Co-authored-by: Kalvin Chau <kalvin@block.xyz> Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Co-authored-by: Kalvin Chau <kalvin@block.xyz> Signed-off-by: Kalvin Chau <kalvin@block.xyz>
2c546f9 to
53f45b9
Compare
wesbillman
left a comment
There was a problem hiding this comment.
Carl, an automated reviewer, commenting via Wes’s GitHub account.
Changes requested: one P2 keyboard-accessibility defect at 53f45b9e3cc869262398f11087ca6798cd7da94e (base/merge-base e9e557c5a78cacf84358a2b72897d798050b689a). The inline finding identifies the clipped channel-row focus treatment. Merge criterion: preserve the shared focus outline and add browser-level keyboard coverage for a single-row list and boundary rows.
Source-only review on Blox; no PR code executed and painted focus was not observed. Existing exact-head CI required, JavaScript, Rust/tool integration and Chromium/WebKit journeys passed. The added browser assertion checks channel text, not painted row focus. Native instance links and live-relay membership remain unverified in a running desktop host; Windows native validation was skipped.
Viewer-authorized roster handling, same-community exact native matches and scoped navigation were traced. Hint-gated instance loading is intentional, not a blocker. Retry flicker and minor fallback presentation differences are non-blocking. Admission changes in #196 are excluded.
| .channelList { | ||
| overflow: hidden; | ||
| border: 1px solid var(--border-standard); | ||
| border-radius: var(--radius-card); |
There was a problem hiding this comment.
[P2] Leave room for the channel buttons’ keyboard focus outline
The new list clips its full-width buttons without any inset: the <ul> has zero margin/padding and each row adds only a top border. Shared .buzz-button:focus-visible uses a 2px outline with a 2px outward offset (src/shared/design-system/styles/components.css:746-751). Consequently this overflow clip cuts off the outline at the list edges; a ready list with one channel loses both long horizontal segments as well as the side extrema. Curved pill-outline fragments can remain, so this is not a claim that every focus pixel disappears, but a keyboard user is left with a materially clipped treatment instead of the shared ring around the channel action. Exact perception and contrast still need browser observation.
Give the outline room inside the clipping boundary, or remove the clipping while retaining the intended card presentation. Add a painted-focus browser regression for a one-channel list and first/last rows; the current new journey only asserts #One text and will not catch this.
Co-authored-by: Kalvin Chau <kalvin@block.xyz> Signed-off-by: Kalvin Chau <kalvin@block.xyz>
wesbillman
left a comment
There was a problem hiding this comment.
Carl, an automated reviewer, commenting via Wes’s GitHub account.
Focused re-review: no blocking findings at 99e6e936b62e040b297f6c2c68889115a1dbf284 (base/merge-base e9e557c5a78cacf84358a2b72897d798050b689a). The prior clipped-focus finding is addressed: list padding preserves the shared outline, and the new painted-pixel regression covers single, first and last rows. The only production change since reviewed head 53f45b9e3cc869262398f11087ca6798cd7da94e is that padding; no data or navigation contract changed.
Source-only Blox review with independent UI review. Existing exact-head CI required, JavaScript, Rust/tool integration and Chromium/WebKit journeys passed; logs explicitly show the new focus regression passing in both engines. No PR code or tests were executed for this review. One non-blocking separator-polish note is inline. The fixture supplies the host keyboard-modality attribute, so it proves painted clipping behavior, not full host tab-order/modality integration, corner pixels, or a theme/viewport matrix. Native instance links and live-relay membership remain unverified in a running desktop host; Windows native validation was skipped. Admission in #196 is outside this re-review.
| </p> | ||
| )} | ||
| {!!channels.length && ( | ||
| <ul className="m-0 list-none p-2"> |
There was a problem hiding this comment.
[P3, non-blocking] Consider omitting the first row’s divider
The added padding correctly fixes focus clipping, but .channelRow still gives every <li> a top border (Profiles.module.css:86-88). In a ready list without notes, the first/only row now has a detached horizontal separator 8px below the card’s top edge. This is cosmetic, not a renewed focus blocker. Restricting the border to .channelRow + .channelRow would keep separators between rows without adding one above the first.
…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
…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>
What changed
:globaland test that hidden, archived and DM memberships cannot cause a false unclassified empty state.Verification
2c546f9fd55609202cff2337cdeac1bad06e3bd6: production typecheck/build; 7 focused profile-channel tests; profile browser journeys in Chromium and WebKit (8/8, including appearance); pre-push TypeScript, related unit tests (31/31) and design-system guards passed locally.Sample screenshot
Fictional Pinky agent with a robot illustration, captured from the source-level browser fixture at this head. Fixture transport only; no human profile photograph. The live-update toast was hidden for this illustration (not a product change). Image is attached to the PR, not committed to Git.