Skip to content

fix: restore landing artwork credit links - #93

Merged
vycdev merged 2 commits into
developfrom
claude/gracious-maxwell-co6wqh
Oct 19, 2026
Merged

vycdev merged 2 commits into
developfrom
claude/gracious-maxwell-co6wqh

Conversation

@vycdev

@vycdev vycdev commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes the two landing-page browser test failures found while validating the v4.2.0 release (#91). Both were already present in v4.1.0.

Artwork credits render as empty links (user-facing). The localized showcase credit used Original artwork: <source>{{title}}</source>. source is a void HTML element, so react-i18next parsed it as self-closing: the <a> rendered empty and the title appeared as plain text beside it. This broke credits such as NASA/JPL on the live site in every language. v4.0.0 linked them correctly.

  • Renamed the Trans tag to <credit> in all 12 public.json files and in LandingPage.tsx.
  • Added an i18n unit check that rejects paired void-element tags (<source>, <link>, <img>, …) in any translation resource. It fails on the previous resources and passes now.
  • Added a changelog entry under v4.2.0 Fixed.

Stale landing tests.

  • sticky-mobile-cta.spec.ts: the footer language selector added in 4.1.0 now sits between the Terms link and the sticky action, so the test tabs through it and asserts its focus. Keyboard access to the sticky action was already working.
  • landing.spec.ts: 4.1.0 shortened the Naruto credit label to Naruto so it reads naturally in every language. The test still expected the old English label, which the empty-link bug had hidden until now.

Validation

  • 861 Node regression tests: 860 passed, 1 skipped (it requires Windows and NSIS). This includes the new i18n check.
  • landing.spec.ts and sticky-mobile-cta.spec.ts: 18 of 18 passed.
  • npm run test:e2e:i18n:build: all 4 passed.
  • npm run check:i18n, npm run test:i18n (11 passed) and lint pass.
  • A direct render of the English credit now produces Original artwork: <a href="…">NASA/JPL — Titan</a>.

Browser tests used the container's preinstalled Chromium. Prettier reports were already present on 8 of the edited public.json files before this change. This PR changes only the tag name there and leaves their formatting alone.


Generated by Claude Code

The localized showcase credit wrapped its link in a <source> Trans tag.
react-i18next parses void element names as self-closing, so the anchor
rendered empty with the artwork title as plain text beside it. Rename the
tag to <credit> in all 12 languages and add an i18n check that rejects
paired void-element tags in translation resources.

Update the sticky mobile CTA keyboard test for the footer language
selector, which now sits between the Terms link and the sticky action.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qf5SDDTLr39hMsXWkdPkFL
The 4.1.0 localization shortened the Naruto credit label to "Naruto" so
it reads naturally inside each language's "Original artwork" sentence.
The showcase test still expected the earlier English label; it was masked
until now because the credit links rendered empty.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qf5SDDTLr39hMsXWkdPkFL
@vycdev vycdev mentioned this pull request Oct 18, 2026
@vycdev
vycdev merged commit f875e11 into develop Oct 19, 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