Mistyped Settings and Docs URLs Get a Proper Not-Found Page
Addresses like /settings/test and /docs/getting-starteds now show the site's not-found page with a real 404 status, instead of a project access message or a blank “Not Found”.
#What's Changed
- [Fix] A mistyped settings URL such as /settings/test was read as a project owned by a user named “settings” and showed “You can't open this project”. The same happened under other built-in sections, such as /onboarding/anything. No account can take a reserved name, so these addresses can never be projects; they now show the site's not-found page.
- [Fix] A mistyped docs URL such as /docs/getting-starteds showed only the words “Not Found” on a blank page. The route that serves each page's Markdown copy at /docs/<page>.md was catching every unknown docs address too; it now answers only .md addresses, and everything else gets the site's not-found page. Markdown links keep working at the same URLs.
- [Fix] The interactive shell launcher no longer appears on not-found pages such as /docs/getting-starteds. It was offered on every address starting with /docs or /dashboard, whether or not a page existed there; it now belongs to the documentation pages themselves, and appears only on them.
- [Improvement] These not-found pages return a real 404 status and arrive fully rendered from the server, so they no longer appear blank for a moment and then catch up on the theme and your sign-in state.
- [Improvement] A test now fails if a page is added under a built-in section without updating the list the site uses to tell real pages from mistyped ones, so a new page can never be answered with a 404.