Repository navigation
Conversation
The launch test now bounds start, readiness and the /readyz request inside the test timeout and fails with the phase and Mailpit's output so far, instead of a bare test timeout. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EMySvvbM4B1zdmhw3pp1wA
|
/ai-review Generated by Claude Code |
Flaky test check: ✅ no flaky testsCommit Each execution is a separate Vitest process; |
There was a problem hiding this comment.
Superseded by a newer AI review
🤖 AI Review
Claude reported one potential test-flakiness issue; Codex reported none. The reduced readiness budget is verified, but whether it causes otherwise successful Mailpit runs to fail remains uncertain. Tests were not run.
Findings
| Severity | Location | Category | Sources | Claim |
|---|---|---|---|---|
| 🟡 MINOR | packages/stack/src/services/Mail.integration.test.ts:107 |
test-flakiness |
claude | The fixed six-second readiness timeout can reject slow Mailpit startups that would previously have completed within the overall 30-second test timeout, potentially increasing flakiness on Podman. |
Stats
Claude findings: 1 · Codex findings: 0 · Confirmed: 0 · Refuted: 0 · Uncertain: 1
Models: claude-opus-5-5 + gpt-6.1-sol · Trigger: auto · Workflow run
This review runs once per PR. A maintainer can request another with a /ai-review comment.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EMySvvbM4B1zdmhw3pp1wA
There was a problem hiding this comment.
🤖 AI Review
Both independent reviews completed. Confirmed Claude’s readiness-timeout concern and UTF-8 diagnostic decoding defect. Codex reported no findings. Neither issue changes production behavior.
Findings
| Severity | Location | Category | Sources | Claim |
|---|---|---|---|---|
| 🟡 MINOR | packages/stack/src/services/Mail.integration.test.ts:107 |
test-flakiness |
claude | The six-second readiness timeout can fail a healthy but slower container even when most of the test’s 30-second budget remains. |
| 🟡 MINOR | packages/stack/src/services/Mail.integration.test.ts:98 |
correctness |
claude | Decoding every log chunk with a fresh TextDecoder corrupts UTF-8 characters split across chunks in the timeout diagnostics. |
Stats
Claude findings: 2 · Codex findings: 0 · Confirmed: 2 · Refuted: 0 · Uncertain: 0
Models: claude-opus-5-5 + gpt-6.1-sol · Trigger: manual · Workflow run
This review runs once per PR. A maintainer can request another with a /ai-review comment.
TL;DR
The Mailpit launch test hung on Podman without saying where. It now fails within its timeout, naming the phase that stalled and Mailpit's output.
Mail.integration.test.ts › launches the real Mailpit recipe and serves its HTTP endpoint: on Podman, the test hit the 30s test timeout with no diagnostic. The error frame pointed atsendTestEmail, but this test never sends mail, so that frame is misleading. The test waits on start, readiness and a/readyzrequest. Container readiness may wait up to 60s, longer than the test timeout, and the/readyzrequest has no bound. So a stall in any of the three looked the same. The test now gives each phase its own bound inside the 30s budget (start 20s, readiness 6s,/readyz3s). It also collects the recipe's log stream, so a stall fails withMailStallErrornaming the phase and showing Mailpit's output so far.ref
spotted in:
Generated by Claude Code