fix: restore dual-origin base href while keeping it parameterized#185
Merged
Conversation
PR #173 replaced runtime hostname-based base href detection with a build-time hardcoded BASE_HREF, which forced the single deployed artifact to always use /moaw/. This broke serving from the moaw.dev custom domain (served at root /), where assets and routes resolved to a non-existent /moaw/ path. Restore the runtime .github.io detection so the same build works from both moaw.dev (/) and *.github.io/moaw/ (/moaw/), while still parameterizing the sub-path value via BASE_HREF (defaulting to /moaw/) so the platform can be hosted in other repositories. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…substring sanitization' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
cmaneu
approved these changes
Jun 10, 2026
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.
Problem
The main deployment broke after #173 was merged, and that PR had to be reverted (#180). This restores the intent of #173 without breaking production.
The same single static build is served from two origins:
moaw.dev→ root path/*.github.io/moaw/→ sub-path/moaw/The original code handled this at runtime (detect
.github.iohostname → use/moaw/, otherwise/). PR #173 replaced that with a build-time hardcodedBASE_HREF=/moaw/, so the one deployed artifact always used/moaw/. Onmoaw.dev(served at root) every asset/route then resolved to a non-existent/moaw/..., breaking the site.Fix
Keep the runtime
.github.iodetection (so both origins work) and keep PR #173's parameterization goal (hostable in other repos):index.html/404.html: the.github.iobranch now uses a__BASE_HREF__token instead of a hardcoded/moaw/. The static<base href="/">is untouched, so root domains stay correct.update-env.sh: substitutes__BASE_HREF__inindex.html+404.htmlwith${BASE_HREF:-/moaw/}.deploy.yml: setsBASE_HREF: /moaw/.A fork can now set
BASE_HREFto its own sub-path, whilemoaw.dev(root) and*.github.io/moaw/both keep working from the same build.Verification
BASE_HREF=/moaw/ npm run build:websitesucceeds.dist,__BASE_HREF__substitutes to/moaw/,<base href="/">stays intact, and no leftover tokens remain.