Skip to content

Two attachment test files no longer hang on a browser deadline - #2188

Merged
wintermeyer merged 1 commit into
mainfrom
claude/attachment-test-fixtures-2186
Sep 11, 2026
Merged

wintermeyer merged 1 commit into
mainfrom
claude/attachment-test-fixtures-2186

Conversation

@wintermeyer

Copy link
Copy Markdown
Owner

These two files turned CI red on branches that never touched attachments, three times on #2176 alone. The last one: right: [], row still at stage: "rendering", render_attempts: 1.

Both rendered a preview page for a text file, which headless Chromium draws under a 30-second deadline. CI installs poppler only, but the runner image ships Chrome anyway, so a loaded runner misses the deadline and Pages.render/1 takes a silent strike. Previews cannot just be switched off here, because both files assert a rendered page exists, so the fixtures are PDFs now and pdftoppm draws them.

message_attachment_web_test.exs:118 was worse than flaky. This proxy answers a refusal and an unfinished file with the same 404, so with no page to refuse it passed while proving nothing. settle!/1 now insists the file settled, and the refusal is named rather than inferred. Six more assertions had that shape.

Closes #2186. Unblocks #2176.

https://claude.ai/code/session_013VnEsuePUe2CB2QvDcshcp

Beide Module ließen für eine Textdatei wirklich eine Vorschauseite rendern, und
die zeichnet das headless Chromium unter einer 30-Sekunden-Frist; CI installiert
nur poppler, das Runner-Image bringt Chrome trotzdem mit, also verpasst ein
ausgelasteter Runner die Frist, Pages.render/1 wertet das als Strike und lässt
die Zeile absichtlich auf "rendering" stehen. Abschalten war hier anders als bei
der Schwesterdatei nicht möglich, weil beide prüfen, dass eine Seite entstanden
ist, deshalb rendern jetzt PDF-Fixtures über pdftoppm, das keine Frist kennt.
Schwerer wog, dass "a refused file is not handed to the recipient" aus dem
falschen Grund grün war: der Proxy antwortet auf eine Zurückweisung und auf eine
nie fertige Datei mit demselben 404, und ohne Seite wies die Schleife gar nichts
zurück, weshalb settle!/1 jetzt auf dem fertigen Stand besteht und die
Zurückweisung benannt statt aus dem 404 erschlossen wird. Das JPEG in "its
preview is the picture itself" bleibt ein JPEG, weil es die einzige Stelle im
Baum ist, die den Bildzweig noch berührt.

Diesen Text hat ein KI-Agent in meinem Namen geschrieben. Ich weiß, dass das problematisch ist.

Claude-Session: https://claude.ai/code/session_013VnEsuePUe2CB2QvDcshcp
@wintermeyer
wintermeyer merged commit 2455448 into main Sep 11, 2026
1 check passed
@wintermeyer
wintermeyer deleted the claude/attachment-test-fixtures-2186 branch September 11, 2026 12:04
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.

Two attachment tests depend on a browser deadline, and one passes for the wrong reason

1 participant