Tre bugs på en ettermiddag — og hvorfor vi fortsatt satser på ny teknologi
Vi oppgraderte emdash-CMS fra 0.4 til 0.6 på msale.com. Tre ting brøt i løpet av femten minutter, og alt var fikset innen timen. Her er hvorfor.
I går ettermiddag oppgraderte vi emdash-CMS fra versjon 0.4 til 0.6 på denne siden. Før oppgraderingen var alt grønt. Etter oppgraderingen var tre ting ødelagt. En time senere var alt grønt igjen. Det er hele historien — og den er grunnen til at vi fortsatt anbefaler ny teknologi til klientene våre.
Hva som gikk i stykker
Det første: invitasjonslenker i e-post. Klienten klikker lenken i innboksen og lander på en rå JSON-respons i nettleseren i stedet for et innloggings-UI. Ikke ideelt.
Det andre: magic-link e-post for pålogging. Selv etter at vi byttet til msale.com, pekte lenkene fortsatt på den gamle workers.dev-adressen. Emdash hadde cachet originen i D1-databasen vår ved første oppstart, uten automatisk oppdatering.
Det tredje: bygget feilet. require_dist is not a function — en kryptisk feil fra Cloudflare sin Vite-plugin uten spor til vår egen kode.
Hvorfor det gikk fort å fikse
Invitasjons-bugen var fikset oppstrøms for tre uker siden, i emdash 0.5. Vi satt på 0.4. Vår feil, ikke emdash sin. Claude Code slo opp changeloggen og fant PR-en på sekunder. Vi bumpet versjonene, testet, ferdig.
Magic-link-URL-en var én wrangler d1 execute-kommando unna. Vi oppdaterte options.emdash:site_url i D1, re-deployet, ferdig.
Vite-feilen var et kjent Astro-problem — Astro 6 bruker Vite 7, men Cloudflare sin plugin plukker opp Vite 8 fra node_modules og de to krasjer. Claude fant GitHub-issuen i løpet av ett søk, pekte på overrides.vite: ^7 som workaround. Tre linjer i package.json, clean reinstall, bygget grønt igjen.
Hva vi tar med oss
Ny teknologi kan koste deg tid på feilsøking. Den trenger ikke. Med moderne AI-verktøy — Claude Code, Codex, og lignende — er gapet mellom «ukjent feilmelding» og «fix deployed» kort. Ikke null, men kort.
Vår egen lærepenge: vi burde ha oppdatert tidligere. Emdash 0.5 ble sluppet lenge før vi skjønte at fixen vi trengte allerede var på hyllen. Regelen er enkel nok — kjør alltid nyeste stabile versjon, følg med på release-notes — men med dagens tempo på ny teknologi krever det disiplin og verktøy.
Vi sier fortsatt ja til ny teknologi for klientene våre. Gevinsten — bedre stack, raskere levering, mer fleksibelt produkt — er større enn risikoen når du kombinerer det med skikkelig verktøy og en ærlig vane å holde deg oppdatert.