Describe the bug
Three related bugs affecting deployed and embedded instances of knowledge-base:
- Broken asset links on sub-paths — Root-relative
url() references in CSS bundles (fonts, images) resolve incorrectly when served from /knowledge-base/{slug}/_astro/, producing 404s in deployed environments.
- CSS layer ordering conflict — Starlight's heading font sizes are overridden on direct page loads because Tailwind's
@layer base is not declared before sub-app stylesheets are loaded, causing incorrect heading styles.
- nginx gzip encoding errors with proxy gateways — With
gzip_proxied any, nginx re-encodes responses to proxies/gateways that already forwarded Accept-Encoding upstream, causing content encoding errors in browsers. FragmentGateway also transcodes responses causing Content-Encoding header leakage.
Area
- Build pipeline (build-vite / fetch-apps / apps.json)
- URL rewriting / chrome injection (transform)
- Web-fragment embedding (host gateway / shadow DOM / routing)
- Standalone site / nginx / Docker
Steps to Reproduce
Asset URL bug:
- Run
npm run build (with sub-path prefix)
- Deploy behind nginx at
/knowledge-base/
- Open any sub-app page — fonts/images 404
CSS layer bug:
- Run
npm run build
- Navigate directly to a Starlight sub-app page
- Observe heading font sizes overridden by Tailwind base styles
nginx encoding bug:
- Deploy Docker container behind FragmentGateway
- Load a fragment page
- Observe
ERR_CONTENT_DECODING_FAILED or garbled response
Expected state
- All CSS asset
url() references resolve correctly under sub-paths
- Heading font sizes render as defined by the sub-app (Starlight) stylesheet
- nginx does not double-encode responses; FragmentGateway receives clean, un-transcoded responses
Impact / Severity
High — breaks fonts, layout, and fragment embedding in deployed environments
Attachments / Evidence
Addressed by PR #29.
Related / References
Fixed in: #29
Describe the bug
Three related bugs affecting deployed and embedded instances of knowledge-base:
url()references in CSS bundles (fonts, images) resolve incorrectly when served from/knowledge-base/{slug}/_astro/, producing 404s in deployed environments.@layer baseis not declared before sub-app stylesheets are loaded, causing incorrect heading styles.gzip_proxied any, nginx re-encodes responses to proxies/gateways that already forwardedAccept-Encodingupstream, causing content encoding errors in browsers. FragmentGateway also transcodes responses causingContent-Encodingheader leakage.Area
Steps to Reproduce
Asset URL bug:
npm run build(with sub-path prefix)/knowledge-base/CSS layer bug:
npm run buildnginx encoding bug:
ERR_CONTENT_DECODING_FAILEDor garbled responseExpected state
url()references resolve correctly under sub-pathsImpact / Severity
High — breaks fonts, layout, and fragment embedding in deployed environments
Attachments / Evidence
Addressed by PR #29.
Related / References
Fixed in: #29