Skip to content

Fix Godot docs with @ in filenames returning 404 - #2742

Open
dajiaohuang wants to merge 1 commit into
freeCodeCamp:mainfrom
dajiaohuang:fix/godot-at-sign-paths
Open

dajiaohuang wants to merge 1 commit into
freeCodeCamp:mainfrom
dajiaohuang:fix/godot-at-sign-paths

Conversation

@dajiaohuang

Copy link
Copy Markdown
Contributor

This PR enables the decode_and_clean_paths option for the Godot scraper, which fixes issue #2322 (files with '@' in the name showing 'not found').

What was the problem?

  • Paths containing '@' (like class_@gdscript) are percent-encoded as %40 in URLs.
  • The frontend router automatically decodes percent-encoded sequences using decodeURIComponent, converting %40 back to @.
  • The Godot scraper was not enabling decode_and_clean_paths, so paths were stored with %40 still encoded, causing a mismatch when the frontend tried to look up entries with the decoded '@' character.

How does this fix it?

  • This is the exact same fix already used by the Ember scraper (see lib/docs/scrapers/ember.rb line 49), which also has paths with '@' in them (like @ember/application).
  • Enabling decode_and_clean_paths unescapes percent-encoded characters during scraping, so stored paths match the decoded paths the frontend router produces. It also runs path cleaning (replacing ! ; : with -, + with plus), which is consistent with other scrapers handling special characters.

Fixes #2322

Enables decode_and_clean_paths for the Godot scraper, which unescapes
percent-encoded characters (like %40 for @) in paths. This matches the
frontend router's decodeURIComponent behavior, ensuring entries are found
correctly. This is the same fix used for Ember docs which also have @ in
paths.

Fixes freeCodeCamp#2322
@dajiaohuang
dajiaohuang requested a review from a team as a code owner September 25, 2026 14:42
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.

Files with names containing the "@" (at sign) show "not found"

1 participant