Make e2e failures loud; fix tooltip re-show race - #2028
Merged
Merged
Conversation
- Remove detectBuildSystem/isAstroBuild (Jekyll-era). It defaulted to "jekyll" when markers were missing, so 36 call sites could skip or take dead Jekyll branches silently; one tooltip test never ran at all. - Assert 200 instead of skipping on 404 in seo-astro and accessibility-astro - Replace all waitForTimeout calls with web-first waits - endpoints: cover /humans.txt, /posts-meta.json, and a real 404 status - tooltip.ts: the fade-in rAF re-added .show to a tooltip hidden in the same frame (hover+click), flashing an untracked tooltip for up to 300ms. Guard it; tooltip tests now dispatch a bare click like the existing toggle test. - stripMdxSyntax: close fences per CommonMark (same char, >= length, no info string) and only treat real ESM as imports; output unchanged on all posts Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test reliability fixes from a general audit.
Silent skips
detectBuildSystem/isAstroBuilddate from the Jekyll era and defaulted to'jekyll'whenever their markers were missing. Removed them from 36 call sites across 8 specs. Each site kept its Astro branch and dropped the dead Jekyll branch.seo-astroandaccessibility-astroskipped when a route returned 404. They now assert a 200 status.waitForTimeoutcalls became web-first waits. For tooltips, the tests now wait fordata-tooltip-initialized;navigation-stylingnow polls withexpect.poll.endpoints.spec.ts. Added/humans.txtand/posts-meta.json, and asserts that an unknown path returns 404.Real bug surfaced: tooltip re-show race
"Tooltip works after View Transitions navigation" had never run: it checked build detection on
about:blank, got "jekyll", and skipped. Running it for real surfaced a bug insrc/scripts/tooltip.ts:showTooltipadds.showin arequestAnimationFrame..showto a tooltip that's already untracked and on its way out.The frame callback now checks that the tooltip is still active.
Three click tests were passing only because of that bug. Playwright's
.click()also hovers, which on desktop shows the tooltip, so the click toggled it back off. The tests now dispatch a bare click, as the file's existing toggle test already does.stripMdxSyntaxhardeningNeither issue hits a current post, but both are latent traps:
I compared old vs. new output on all 197 posts: 0 differences.
Verification
/resume.pdfreturning 404, which is expected withSKIP_PDF; CI builds the PDF.npm run checkare clean.🤖 Generated with Claude Code