Ändringsloggen
YtaHåller reda på allt som ändras på sidan, så att teamet ser vad som har hänt och när – och så att notiserna har något att läsa.
källa: apps/projekt/src/andringslogguppdaterad:
Ansvar
- Ta emot en rad för varje ändring – från statusrapporterna, att göra-listan och servern när ett nytt bygge startar – och aldrig skriva om en rad.
- Visa loggen på /andringar, per dag och senast först, med filter per källa.
- Ge varje uppgift i att göra-listan sina rader.
- Hålla isär det som får lämna den låsta ytan: bara rader med publik får visas öppet eller skickas till chatten.
- Äga startsidans databas: en SQLite-fil vars schema växer i numrerade steg.
Filer
| Sökväg | Roll |
|---|---|
| databas/databas.ts | Databasen i DATABAS_FIL, som standard data/startsidan.db; i containern /app/data/startsidan.db. Stegen i schemat, user_version, iTransaktion och flytten från ADR-036:s att-gora.db med VACUUM INTO. |
| databas/databas.test.ts | En ny fil får alla tabeller; en gammal att göra-fil tas över, också med raden kvar i WAL-loggen. |
| andringslogg/logg.ts | Källorna, logga, senaste och historik. |
| andringslogg/version.ts | En rad när ett nytt bygge startar, känt på .next/BUILD_ID. Bara i produktion; kastar aldrig. |
| instrumentation.ts | Skriver versionen vid start, före notiserna. |
| app/(projekt)/andringar/page.tsx | Den tekniska tidslinjen: filtret per källa och en lista per dag. |
| statusrapport/server.ts | Loggar skapad och rättad som publika rader, borttagen utan länk och utan att vara publik. |
| attgora/server.ts | Loggar ny uppgift, ändrade fält och nytt läge i samma transaktion som ändringen, med kontot i av. |
| konton/server.ts | Loggar nya, stängda och ändrade konton som källan konton, aldrig publika. |
API
| Namn | Signatur | Beskrivning |
|---|---|---|
| logga | (a: { kalla, handling, objekt?, text, href?, publik?, av? }) => void | Skriver en rad med tiden nu. Körs i anroparens transaktion om den har öppnat en. |
| senaste | ({ kalla?, antal? }) => Andring[] | De senaste raderna, senast först. 200 om inget annat sägs. |
| historik | (kalla, objekt: string[]) => Map<string, Andring[]> | Raderna för flera saker från samma källa, senast först per sak. |
Kontrakt
| Fält | Typ | Krav |
|---|---|---|
| id | number | Löpnummer. Ordningen i loggen. |
| tid | string | ISO-tid, satt av servern. |
| kalla | "status" | "att-gora" | "funktioner" | "konton" | "version" | Vem som skrev raden. |
| handling | "skapad" | "andrad" | "lage" | "borttagen" | "startad" | Vad som hände. |
| objekt | string? | Id:t på det som ändrades; för en version byggets BUILD_ID. |
| text | string | En mening som går att läsa utan sammanhang. Det som ändrades står före kolon, saken efter. |
| href | string? | Vägen dit, från roten. Saknas när saken är borta. |
| publik | boolean | Får skickas till teamschatten. I dag bara statusrapporterna. |
| notis | string? | När raden skickades till chatten. Används när notiserna läser loggen. |
| av | string? | Kontot som gjorde ändringen (ADR-039). Saknas för skrivnyckeln, startdatan och versioner. Visas bara för den som är inloggad med ett konto, och står aldrig i text. |
- En ny källa läggs i KALLOR med ett namn och ett kort namn, och skriver sina rader själv där ändringen görs.
- Ett nytt steg i schemat läggs sist i STEG i databas/databas.ts. Ett gammalt steg ändras aldrig.
Beroenden och beslut
- Att göra-listan
- Statusrapporterna
- Konton för projektgruppen
- ui (gemensam, i devportalen)
- tokens (gemensam, i devportalen)
Beslut: ADR-037, ADR-036, ADR-035, ADR-039
Levererar: /andringar, andringslogg/, databas/, Ändringar på uppgifterna i att göra-listan, Ändringslogg under Teknik i huvudmenyn
Kvarstår
- Notiserna till teamschatten läser inte loggen än; statusrapporterna når fortfarande inte chatten.
- Ändringar i koden syns bara som en ny version, utan vad som ändrades: commit-ämnena når inte containern.
- Statusrapporterna ligger kvar i sin JSON-fil, så rapporten och raden skrivs inte i samma transaktion.
15 delar i projektportalen · gemensamma i devportalen: ai-adapter, anthropic, bygge, designsystem, dokploy, dokumentation, gemensamt, tokens, ui