dsh-overleaf v0.2.3
dsh-overleaf v0.2.3
Fix: RELATIVE requests now resolve against the proxy root (via injected <base>)
User network-panel evidence: on the editor page, the failing requests were relative (no leading slash) — sse?userToken=..., users?sessionId=..., and a bare project id. Overleaf's frontend assumes it lives at the site root, but under the proxy the browser resolves such URLs against the deep document directory (/overleaf-proxy/project/...), so the editor's SSE realtime channel and supporting calls landed on wrong paths and died — "Loading..." forever, in the iframe AND the open-in-new-window tab.
Fix
rewriteHtml injects <base href="/overleaf-proxy/"> at the head (skipped when the page declares its own <base>). Every relative URL class — SSE, XHR, fetch, assets, forms — now resolves against the proxy root, matching the upstream's root-deployment assumption exactly. (Root-relative /x references ignore <base> by spec and continue to be handled by the attribute rewriting + runtime wrappers.)
Regression coverage
Base injection ordering (before body content) and existing-base preservation.
Upgrade
dsh plugin --profile web add github:gychen-NJU/dsh-overleaf(already installed? remove first, re-add, restart the web service, then hard-refresh the DSH page with Ctrl+F5)