Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Notes from a 2 AM On-Call: Why Harper's WASM Module Silently Failed in Our Self-Hosted VSCode Server

说明与用途

在 Traefik/Nginx 中添加 worker‑src 和 script‑src CSP 指令,恢复了自托管 VSCode Server 中 Harper 扩展的功能,解决了 Web Worker 创建的静默错误。

问题

Harper grammar checking stopped silently in a self-hosted VSCode Server after a reverse‑proxy CSP change.

结果

Adding worker‑src and script‑src CSP directives restored Harper functionality in a self‑hosted VSCode Server.

工作流

  • 1. Observe silent failure of Harper suggestions.
  • 2. Verify extension activation, file associations, and language server process.
  • 3. Check browser console for CSP errors – see "Refused to create a worker from 'blob:' (CSP violation)".
  • 4. Update Traefik dynamic config to include worker‑src and script‑src directives.
  • 5. Reload Traefik with SIGHUP and reload code‑server in browser.
  • 6. Confirm "[Harper] WASM module loaded successfully" in console and suggestions appear.
  • 7. Document CSP changes in runbook for future deployments.

证据

Refused to create a worker from 'blob:' (CSP violation)

来源

worker-src 'self' blob:

来源

script-src 'unsafe-eval'

来源

  • 记录日期: 2026-10-19T10:41:27.817Z