Skip to content

Posa una barrera de tipus al web i posa el backlog al dia - #240

Open
rtrepis wants to merge 1 commit into
masterfrom
claude/document-limit-users-sjig8o
Open

Posa una barrera de tipus al web i posa el backlog al dia#240
rtrepis wants to merge 1 commit into
masterfrom
claude/document-limit-users-sjig8o

Conversation

@rtrepis

@rtrepis rtrepis commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Per què

El build del web no comprovava tipus: vite build amb @vitejs/plugin-react-swc els llença sense mirar-los i ESLint tampoc no els mira — però el CLAUDE.md deia «vite build (comprova tipus com a part del build)». Un ✓ built verd es donava per bo, i a sota hi havia codi de producció amb tipus trencats passant-hi cada dia. Es va veure en fusionar la PR #238: una crida amb un valor que no era a la unió ClientErrorContext va passar el build sencer.

Barrera de tipus

  • npm run typecheck a l'arrel (tasca de Turbo) i a cada workspace. Surt neta als dos.
  • No s'encadena dins de npm run lint: el lint del web ja surt vermell amb 13 errors preexistents d'ESLint, i una barrera que neix vermella no la mira ningú. Queda apuntat com a residu a C9 del backlog.
  • L'API guanya el nom typecheck per al tsc --noEmit que ja tenia com a lint, perquè l'ordre de l'arrel cobreixi els dos workspaces.

Errors de producció que hi havia amagats

Fitxer Error
types/ui.ts UserUiSettings no existia; l'importaven settingsService, settingsThunks i settingsStorage. Ara hi és, amb els camps de compte que authSlice ja llegia (tier, emailVerified, role)
pages/WelcomePage/WelcomeLayout.tsx import … from "/src/App" — ruta absoluta que només resol Vite. Passa a l'àlies @/App
utils/fitzgeraldToBorder.ts El fallback era fitzgeraldColors.not, una clau que no existeix: resolia a undefined i el navegador pintava la vora amb currentColor. Es deixa escrit currentColor tal qual, sense canviar cap dibuix; quin ha de ser el color de debò és decisió de producte (C11)

Tests fora del typecheck

Com a l'API. Ja hi havien de ser: l'exclude del tsconfig.json tenia les dues rutes dins d'una sola cadena separades per una coma, que no coincideix amb cap fitxer. La suite del web no compila contra el codi actual (test-utils munta un sequenceReducer d'un mòdul esborrat, els tests passen props que ja no existeixen, setupTests importa una carpeta que no és al repositori) i npm test és un placeholder → C10.

Backlog

  • B12 ✅ — els documents del núvol no es podien distingir (nom, miniatura, progrés; PR Posa nom als documents del núvol, hi afegeix miniatura i progrés, i baixa el sostre a 3 #238).
  • B13 🔴 — amb el sostre a 3 documents, ningú diu quants te'n queden: l'error de quota arriba després d'escriure el nom i esperar la pujada.
  • C9 ✅ — aquesta barrera de tipus, amb la taula del que hi havia amagat i el residu dels 13 errors d'ESLint.
  • C10 🔴 — la suite de tests del web no compila ni s'executa: revifar-la o esborrar-la, però no deixar-la a mig camí.
  • C11 🔴 — el color de la vora «fitzgerald» sense classificació surt d'un accident, no d'una decisió.
  • C4 — s'hi afegeix features.backend.auth.documentSaved, orfe des de B12.
  • Arreglada la col·lisió de numeració: el fitxer tenia dos B9 (el del PDF en FULLSCREEN i el de l'esborrany); el segon passa a B10 i «Pujar una imatge congela la interfície» a B11.

Comprovacions

  • npm run typecheck (arrel): net als dos workspaces.
  • npm run build --workspace=web: correcte.
  • Tests de l'API: 21 passen; service.test.ts segueix sense poder-se executar en aquest entorn perquè mongodb-memory-server no pot baixar el binari de MongoDB (403 del proxy) — cap canvi meu en aquell camí.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BLfzVuoZBWeeAH7W2jJwXG


Generated by Claude Code

El build del web no comprovava tipus: vite build amb el plugin SWC els llença
sense mirar-los i ESLint tampoc no els mira, però el CLAUDE.md deia que sí. Un
«✓ built» verd es donava per bo i hi havia codi de producció amb tipus trencats
passant-hi cada dia.

- npm run typecheck (arrel amb Turbo i a cada workspace) és ara la barrera, i
  surt neta. No s'encadena dins de npm run lint: el lint del web ja surt vermell
  amb 13 errors preexistents d'ESLint i una barrera que neix vermella no la mira
  ningú.
- Tres errors de producció que hi havia amagats: UserUiSettings no existia a
  types/ui tot i que tres fitxers l'importaven d'allà; WelcomeLayout importava
  "/src/App", una ruta que només resol Vite; i fitzgeraldToBorder queia a
  fitzgeraldColors.not, una clau que no existeix (resolia a undefined i el
  navegador pintava la vora amb currentColor — es deixa escrit tal qual, sense
  canviar cap dibuix).
- Els tests queden fora del typecheck, com a l'API. Ja hi havien de ser: les
  dues rutes de l'exclude anaven dins d'una sola cadena amb una coma al mig.

Al backlog: entrades noves per als documents del núvol (B12, resolta) i per al
consum de quota que ningú ensenya amb el sostre a 3 (B13); C9 (aquesta barrera),
C10 (la suite del web no compila ni s'executa) i C11 (el color de vora sense
classificació de Fitzgerald). També s'arregla la col·lisió de numeració que
havia deixat dos B9 al fitxer.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BLfzVuoZBWeeAH7W2jJwXG
@vercel

vercel Bot commented Aug 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sequenciaac Ready Ready Preview Aug 23, 2026 3:01pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants