Conversation
Untranslated names and blurbs rendered as an empty string. They now fall back to the English. A miss is reported only when exercism/i18n expects a translation, so inactive tracks and wip or deprecated exercises no longer file an issue for every page view. Docs sync only ever created and updated main docs, so a page removed from exercism/docs stayed on the site. After syncing a section, docs no longer in its config are destroyed, and a destroyed doc is removed from search. 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.
This deals with the 635 "Missing metadata" issues, #10670 among them.
Metadata
HasTranslatedMetadata#translated_metadatareturned""when a name or blurb had no translation, so the page showed a blank. It now falls back to the English.A miss is only reported when a translation is expected, which matches what exercism/i18n requires. The new
translation_expected?is false for:wipordeprecated, including problem-specifications exercisesA deprecated exercise that does have a translation still uses it.
Of the 635 open issues, 388 are on inactive tracks and 83 are
wipexercises. The other 164 are exercises that no longer exist in their repo: JavaScript'slegacy-*exercises (all 94 of those rows aredeprecated) and two Python exercises (restored as deprecated in exercism/python#4297). The last is one docs page, covered below. So once this deploys, none of the 635 should report again.Deleted docs
Git::SyncMainDocsonly ever created and updated main docs, so a page removed from exercism/docs stayed on the site.building/tooling/analyzers/feedback-guidelineswas removed in 2023 and was still there. After syncing a section, the sync now destroys that section's main docs whose UUID is no longer in itsconfig.json. An empty config is treated as a failed read and removes nothing. A destroyed doc is also removed from the OpenSearch index, through the newDocument::RemoveFromSearchIndex.The feedback-guidelines row has already been deleted by hand on production. Its search entry will still be there until the index is next rebuilt.
Tests
test/models/concerns/has_translated_metadata_test.rbcovers wip, deprecated and inactive-track metadata.translated_metadata_test.rbnow expects the English fallback.sync_main_docs_test.rbcovers removing a deleted doc, and the empty-config guard.remove_from_search_index_test.rbcovers the search removal.🤖 Generated with Claude Code