Skip to content

test(whats-app-panel): settle held group save inside act - #27151

Merged
javenciu merged 1 commit into
mainfrom
test/act-warnings-whats-app-panel
Nov 1, 2026
Merged

javenciu merged 1 commit into
mainfrom
test/act-warnings-whats-app-panel

Conversation

@javenciu

@javenciu javenciu commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Problem / Motivation

Goal: website/src/test/WhatsAppPanel.test.tsx stops emitting React act() warnings, so its row leaves website/integration/act-warning-baseline.json and the guard in website/integration/setup.ts checks it like any file outside the list.

Before this change, a run of the file emitted 1 act() warning (late state updates in WhatsAppPanel): a state update landed after the test's last barrier. Because the file is on the baseline, the guard kept those warnings out of the log.

Why it matters

website/docs/testing.md (Rules every test keeps) treats an act() warning as a finding: the update lands after the assertions, so whether the test sees it depends on timing. The baseline is shrink-only, and each file that leaves it is held to the rule from then on.

Not a goal

  • Other files on the baseline (each is its own change).
  • Any change to the components under test.
  • Filtering or silencing the warning; the test waits for the update instead.

What changed (motivation → approach → change)

The tests now wait for the state the late update produces before they finish, so the update lands inside the test's barrier.

  • website/src/test/WhatsAppPanel.test.tsx: await act(async () => {
  • website/integration/act-warning-baseline.json: removed src/test/WhatsAppPanel.test.tsx.

Backwards compatibility

Compatible: test-only change.
Removes nothing: a baseline row is a tolerance the guard stops needing, not a capability.

Tests

  • Before (the row removed, the file unchanged): KIROCREW_ACT_STRICT=1 npx vitest run src/test/WhatsAppPanel.test.tsx from website/: 1 of 42 tests fail on act() warnings.
  • After: the same command passes 5 runs out of 5 with 0 act() warnings; 42 tests, the same count as before.
  • integration/setup.refactor.determinism.test.ts passes (the baseline stays sorted, unique and existing); npx eslint is clean on the file.

Manual verification

N/A: test-only change; the strict runs above are the check.

Screenshots / video

Why no screenshot: nothing renders; this change touches one test file and a test baseline only.

No issue exists; burn-down of the act() warning baseline that #17673 introduced.

Make website/src/test/WhatsAppPanel.test.tsx stop emitting React act() warnings, and drop its row from
website/integration/act-warning-baseline.json so the guard in website/integration/setup.ts checks it.
@javenciu
javenciu requested review from a team and KiroCrewCaptain as code owners November 1, 2026 15:58
@javenciu
javenciu requested a review from cruisercohen November 1, 2026 15:58
@github-actions github-actions Bot added the readiness: checking Automated validation is still running label Nov 1, 2026
@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

First Principles Review (Opus 5.5) — ⏭️ skipped

Revision a25858e5d3d46cde9ab66089cadba72c6db4b97b ships no reviewable capability (docs, tests or generated files only), so there is nothing to inventory. Does not block merge.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Design Review (Opus 5.5) — ✅ PASS

Design-level review of a25858e5d3d46cde9ab66089cadba72c6db4b97b — updated in place on each push. A BLOCK verdict blocks PR readiness; PASS does not.

Design-Verdict: PASS

Nothing to check. This is a test-only act() settle plus a shrink of the shrink-only baseline, and it renders nothing.

[DESIGN-REVIEWED] a25858e

Description read

[DESCRIPTION-READ] 0de63b2c744bbe62cb5c946dc528333d438082c7da22e859815d0cf89ab38996

That sha256 names everything this verdict read: the PR description, plus the 1 evidence file(s) the workflow collected from it and handed this review. It covers that evidence because the media strip replaces every attachment URL with the same placeholder, so an edit swapping one attachment for another would leave the description's captured text identical while what this review judged changed. Recompute it with .github/scripts/pr-description-capture.sh over the same inputs; if it differs, the description or that evidence changed after this verdict was formed and any finding drawn from either is unproven.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

UX Review (Opus 5.5) — ✅ PASS

UX-level review of a25858e5d3d46cde9ab66089cadba72c6db4b97b — updated in place on each push. A BLOCK verdict blocks PR readiness; PASS does not.

UX-Verdict: PASS

Nothing to check. Only a test file and the test baseline changed, so no user-visible control was added or changed and no screenshot is needed.

[UX-REVIEWED] a25858e

Description read

[DESCRIPTION-READ] 805996bd30d66888b8e4e7627096fa3b9376ba3e084ab10226587b434a75d4d5

That sha256 names everything this verdict read: the PR description, plus the 3 evidence file(s) the workflow collected from it and handed this review. It covers that evidence because the media strip replaces every attachment URL with the same placeholder, so an edit swapping one attachment for another would leave the description's captured text identical while what this review judged changed. Recompute it with .github/scripts/pr-description-capture.sh over the same inputs; if it differs, the description or that evidence changed after this verdict was formed and any finding drawn from either is unproven.

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Opus 5.5 Review — ✅ no blocking findings

Reviewed a25858e5d3d46cde9ab66089cadba72c6db4b97b — this comment is updated in place on each push.

Review details

No findings.

[OPUS-REVIEWED] a25858e

Verdict parsed from the review's SHA-scoped output markers for commit a25858e5d3d46cde9ab66089cadba72c6db4b97b.

False positive or not applicable? A repository writer can comment:
/ai-review override fable a25858e5d3d46cde9ab66089cadba72c6db4b97b false-positive: <reason, 20 to 500 characters>

@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

GPT 6.1 Review — ✅ no blocking findings

GPT 6.1 completed its review of a25858e5d3d46cde9ab66089cadba72c6db4b97b and found no blocking issues.

This comment is updated in place on each push.

Review details

No findings.
[GPT-REVIEWED] a25858e

False positive or not applicable? A repository writer can comment:
/ai-review override gpt a25858e5d3d46cde9ab66089cadba72c6db4b97b false-positive: <reason, 20 to 500 characters>

@github-actions github-actions Bot added readiness: passed Eligible automated validation passed for the current revision and removed readiness: checking Automated validation is still running labels Nov 1, 2026
@javenciu
javenciu enabled auto-merge (squash) November 1, 2026 16:48

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

Tier 1 auto-approve: test (2 files). Criteria: no conflict, no requested changes, security path denylist clean, design-doc gate clean, security checklist all-NO, no reviewer-lane findings, readiness signal fresh for this head SHA, declared category matches the diff. Category: test-only change: settles the held group save inside act in one panel test and drops it from the act-warning baseline.

@javenciu
javenciu merged commit ccf2561 into main Nov 1, 2026
95 checks passed
@javenciu
javenciu deleted the test/act-warnings-whats-app-panel branch November 1, 2026 17:20
@github-actions github-actions Bot removed the readiness: passed Eligible automated validation passed for the current revision label Nov 1, 2026
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.

2 participants

⌂ 换网址