Skip to content

Add status badge cutouts to avatars - #211

Merged
wesbillman merged 44 commits into
mainfrom
kennylopez-online-badges-pr158
Sep 25, 2026
Merged

wesbillman merged 44 commits into
mainfrom
kennylopez-online-badges-pr158

Conversation

@klopez4212

@klopez4212 klopez4212 commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add rounded status cutouts to circular person avatars and matching squircles to agent avatars and badges. Preserve existing avatar sizes and loaded artwork during status changes.
  • Show known live presence on profile avatars, message and thread bylines, and one-to-one DM avatars in the left nav. Use solid green for online, yellow for away, and grey for offline in both themes; unknown status stays unbadged.
  • Announce known status on the relevant controls and avatars.

Current CI repair: 96f718e7 (September 25)

Carl, an automated contributor, updated this PR on Wes’s behalf.

  • Cause and repair: the browser started its five-second presence gate before the broker received the request. A faster follow-up could arrive inside the broker’s gate, receive 204, and spend another 5–6 seconds waiting. Four production lines now pace the next read from settlement and clamp demand queued during the flight. The broker’s policy, ordinary-read isolation, refresh cadence, and unknown-status behavior are unchanged. The tradeoff is counting the previous request duration toward the wait rather than risking a second busy interval.
  • Regression evidence: the existing activity journey now explicitly holds the byline snapshot before broker admission while telemetry demand mounts, then releases in finally. It retains the original accessibility assertion and checks every attempted snapshot reached upstream (no concealed busy/retry success). Before the fix, both engines failed at the original assertion; afterward the complete activity and presence files pass 24/24, Chromium/WebKit, two workers, zero retries (1.6m Apple Silicon). No browser cases added or removed; real browser/broker timing is the integration boundary. Three controlled-clock owner cases use real API admission for demand during/after a flight and reconnect; all three failed before the production fix.
  • Validation: full Vitest 3,798/3,798 across 348 files on the pre-commit repair tree; only browser formatting, a unit-test title, and replacing its unsupported TypeScript Promise.withResolvers spelling with an equivalent deferred constructor followed. Exact-head mandatory push checks pass TypeScript, 1,638 related unit tests / 125 files, design types and guards. Independent source review passed. Hosted DCO passes, all 39 PR commits have author-matching sign-offs, and the full diff has no added review captures. Prior conflict/comment dispositions are retained below.

Remaining gates and limits: Hosted CI for this head reached a terminal cancelled result, not green. The repaired activity journey passes on hosted Linux in both engines (11.7s Chromium, 34.2s WebKit). Chromium shard 1 completes 179/179 in 7.4m; Chromium shard 2, WebKit shard 2, JavaScript, Rust, measurements, DCO and security checks pass. WebKit shard 1 records 158 passing cases and no test failures before GitHub cancels it for exceeding the 15-minute job limit; this makes the aggregate check fail. Its tests started about 4m21s after the job began. The runtime gate is separately reported to Wes for authorization; no timeout increase, unrelated test change, or blind rerun performed. Required code-owner approval still applies. No approval or merge performed. The separate standalone viewer result remains 70/72 at 08bdf6f8: unchanged button-tab-focus fails in both engines (viewer.spec.ts:531, expecting subtle sm), while avatar cases pass. That failure needs owner disposition; it is outside hosted viewer coverage and this scheduling repair. No live-account, native-window, or Linux AT-SPI/Orca acceptance is claimed. Local macOS results are not hosted Linux evidence.

Previous integration and validation history

Conflict integration: 08bdf6f8 (September 25)

Carl, an automated contributor, updated this PR on Wes’s behalf.

  • Merged main 01523e2c with PR head 9f5ecfe5. The only conflict was adjacent additions to the token registry; both scrollbar and presence roles are retained. Independent source review checked overlapping profile Runtime, thread layout, styles and viewer changes. No new product behavior or browser cases added/removed by this merge.
  • Exact-head local Apple Silicon validation: 38/38 affected app journeys (presence, profiles, agent activity, avatar shapes, DM labels), Chromium/WebKit, two workers, zero retries, 1.9m. Mandatory pre-push passed TypeScript, 752 unit tests / 62 files, design types and all guards. Full design unit suite 100/100; app and both design builds pass. Audited all 38 PR commits for actual-author sign-offs; hosted DCO is green. Full diff media scan found only intended SVG masks and screenshot deletions, no generated review artifacts.
  • Dispositioned all three open threads: valid DCO trailers; the implemented Linux accessible-description/name repair; and the stale claim that human byline presence was newly expanded. Preserved the PR author’s documented byline scope. My obsolete changes-requested review is dismissed, not converted into approval.

Remaining gates and limits: GitHub reports MERGEABLE, but fresh integration CI failed in the first agent-activity journey in both engines; diagnosed and repaired below. Required code-owner approval still applies. No merge or approval performed. The complete standalone viewer run is 70/72: its unchanged button-tab-focus assertion (viewer.spec.ts:531, expecting subtle sm) fails in both engines. All avatar cases and the previously reported toast case pass in this run. The button failure was not repaired or suppressed; it needs separate owner disposition and is outside hosted viewer coverage. No native WebKitGTK/AT-SPI/Orca, live-account or native-window acceptance. Local evidence is not hosted Linux evidence.

Conflict resolution: 00a50264

Merged current main 1e15d5d3 (#212 menu/popover changes) with PR head 8035c372. Resolved AgentChoice.tsx by retaining main’s shared MenuRadioItem/ChoiceRow/small-avatar layout and the PR’s live badges and accessible status/admission disclosure. Added admission-label assertions across unknown → known presence. Independent source review passed for the resolution and overlapping auto-merges.

Validation: all 14 cases in the complete agent-activity.spec.mjs and new-message.spec.mjs pass in Chromium/WebKit, two workers, zero retries (41.4s local). Run was on the integration before commit; the pre-commit hook only reformatted AgentChoice. Exact-head mandatory push hooks pass TypeScript, 654 related unit tests (53 files), design types and guards. Prior broader evidence is recorded below, not claimed as rerun at this head. No browser cases added/removed by conflict resolution; no toast repair or full viewer rerun. GitHub reports MERGEABLE (no conflicts) and DCO is green; hosted CI completion remains pending at this new head.

Previous validation: 8035c372

Carl, an automated contributor, updated this PR on Wes’s behalf.

  • Integrated main through be53d8e1, including test: isolate direct-message delivery gate from read-state publications #233’s existing fix for read-state publications stealing the held direct-message delivery callback. Independent source review verified that main’s profile Message/status/Memories changes and the PR’s presence accessibility changes survive.
  • Fixed the two journey setup boundaries without product changes, retries, delays, exclusions, or relaxed tolerances: wait for the channel history’s scrollend before recording the reading anchor; clear the rich composer using its select-all/backspace commands and assert it is empty before mention completion. The hosted WebKit trace shows the last 25px of wheel movement occurring after the old baseline; the local Chromium trace shows fill("") leaving the first mention intact. Independent reviewers checked both repairs.
  • 68/68 app journeys pass, Chromium + WebKit, zero retries, two workers, 2.3m local Apple Silicon wall time. Complete files: new-message, message-navigation, agent-activity, profiles, presence, avatar-shapes, dm-labels. Run used the staged integration tree, verified byte-for-byte equal to committed eef19a3e; the sole later change at 8035c372 updates the separate viewer test’s exact avatar count. New-message cases took 3.7s / 4.8s and the reading-anchor case 2.1s / 2.7s (Chromium / WebKit). Earlier integration run: 35/36 pass, 1.9m; different scopes, not a speedup comparison. No browser cases added or removed in this repair.
  • Exact-head pre-push passes: TypeScript, 651 related unit tests across 52 files, design types and all design guards. All 29 PR commits have sign-offs; hosted DCO is green. At eef19a3e, all 94 design unit tests, app build and both design builds also pass.
  • Design viewer: 61/62 pass in the complete two-engine run at 8035c372 (1.3m, one worker, zero retries). All avatar cases pass. Repaired the existing exact identity count to include this PR’s six new Morgan specimens (5 → 11); it failed in both engines before the correction. The remaining failure is WebKit toast modal focus at tests/fixtures/design-system/viewer.spec.ts:1622; it also failed in the preceding full viewer run. This is outside the avatar repair and has not been diagnosed or suppressed. The design-viewer browser suite is not part of the hosted functional matrix.

Not yet merge-ready: hosted CI at this head is running; the separate toast-focus failure needs owner disposition. GitHub currently reports approval, but no new approval or merge was performed by this takeover. No live-account or native-window validation; Windows CI is skipped. Local macOS evidence does not establish hosted Linux success.

Earlier takeover and screenshot-cleanup evidence

Validation

Carl, an automated contributor, updated this PR on Wes’s behalf.

At 50041597 (includes main through 7de47085):

  • Pre-push: TypeScript, 636 related unit tests, design types and all design guards pass. The full Vitest suite also passed 2,966 tests at 05917094, immediately before removing two unsupported RTL exact options from the test only.
  • All 32 cases in agent-activity.spec.mjs, presence.spec.mjs, and profiles.spec.mjs pass in Chromium/WebKit on the exact pushed head (86 seconds local wall time). No browser cases added/removed.
  • The failing activity journey now enables the existing strict read-state fixture only for that case and observes the actual signed/decrypted message frontier before opening the profile. Adding the publication barrier without the fixture reproduced the original kind-30078 rejection in WebKit; enabling the fixture passes without retries or relaxed unexpected-event checks. This browser test covers real dwell, broker socket publication, focus and panel transitions that DOM unit tests cannot.
  • The activity file’s local repair run passed 10/10 in 27.3s; the repaired case took 8.3s Chromium / 9.1s WebKit. Original hosted WebKit shard: 149 pass / 1 fail in 9.5m. These are different environments/scopes, not a speedup comparison.
  • Independent presence/lifecycle and UI reviews returned with no remaining code blocker. Known profile status has one accessible owner on Info; Channels/Memories retain the avatar status. The documented solid-fill direction is preserved.

Hosted CI/DCO at the new head and the required independent/code-owner approval remain merge gates. No live-account or native-window validation was performed in this takeover. The full hosted matrix supplies broad integration coverage.

Screenshot cleanup follow-up

At 918ff0fa (includes main through f6caa83f):

  • Removed 10 committed review captures (~1.02 MB): four avatar-status, three new-message, two sidebar-polish, and one channel-settings screenshot. Scanned tracked image/media files and references across the project; no tracked text referenced the removed paths. Product artwork, icons, and media fixtures remain unchanged. Removed the obsolete screenshot table above; Git history was not rewritten.
  • Cleanup commit is deletion-only. The automatic merge of current main preserves the previously reviewed non-screenshot feature diff exactly. TypeScript, all 636 hook-selected unit tests (49 files), design types/guards, and diff checks pass on this head. No browser cases or production behavior changed by the cleanup; no additional browser/native suite was run for image deletion.
  • The previous head's hosted browser matrix reported failures. This artifact cleanup does not diagnose or repair those failures; current hosted CI/DCO and independent/code-owner approval remain merge gates.

mahanti and others added 8 commits September 23, 2026 09:01
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>

# Conflicts:
#	tests/fixtures/design-system/viewer.spec.ts
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: klopez4212 <klopez4212@gmail.com>
@klopez4212
klopez4212 marked this pull request as ready for review September 24, 2026 10:11
@klopez4212
klopez4212 requested review from a team, comp615 and wesbillman as code owners September 24, 2026 10:11
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-25T09:43:05.918745Z 9f5ecfe New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: fabfd3980f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/shared/design-system/ui/Avatar.tsx Outdated
Comment thread src/shared/design-system/ui/Avatar.tsx Outdated

@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: one P2 accessibility finding in the new light-mode status colors (inline). Merge criteria: make the status boundary meet the existing 3:1 non-text target on supported surfaces and cover those mappings in the existing contrast guard. Live presence wiring remains out of scope.

Validation: source-only review of fabfd3980fdea11e05e5455651df2b7fc329e7dc against 804413b22c3866af4b6710d99b154a0414e3b142, plus committed screenshots; no builds/tests or live/native rendering executed. Existing journey shards passed, but they do not run the new design-viewer test. Browser measurements failed: channel-opening warm visibility was 105 ms versus <100 ms. I have not established that this diff caused it; required CI remains a separate merge gate.

Comment thread src/shared/design-system/styles/tokens.css Outdated
mahanti and others added 6 commits September 24, 2026 06:40
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Signed-off-by: klopez4212 <klopez4212@gmail.com>
Signed-off-by: klopez4212 <klopez4212@gmail.com>
Signed-off-by: klopez4212 <klopez4212@gmail.com>

@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: one new accessibility regression in the profile integration; restore non-color status distinctions on the collapsed avatar. The inline P3 fallback note is nonblocking.

The previous contrast finding is resolved on all four declared surfaces in both themes. Actual online/away/offline changes preserve the image subtree; no presence redesign is requested.

Validation: source-only primary review, independent review, and coordinator integration at 9b45af4ac7f00c66d35c36eb9e6f37b563fe963b against 41c43393894fa18408a3dc1a6de8420156263b09. Existing exact-head CI reports 11 successes and one native skip. No builds/tests or live rendering were executed by this review; app-backdrop paint remains unverified.

Comment thread src/shared/design-system/styles/components.css
Comment thread src/app/shell/ProfileButton.tsx Outdated
Signed-off-by: klopez4212 <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0abf7d9708

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/app/shell/ProfileButton.module.css Outdated

@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: one remaining P2. The profile trigger's shared interaction-background feedback is suppressed; reproduction and the bounded fix are in this thread.

Reviewed head 0abf7d970832cbf6d4909646bac0607409db3db8 against base 41c43393894fa18408a3dc1a6de8420156263b09. Earlier status-contrast, non-color status-shape, and unnamed-profile fallback findings are resolved in the current implementation. The complementary lifecycle review found no additional material issue in the changed paths.

Validation: a review-local probe of the real built app reproduced the remaining defect in Chromium and WebKit, light/dark, and verified the cascade cause by removing only the override selector in the DOM. Contrast guard and diff whitespace check pass. Existing hosted checks are green; Windows native validation is skipped. No broad suite or native validation was rerun locally.

Merge criterion: restore shared hover/pressed/menu-open feedback and cover that rendered control. No additional presence feature work requested.

Signed-off-by: klopez4212 <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4d26aa3e53

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/app/shell/ProfileButton.tsx Outdated
Base automatically changed from codex/messages-polish to main September 24, 2026 15:32
Signed-off-by: klopez4212 <klopez4212@gmail.com>
Signed-off-by: klopez4212 <klopez4212@gmail.com>
Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
Carl and others added 5 commits September 24, 2026 14:41
Bring in the existing read-state delivery-gate fix without losing profile integration. Wait for wheel completion before recording the channel anchor and clear the rich composer through its keyboard selection command.

Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
Resolve AgentChoice against shared MenuRadioItem and ChoiceRow components. Preserve known-status names and admission disclosures; cover both after a presence transition.

Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
Signed-off-by: klopez4212 <klopez4212@gmail.com>
Signed-off-by: klopez4212 <klopez4212@gmail.com>

# Conflicts:
#	tests/browser/agent-activity.spec.mjs

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6eefcec8c1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/presence.md
Signed-off-by: klopez4212 <klopez4212@gmail.com>

# Conflicts:
#	tests/browser/agent-activity.spec.mjs

@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.

Source review clear; not merge-ready. No actionable code/product/security findings in head b47f4fc97fa89167793062855a85316099859f1f against base 223028bbb59273dae9c109675b6b7f3141d13340.

  • The shared avatar retains loaded artwork across status transitions; known presence is narrated by its owning control/image, unknown stays unbadged, and all consumers reuse the bounded session-owned presence directory. The documented solid-fill product exception is preserved.
  • Existing CI run 36076581594 passed for these exact head/base pins. The JavaScript checkout log confirms synthetic merge 5580c0f813d282079520c3913ba17c563b25af50; 321 files / 3,513 tests passed. Hosted Chromium/WebKit journeys and required checks passed; Windows native validation was skipped. This source-only review ran no code or live visual/accessibility acceptance.
  • Remaining merge gate: GitHub currently reports mergeable=false, mergeable_state=dirty, and no merge commit at the same pins. Resolve that conflict state; any changed head/base needs fresh integration CI. Not every agent surface has a production-broker browser journey. I contributed earlier fixes, so this COMMENT is not independent/code-owner approval; obtain required independent approval before merging.

Signed-off-by: klopez4212 <klopez4212@gmail.com>

# Conflicts:
#	src/app/shell/ProfileButton.tsx
#	src/bundled/profiles/ProfilePanel.tsx
#	tests/browser/message-navigation.spec.mjs
#	tests/browser/presence.spec.mjs
Signed-off-by: klopez4212 <klopez4212@gmail.com>

@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: one P2 native-Linux accessibility defect, detailed inline. Reviewed ab2421cb6246f9d70595fdb4069a79b1d0a8835d against df7b7e7f45739f3e06e12d81623385701acdc51d. The prior merge-conflict gate is resolved; the merge preserves main’s account/status behavior, and the DM polling change retains the authors predicate. The Linux gap was missed in my earlier review, not introduced by this merge.

Merge criteria: expose known presence once at each of the three affected controls through a WebKitGTK-compatible accessible name/description, retain silent unknown state, and update the corresponding accessibility assertions. The intentional solid-fill design does not need changing.

Existing CI run 36107597476, attempt 1, passed for these exact head/base pins: 660 Chromium/WebKit browser cases with zero retries and 3,705 unit tests. This was source-only review on isolated Blox, not a new test run or native accessibility validation. No native-window, live-relay or screen-reader acceptance was exercised; the optional design-viewer suite is outside hosted coverage and its author-reported WebKit toast-focus failure remains unverified here. I contributed earlier fixes, so this is not independent/code-owner approval.

Comment thread src/bundled/channels/ChannelSidebarRow.tsx Outdated
Signed-off-by: klopez4212 <klopez4212@gmail.com>
Signed-off-by: klopez4212 <klopez4212@gmail.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9f5ecfe52b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/features/messages/MessageRow.tsx

@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.

Focused re-review clear: the prior P2 accessibility blocker is resolved at source level; no new blocker in the two-commit fix. Reviewed 9f5ecfe52ba1932240298068672dc5cfdc82bbd8 against base df7b7e7f45739f3e06e12d81623385701acdc51d, focusing on changes since ab2421cb6246f9d70595fdb4069a79b1d0a8835d.

DM rows and clickable message avatars now reference presence text with aria-describedby; activity buttons include it in their accessible name. Unknown remains silent, IDs are per-instance, and nested artwork stays hidden from accessibility. Existing tests were strengthened with computed name/description assertions and an unknown-state negative check; the activity browser case adds an explicit known-presence name assertion. Unchanged test names do not mean unchanged coverage.

The human-byline warning is not a new regression: both the unconditional subscription and named browser case predate the prior reviewed head (7417acc). General byline demand and bounded overflow are documented in this PR; this fix does not change them. No basis here to restore agent-only scope.

Existing CI run 36119030935, attempt 1, passed on synthetic merge 45ed11e of these exact head/base pins: 660 browser cases with zero retries, 7 measurements, and 3,705 Vitest tests. DCO is green. No rerun or PR-code execution was performed for this source-only review.

Limits and remaining gates: no native WebKitGTK/AT-SPI/Orca or live-relay acceptance; Playwright WebKit is not native Linux accessibility evidence. DM/message description assertions remain jsdom coverage. The separate author-reported design-viewer toast-focus failure remains unverified and outside this fix. This COMMENTED review neither dismisses the prior CHANGES_REQUESTED nor supplies independent/code-owner approval: I contributed earlier fixes. Those review gates still need authorized resolution.

morgmart and others added 6 commits September 25, 2026 07:06
Signed-off-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Co-authored-by: Carl <c217fe6b9d958f41c3a5e030dccc7f626775a923089cb6491305eade75ea1f1b@buzz.block.builderlab.xyz>
Co-authored-by: Mordecai <6c809112bf9d6e023eceba705322b380271cde09c3f8b21514a1349ed69207c7@buzz.block.builderlab.xyz>
Signed-off-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Signed-off-by: Codex <codex@openai.com>
Signed-off-by: Arjun Mahanti <arjun@squareup.com>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: Codex <noreply@openai.com>
Signed-off-by: cid <d9f92a72922bf45c17379a47d64dae84b6020397c2d5a52b5317d512068cd9d3@buzz.block.builderlab.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Co-authored-by: cid <d9f92a72922bf45c17379a47d64dae84b6020397c2d5a52b5317d512068cd9d3@buzz.block.builderlab.xyz>
Co-authored-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Signed-off-by: Kalvin Chau <kalvin@block.xyz>
Signed-off-by: peon <9ac6794b000690b7e814eb1805ad32405d0bec7d52838de3a86cf967565dacc0@buzz.block.builderlab.xyz>
Co-authored-by: peon <9ac6794b000690b7e814eb1805ad32405d0bec7d52838de3a86cf967565dacc0@buzz.block.builderlab.xyz>
Co-authored-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
@wesbillman
wesbillman dismissed their stale review September 25, 2026 13:31

Carl, an automated reviewer, commenting via Wes’s GitHub account. Superseded P2 is fixed by 732f9fb/9f5ecfe5 and preserved in 08bdf6f; accessible-description/name tests and affected browser journeys pass. This clears my obsolete blocker, not an approval. Native accessibility acceptance remains unverified.

Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@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.

Focused source re-review clear; not merge-ready. No new production code blocker found in the integration at 08bdf6f8a20e533e865533917309985a6e943be8 since cleared 9f5ecfe52ba1932240298068672dc5cfdc82bbd8. The merge preserves loaded artwork, shared presence ownership, accessible status naming/descriptions, profile/runtime composition and both presence/scrollbar token roles. The deliberate solid-fill and general-byline scope remain unchanged.

Required CI is red: run 36141342087, attempt 1 fails tests/browser/agent-activity.spec.mjs:78 in Chromium and WebKit. This is not evidence that the merge removed the accessible name: the naming expression and presence owners are unchanged. I checked the retained trace metadata: the first agent-inclusive presence snapshot receives HTTP 204; the 5–6-second retry starts 64 ms after the assertion fails in Chromium, while WebKit's successful response finishes roughly 8 ms before its deadline. That explains why the assertion observes unknown presence, whose name correctly omits the suffix. Repair/establish the acquisition boundary before checking known presence, retain the exact accessible-name assertion, and obtain a green fresh run; do not hide this with retries, sleeps or a weakened assertion. The exact broker admission reason was not instrumented here.

Validation was source-only on isolated Blox plus existing hosted artifacts, not a new test run or PR-code execution. The CI synthetic merge b2efff9d00c975017591e8b7e3e6fbff50a7eb26 combines this head with main 01523e2c1781da1cd84620e61188df6c3d365938 and has the same tree as the reviewed head; the PR API still reports base df7b7e7f45739f3e06e12d81623385701acdc51d. Existing JavaScript, Rust, measurement and second browser-shard jobs pass. No native WebKitGTK/AT-SPI/Orca or live-account acceptance; Windows is skipped. The separately reported optional viewer Tab-focus failure is not resolved by this review. I contributed earlier fixes, so this COMMENT supplies neither independent/code-owner approval nor permission to merge with red CI.

@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.

Focused re-review clear at 96f718e7ecf92ad632986a70f26e3dd9939b74f9. No actionable blocker found in the settlement-pacing repair since 08bdf6f8a20e533e865533917309985a6e943be8.

  • Source review and a separate bounded challenge traced in-flight/post-settlement demand, cancellation, reconnect and remount scheduling. The new settlement gate prevents the prior transit-induced early follow-up while retaining ordinary-read isolation and existing refresh/backoff behavior. The browser regression holds the first request before broker admission, preserves the known-presence assertion, and detects hidden 204 retries.
  • Existing CI run 36146497885 is now successful. Attempt 1 hit the WebKit 1/2 job’s 15-minute timeout; Wes’s attempt 2 reran that shard successfully (179/179), carrying forward the other green jobs. The repaired activity case passed in Chromium and WebKit. The tested merge d53436a9 has exactly this head’s tree (ff7434f193d68052c0887f74443a3f08139e91ea); the PR body’s cancelled-CI statement is stale.
  • Remaining boundaries: human review is still required. Newer main bebcd66e is not covered by that run. Native AT-SPI/Orca and the earlier optional viewer acceptance remain unvalidated here; Windows was skipped. This was source-only review plus existing hosted evidence, with no execution or CI rerun by this review. I contributed earlier fixes, so this is not independent/code-owner approval.

@wesbillman
wesbillman merged commit 220fab4 into main Sep 25, 2026
19 of 21 checks passed
@wesbillman
wesbillman deleted the kennylopez-online-badges-pr158 branch September 25, 2026 16:41
zrmarley added a commit that referenced this pull request Sep 25, 2026
…-image

* origin/main: (23 commits)
  fix(agents): recover status polling and scope failure diagnostics (#283)
  Share avatar editing across community profiles and managed agents (#271)
  feat(profiles): archive, unarchive and delete agents from the profile pane (#256)
  ci: run browser journeys on three shards per engine (#280)
  ci: publish scheduled macOS test prereleases (#262)
  feat: add private text feedback plugin (#242)
  🤖 docs: add pre-PR checklist and review guidance to AGENTS.md (#268)
  perf(sidebar): stop rerendering every row's menu on channel switch (#265)
  Explain missing Pi provider models (#263)
  Browse Goose models and enter provider API keys (#230)
  test(agents): check model lookup Cancel by visible text (#259)
  Ask before mentioning people outside the channel (#257)
  Refine direct message opening (#107)
  feat(messages): report messages to community moderators (#255)
  perf(channels): stop rerendering message rows after each channel switch (#269)
  feat(profiles): open targeted agent editor from owner profile (#254)
  Let plugins declare local commands and HTTPS origins (#169)
  feat(profiles): show agent metadata and copyable nip05 (#253)
  Organize app and community settings (#173)
  Add status badge cutouts to avatars (#211)
  ...
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.

6 participants