Prove the deploy by digest, not by tag
Il commit precedente si ferma `set image` essendo un no-op silenzioso. Questo afferma che risultato: dopo il rollout, il tag viene risolto per digerire al Regis...
Una ricostruzione dello stesso commit non ha dispiegato nulla e ha riferito il successo
L'immagine è contrassegnata con il commit SHA, così la ricostruzione dello stesso commit produce un riferimento di immagine identico. `kubectl set immagine` qui...
Lasci un rollout finire quello che il vecchio pod stava facendo
Deploys ha sostituito l'unico pod di ogni servizio con nulla per catturare le richieste in volo. Tre impostazioni, applicate attraverso la flotta: - preStop do...
La sessione firmata diventa per-tab
analytics.auth ha vissuto in localStorage, che ogni scheda di questa origine condivide. L'analisi è raggiunta da un handoff OTK da uno spazio di lavoro e ogni h...
Cercare il blocco di un candidato invece di scansione di nuovo al tavolo inizio
/api/send ha preso 1.8-7.9 s per la maggior parte degli indirizzi e ms monodigit per alcuni, che non è un problema di carico — è la forma della query geolite. g...
Smettere di elencare ogni visitatore due volte
Performance (web vitals) eventi sono stati salvati senza nome host — il collettore il ramo delle prestazioni non ne ha mai superato uno, a differenza del ramo d...
Harden il kubectl download contro l'egresso sfacciato [skip ci]
dl.k8s.io sopra l'ingresso del corridore cade in modo intermittente metà del trasferimento: curl: (56) OpenSSL SSL read: decryption fail or bad record mac che f...
Alias ALL turbopack content-hashed esterni, non solo prisma
La correzione precedente solo alias @prisma/client-♥hash>; la costruzione esterna anche pg- <hash> (node-postgres, via @prisma/adapter-pg) sotto lo stesso conte...
Alias Prisma 7 client content-hashed, così le rotte DB fermano 500ing
Il generatore prisma-client (engineType=client) cuoce un contenuto-hashed runtime specifier (@prisma/client-θhash>) nella prossima build. Il costruttore soddisf...
Installare deps script dopo la copia standalone; urtare PRISMA VERSION a 7.6.0
La fase di corridore ha installato deps script (semver/chalk/prisma/...) PRIMA copiare l'uscita standalone Next.js. Il prossimo traccia un parziale, index.js-le...
Pin pnpm a 10.34.3 così le liste di revisione di compilazione sono onorate
Non piegato 'npm install -g pnpm' ora si risolve a pnpm 11.8.0, che è caduto A favore di LetBuilds. Le liste di revisione del repo sono state quindi ignorate, o...
Copia pnpm-workspace.yaml + recensione rimanenti script di costruzione
La fase deps solo copiato package.json+lockfile, quindi pnpm non poteva vedere E' il momento giusto. liste di revisione (vivono in pnpm-workspace.yaml). Con sev...
Consentire prisma costruire script così pnpm aggiungere non esce non zero
Il nuovo pnpm fallisce la costruzione con ERR PNPM IGNORED BUILDS quando prisma's postinstall è ignorato. Solo @prisma / motori è stato abilitato, così ogni imm...
Migra a k1m1 (clone+registry+kubeconfig da k1m1, drop k2m1, semplice installazione kubectl)
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
Remove geo debug logging (root cause was Traefik externalTrafficPolicy)
Use pg Pool options instead of connection string for geo DB
CockroachDB rejects insecure connections and node-pg can't verify self-signed certs via connection string alone. Parse the URL into Pool options and pass ssl:{r...
*** session check, loading spinner, rebrand analytics to Kamo Analytics
Use redis get instead of exists for more reliable *** validation on logout. Replace "Authenticating..." text with an animated spinner on the OTK auth page. Rena...
Use CockroachDB geolite tables for IP geo lookup instead of .mmdb file
Replace the bundled MaxMind .mmdb file with a query to the geolite_blocks and geolite_locations tables in CockroachDB, which are maintained and updated weekly b...
Copy GeoLite2 database to production image for country detection
The /geo/ directory containing GeoLite2-City.mmdb was built during the builder stage but never copied to the runner stage, so all country/region lookups returne...
Move CSP to proxy.ts instead of middleware.ts to avoid build conflict
Next.js 16 doesn't allow both middleware.ts and proxy.ts. The Docker build copies proxy.ts as the middleware, so add CSP frame-ancestors header there instead. T...
Use Next.js middleware for CSP so frame-ancestors works at runtime
The standalone build bakes next.config.ts headers at build time, so ALLOWED_FRAME_URLS was always empty. Move CSP to a Next.js middleware that reads the env var...
Read ALLOWED_FRAME_URLS at runtime so CSP frame-ancestors works in standalone mode
The env var was being read at module scope during build, baking an empty value into the standalone server. Move CSP and all header construction into functions c...
Remove logout, move nav to right, tie session to kamo-internal ***
Remove logout option from UserButton since auth is managed by kamo-internal. Move SideNav from left to right side. Store the *** ID in analytics auth data durin...
Replace login with OTK auth, force light mode, hide theme toggle
Remove direct login — authentication now handled exclusively via one-time keys from kamo-internal. New /api/auth/otk route validates OTK against shared Redis, s...
Initial Kamo Analytics — forked from analytics with Kamo branding
- Replace analytics logo SVG with Kamo logo (theme.kamocrm.com) - Replace analytics favicons with Kamo favicon - Replace "analytics" heading/nav text with "Kamo...
Merge pull request #4147 from ****************
fix: add explicit AS for column alias in session and event queries (Postgres syntax error)
Merge pull request #4158 from Mravuri96/patch-1
Update build-docker script to include recorder
update RRWebplayer config to fix seek issues and warning suppression
fix blank screen by using router.replace instead of redirect in useEffect
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.