[Bug]: Web build fails when the checkout path contains a space (fonts-cjk alias keeps %20)
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- nodejs, typescript
- Área
- build-system
Línea de trabajo
La ruta incorrecta proviene del alias @betteroffice/fonts-cjk en apps/web/vite.config.ts, que construye su ruta con new URL(...).pathname. Reproduce clonando en un directorio cuyo nombre contenga un espacio y luego ejecutando vp build en apps/web. La solución reportada es envolver la URL en fileURLToPath de node:url. Terminado cuando la compilación tenga éxito desde la ruta con espacios y siga teniendo éxito desde una ruta normal.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
Build, CI, or release tooling
Steps to reproduce
- Clone the repo into a directory whose path contains a space, e.g.
~/Local Sites/t3code. pnpm install --frozen-lockfile --filter=@t3tools/web...cd apps/web && vp build
Expected behavior
The web app builds, as it does from a path without spaces.
Actual behavior
The build fails while bundling the office file viewers' worker:
[plugin vite:worker-import-meta-url] …/apps/web/src/components/files/office/WordDocument.tsx
[UNLOADABLE_DEPENDENCY] Could not load ../../../../Local%20Sites/t3code/apps/web/src/components/files/office/fonts-cjk.ts
╭─[ ../../node_modules/.pnpm/@[email protected]/node_modules/@betteroffice/fonts/dist/index.js:574:26 ]
574 │ return (await import("@betteroffice/fonts-cjk")).CJK_FONT_ASSET_URLS;
│ ╰── No such file or directory (os error 2)
(The same error for Presentation.tsx.)
Cause: apps/web/vite.config.ts resolves the alias with new URL("./src/components/files/office/fonts-cjk.ts", import.meta.url).pathname. URL.pathname is percent-encoded, so a space becomes %20 and the aliased path does not exist. fileURLToPath decodes it:
import * as NodeURL from "node:url";
// …
"@betteroffice/fonts-cjk": NodeURL.fileURLToPath(
new URL("./src/components/files/office/fonts-cjk.ts", import.meta.url),
),
With that change the build succeeds from the same path.
Impact
Minor bug or occasional failure
Version or commit
v0.1.5 and v0.1.6; still present on main at 84537c4dd9 (2026-11-02).
Environment
macOS 26.7.1 (arm64), Node 26.12.0, pnpm 12.14.0, vite-plus 1.4.0.
Workaround
Build from a path without spaces, or apply the fileURLToPath change above.
- Lenguaje dominante
- TypeScript
- Estrellas
- 24.8k
- Forks
- 6.4k
- Merge medio
- 13 h 48 min
- PR fusionados (30 d)
- 208
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de pingdotgg/t3code
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
Los mantenedores suelen responder en 1 día
-
needs more info
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
pingdotgg/t3code#30685 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
pingdotgg/t3code#30228 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
[Bug]: ACP sign-in replaces the agent's error message with a generic onePosiblemente ocupada @iScabrous la tomó hace 1 día. Abiertobug needs-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
pingdotgg/t3code#30205 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de pingdotgg/t3code
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Open-Earth-Foundation/CityCatalyst#3399 ·
Los mantenedores suelen responder en 2 días
-
userReport
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
nkprasad12/morcus-net#631 ·
Los mantenedores suelen responder en 1 día
-
fix(app): fail closed if GetGeneralSetting fails during initializationPosiblemente ocupada @kalavt la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
nekko-labs/nekko-agent#1756 ·
Los mantenedores suelen responder en 1 día
-
needs-area-label
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 2 días