Skip to content

fix(desktop): show an agent in @ search after you add it to a channel - #7192

Draft
loganj wants to merge 2 commits into
fix/mention-picker-stack-844abd33-2from
fix/mention-picker-stack-844abd33-3
Draft

fix(desktop): show an agent in @ search after you add it to a channel#7192
loganj wants to merge 2 commits into
fix/mention-picker-stack-844abd33-2from
fix/mention-picker-stack-844abd33-3

Conversation

@loganj

@loganj loganj commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

🤖

Summary

Draft 3 of 8, based on #7191.

Refresh agent discovery after channel creation/Add members, and welcome composer rosters after starter provisioning. Mechanical restack only: behavior and immediate-parent source diff are unchanged. Later #7197 deliberately freezes an already-open list; these refreshes feed the next open.

Stack and exact revision

#7190#7191#7192#7196#7323#7197#7239#7240

Head a304f090409e12b4028208ea7738d5224ac13380; immediate base b411da58017d7d06304073e46dc1b6dc4cd7e3fd. Fixed root 802ba6170e57ac71d1ecfd6cf6fb12f02ecf910c — no main chase. Existing PR identities preserved; new editor predecessor is #7323. Related #7124/#7128.

Measured review size

Production +88/−22; tests +487/−10; docs +0/−0. Total +575/−32, net +543, churn 607 against the immediate parent.

Validation

Amended PR1 prefix: 14 focused browser passes. Corrected editor prefix 6b78dec1: 11/11 focused native chat/forum/caret + DM-loading browser passes, with fresh TypeScript/E2E build and strict-port cwd/HTTP asset proof. The existing later-slice one-time DM fixture was moved to the editor prefix; it checks no premature signing, empty post-send draft and exact final recipient, not persistent @alice . The unchanged editor production/plugin tree retains 50/50 plugin passes.

Chooser prefix: 62/62 hook tests. Integrated final tree: 6077/6077 package tests + 156/156 browser tests, zero skips/flakes, TypeScript/E2E build, production build, desktop check and size gate passed. PR5/6/7 whole-tree hashes exactly equal their previously validated 6372d0e1/5e10b5db/36fdadbb trees after replay; this is evidence reuse by exact content equality, not a claim that old CI ran on new commit IDs.

Exact-head CI run: success, attempt 1 (final observation 2026-09-04T12:15:39.457156+00:00). DCO Check: success. Conflict check: MERGEABLE. Submitted reviews: 0; review threads: 0. Draft status retained; this is not review approval.

All-eight immediate-parent review churn remains 5529 (old seven: 5544). Against the old integrated tip, tests only +19/−34, net −15; production/docs byte-identical. These are distinct baselines. No independent review approval, merge, native WebKit or live-relay acceptance claimed. Full unrelated local just ci not run.

Known inherited failures and external gate

All eight PRs now have successful current CI runs on unchanged heads (historical cancelled runs are not current failures). #7240's attempt3 passed: smoke shard3 job101031131396 and dependent Desktop job101036797640 both succeeded. Only the failed shard and dependent aggregate were rerun; prior successful jobs were carried forward. Two of the owner's three authorized reruns used (attempt1 was the original run); stopped on success, with no attempt4. The pass condition for deferring the hover-fixture repair is met: repair DEFERRED, not fixed or flake-free. The fixture samples channel color before its 100 ms transition settles (attempt1 observed alpha .030/.016/.027), then compares the settled profile (.040) to that frozen intermediate value. The fixture, sidebar components and common 4% hover token are byte-identical to fixed root 802ba617. Exact artifact9935770782 contains three failures and retry1 trace. Deferred repair owner: @block/buzz-oss-team. Follow-up action: await channel-hover settlement before sampling and retain the actual final-color equality assertion, then validate the correction. The owner permitted deferral after a passing rerun; this known race is not repaired. This is source/trace attribution, not a claimed third baseline runtime reproduction; no product styling change or assertion waiver was made here.

Earlier independent failures also remain material evidence: #7190 attempt1 empty-edit cancellation accepted a stale channel choice inside the inherited 120 ms deletion debounce; superseded #7240 DM retry was intercepted by a hover-paused error toast. At fixed root 802ba617, the two ordinary scenarios passed once; separate controlled probes with the observed preconditions reproduced both failures. Baseline TypeScript failed on its existing unused import; only the unchanged-root Vite E2E diagnostic build was used. Owner @block/buzz-oss-team should separately invalidate/revalidate channel queries synchronously on deletion and make the DM retry fixture move away and await toast dismissal, retaining failure/draft assertions. None of these separate repairs was folded into the mention split.

Known recovered CI flakes include original #7190 mention-recipients.spec.ts:279 and #7240 attempt1 messaging.spec.ts:2437 (root-thread-link witness passed on retry2). #7240 attempt2 shard3 reports 323 passed, 1 failed, 5 flaky, 1 skipped: messaging.spec.ts:2437, :4306, :4487, navigation.spec.ts:153, and onboarding-agent-defaults.spec.ts:908 each recovered on retry1. The latter four are newly observed recovered failures here, not diagnosed or waived; detailed assertions are preserved in OUTBOX/MENTION_RERUN_D02EE206/FAILURE_EXCERPT.log. navigation.spec.ts:131 was skipped. Attempt2 hover samples were .035/.016/.016 versus the settled .040 on all three executions (artifact9937283288); this was the same terminal blocker in attempt2, not a new terminal failure. Attempt3 shard3 reports 327 passed, 0 failed, 2 flaky, 1 skipped: the hover test (message-feedback-snapshots.spec.ts:97, assertion108) initially sampled .016 versus settled .040, and messaging.spec.ts:4306 initially duplicated the reply prefix; both recovered on built-in retry1. navigation.spec.ts:131 remained skipped. Exact logs and artifact9938303997 preserve these recovered failures. Green CI does not erase either attempt2's five flakes or the older channel-query/toast diagnosis. The zero skips/flakes claim above applies only to the 156 focused local browser tests, not the full CI smoke suite. Full source/trace/probe diagnosis: OUTBOX/MENTION_CONTINUE_B78AD8BA/FAILURE_DIAGNOSIS.md and OUTBOX/MENTION_DELIVERY_63C2264C/NEW_FAILURE_DIAGNOSIS.md in the originating workspace. The previously failed external CI gate is now green. Ordinary maintainer review/acceptance remains outstanding; no merge is authorized by this report.

Historical capture state (not these heads)

The following original captions/links are retained as historical capture evidence only; none is relabeled as this restack.

Before: Add members cannot find the agent

At the parent revision, 21349006, the app already has an old agent list. Creating a channel does not refresh that list. Add members finds no matching agent. This image does not show a successful Add.

before-fresh-add-blocked

After: Add succeeds and the first @ search finds the agent

At the earlier revision shown here, c0da14c8, the same search finds Fresh Scout. Add succeeds. The first @Fresh search shows Fresh Scout as a channel member. This PR does not include the later Member and Invite labels.

after-fresh-add

Draft for ordinary review. Origin: Buzz channel 8dcd7afb-0193-4a3e-8ae9-72838de89a1d.

@loganj

loganj commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator Author

🤖

Before: preceding prefix cannot find the agent in Add members

Actual 21349006 build, warm-stale directory. Search is blocked; no successful Add is claimed.

before-fresh-add-blocked

After: Add succeeds and the first @ picker includes the agent

Actual c0da14c8 build, same fixture. Fresh Scout is present after Add, without a manual directory refresh.

after-fresh-add

loganj added a commit that referenced this pull request Sep 1, 2026
@loganj loganj changed the title fix(desktop): reconcile discovery after accepted membership writes fix(desktop): show an agent in @ search after you add it to a channel Sep 2, 2026
@loganj
loganj force-pushed the fix/mention-picker-stack-844abd33-2 branch from 2134900 to bef4896 Compare September 2, 2026 02:15
@loganj
loganj force-pushed the fix/mention-picker-stack-844abd33-3 branch from c0da14c to 01d4c85 Compare September 2, 2026 02:15
@loganj
loganj force-pushed the fix/mention-picker-stack-844abd33-2 branch from bef4896 to 9164074 Compare September 2, 2026 16:06
@loganj
loganj force-pushed the fix/mention-picker-stack-844abd33-3 branch from 01d4c85 to 8d9aded Compare September 2, 2026 16:06
loganj and others added 2 commits September 4, 2026 07:13
Package existing reviewed repairs in the authorized seven-slice dependency stack. Preserved model A; experiment excluded.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Signed-off-by: Logan Johnson <loganj@squareup.com>
Invalidate the composer member cache at both direct welcome-team creation paths. Bind the onboarding collision regression to both exact cached member keys before preserving the ambiguity, no-send, draft and selected-recipient checks.

Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz>
Signed-off-by: Logan Johnson <loganj@squareup.com>
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