Skip to content

docs: drop the Timeless skin from the docs site - #348

Merged
lens0021 merged 4 commits into
mainfrom
claude/drop-timeless
Aug 15, 2026
Merged

lens0021 merged 4 commits into
mainfrom
claude/drop-timeless

Conversation

@lens0021

Copy link
Copy Markdown
Collaborator

Timeless has little future, so the docs site stops carrying it. What is left is two skins: Vector from default.yml (the main skin, at the export root) and Citizen from docs/.wikven.yml (under citizen/). The main skin is unchanged — WikvenSettings.php takes it from the head of the merged list, which is still Vector.

What changed

File Why
docs/.wikven.yml The enablement itself.
.github/workflows/smoke.yml The language-bar total is counted once per skin rendered, so the multiplier follows the skin count: * 3 → * 2, comment reworded.
tests/e2e/skin-switcher.spec.js The three surviving tests drive Citizen instead of Timeless. The fourth, "switching between two non-main skins", is deleted — see below.
includes/Hooks/Adder.php Dropped the getSkinName() === 'timeless' inline style that hid #user-tools/#page-tools on a cli export.
docs/Skins.wikitext Removed the Timeless bullet from the bundled-skins list (unit T:4), and the skins: example now says MonoBook.
docs/Configuration.wikitext The .wikven.yaml example's skins: entry now says MonoBook.
docs/Skins/ko.wikitext Same bullet removed; T:4 and T:6 restamped.
docs/Configuration/ko.wikitext T:3 restamped.

Translation stamps

Both YAML examples sit inside a <syntaxhighlight> block that falls between two <!--T:n--> markers, so StalenessComputer::splitUnits counts it as part of the preceding unit's body — editing the example changes that unit's hash even though no prose moved. That is why Skins T:6 and Configuration T:3 restamped alongside the real prose change in Skins T:4.

Restamping is StalenessComputer::restamp, exactly what maintenance/stampTranslations.php calls, with the same $pageTitle (Skins / Configuration) that TranslationSource::translatableTitle derives. Both pages were fully ok before this change, so nothing pre-existing was marked fresh, and both are fully ok after.

Two calls worth a second look

The deleted e2e test. "Switching between two non-main skins on a Korean page" covered a skin-directory to skin-directory hop at equal depth. With one non-main skin left, that path is unreachable from the docs site, so the test goes rather than being faked. The main↔non-main hops in both directions, and both page depths, are still covered.

The Adder.php fixup. It is generic wikven code, not docs-site code: a downstream site that enables Timeless itself loses the fix. It was only ever exercised by this repo's own bake, though, so keeping it would mean carrying an untested Timeless-shaped branch — which is the thing being dropped. Easy to restore if you would rather keep it.

Also left alone deliberately: the docs/.wikven.yml comment ending "The other skins keep working SifterSearch search" now describes exactly one other skin, but it is Citizen-adjacent prose and reads fine either way.

Verified

  • uv run --frozen --group lint yamllint --strict ., biome ci (clean; the one warning is the pre-existing !important in docs/MediaWiki:Citizen.css), typos, rumdl check ., composer test (minus-x), php -l on Adder.php — all pass.
  • Translation staleness checked before and after with StalenessComputer directly, per above.
  • The smoke workflow's expected loop replayed against docs/: 108 language-bar entries per skin, so 216 total where it was 324.

Not verified

The bake did not run here. docker build fails resolving the mediawiki:1.46-fpm-alpine base — the registry CDN returns 403 in this environment — so no dist tree was produced and the browser tests were never run against one. The smoke workflow's own bake is the first real check of both the 216 figure and the rewritten switcher tests. mago format --check / mago lint and composer phpcs also could not run (mago is not installed; the local phpcs install is missing its PHPCSExtra sniffs).


Generated by Claude Code

Timeless has little future, so it is not worth carrying or styling. The docs
site now renders two skins: Vector from default.yml and Citizen from
docs/.wikven.yml.

The smoke test's language-bar total is per skin rendered, so its multiplier
drops with the skin. The e2e switcher tests move to Citizen; the
non-main-to-non-main case goes with Timeless, since one non-main skin is left.
Adder.php's Timeless-only export fixup and the Timeless examples and listings in
the docs go too, with the affected Korean units restamped (only the source unit
spans changed; the translated prose was updated in step with the English).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp
@codecov

codecov Bot commented Aug 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Not listing Timeless on the docs site says nothing about sites that
enable it themselves, and includes/ ships to them. Removing the inline
rule would have left their exports with the dead personal-tools dropdown
and page-actions sidebar it exists to hide.

Unsupported means untested, not deliberately broken.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp
@lens0021 lens0021 changed the title feat: drop the Timeless skin from the docs site docs: drop the Timeless skin from the docs site Aug 15, 2026
@lens0021

Copy link
Copy Markdown
Collaborator Author

Two changes after review.

The includes/Hooks/Adder.php deletion is reverted. Not listing Timeless on the docs site says nothing about sites that enable it themselves, and includes/ ships to them — removing the inline rule would have left their exports showing the dead personal-tools dropdown and page-actions sidebar it exists to hide. Unsupported means untested, not deliberately broken, which is the same reading #346 keeps its Timeless CSS rule on.

It also made the stack incoherent: this PR deleted those seven lines and #352 restored them, three PRs later.

Retitled feat: → docs:. With includes/ out of the diff, this touches only docs/, .github/ and tests/ — nothing that reaches the distribution.

Knock-on for #352

#352 currently restores the same seven lines. That hunk is now redundant and will conflict; it should be dropped from that branch. The rest of #352 — declaring Vector, Minerva and Citizen supported — is unaffected.


Generated by Claude Code

lens0021 and others added 2 commits August 16, 2026 00:13
Editing the English source is not a licence to rewrite its translations.
The Korean units this staled will show as needing an update, which is the
translation system reporting rather than breaking.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp
MonoBook stood in for Timeless when the examples lost it, but the docs
site does not build it, so the example named a skin nothing here
exercises. Minerva is one of the three the site renders.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp
@github-actions
github-actions Bot temporarily deployed to preview August 15, 2026 15:19 Destroyed
@lens0021
lens0021 marked this pull request as ready for review August 15, 2026 15:22
@lens0021
lens0021 merged commit 61bb951 into main Aug 15, 2026
21 checks passed
@lens0021
lens0021 deleted the claude/drop-timeless branch August 15, 2026 15:23
lens0021 pushed a commit that referenced this pull request Aug 15, 2026
The docs site bakes all three, so the promise is what CI already exercises.
Every other skin stays usable and untested; nothing refuses one.

Restores the Timeless fixup #348 deleted. Unsupported means untested, not
deliberately broken, which is the same reading #346 keeps its Timeless rule on.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qiZSGWHrxkjvFxA8swynp

This branch was successfully deployed

No deployments
preview — e1b01011 Deployed Aug 15, 2026 by github-actions[bot]
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