1. Root-Relative Asset URLs
If the source HTML file references assets using absolute root paths (e.g., /style.css or /js/app.js instead of relative style.css or ./style.css), they will resolve to RawServe's host domain instead of the source repository, causing a 404 error.
2. Local CORS Restriction (file:///)
Modern browsers block JavaScript fetch() requests to local file:/// paths due to strict Same-Origin security policies. RawServe cannot fetch local files using standard input URLs. Use the Local HTML File selector to upload and read local files.
3. JavaScript SPA Routers
Single Page Applications built with complex dynamic routing (such as React Router or Vue Router utilizing HTML5 History API) may break upon manual refresh or routing, as RawServe does not configure custom dynamic server fallbacks.
4. Third-Party CORS Blockers
External APIs and fonts that do not permit cross-origin requests (CORS) might still refuse to load when imported outside of their white-listed domains.
5. SharedArrayBuffer & Cross-Origin Isolation (Godot 4/Wasm)
Modern game engines (like Godot 4 Web builds) rely on WebAssembly multithreading and require SharedArrayBuffer. Browsers strictly block these APIs unless the document is served with Cross-Origin Isolation headers (COOP and COEP). Since RawServe runs entirely on the client-side (and often loaded locally over file:/// or proxy CDNs), it cannot force these security headers natively. To load multithreaded games, you must host RawServe on a local or cloud web server (like Vercel or local Python server) configured to return COOP/COEP headers, or export your Godot project using the single-threaded template fallback.
6. Modern JS/TS Frameworks (Svelte, Next.js, Nuxt, etc.)
RawServe handles static client-side HTML, CSS, and JS. Modern development frameworks like Next.js, Nuxt, SvelteKit, or Remix rely on complex bundlers (like Vite, Webpack, or Turbopack) and Node.js server-side environments (SSR/Serverless functions). Directly serving raw uncompiled source code from these frameworks will not work because the browser cannot compile raw JSX, Svelte templates, or TypeScript on-the-fly. To run projects built with these frameworks via RawServe, you must first compile them locally or in CI, and serve their fully bundled static production export (usually located inside the exported dist or out directories).
|