Files
websitedev/TODO.md
T
Do SikiandClaude Sonnet 5 bf6c8f7abd
CI Pipeline with Test Management / 🧪 Run Tests & Generate Reports (push) Canceled after 0s
Test Reporting & Gherkin Analysis / 🧪 Run Tests & Generate Reports (push) Canceled after 0s
CI Pipeline with Test Management / 🐳 Docker Integration Tests (push) Canceled after 0s
CI Pipeline with Test Management / 🏗️ Build Docker Image (push) Canceled after 0s
CI Pipeline with Test Management / 📊 Generate Test Summary (push) Canceled after 0s
Test Reporting & Gherkin Analysis / 📊 Analyze Test Coverage (push) Canceled after 0s
Test Reporting & Gherkin Analysis / 🔄 Sync with Linear (push) Canceled after 0s
Test Reporting & Gherkin Analysis / ⚡ Performance Monitoring (push) Canceled after 0s
sync: mark MITHOME-94 done in TODO.md
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 15:12:19 +02:00

28 KiB
Executable File
Raw Blame History

mozdIT Weboldal - Fejlesztési TODO Lista

Projekt Áttekintés

Next.js 15 alapú weboldal a mozdIT Bt. számára, Docker Compose-szal deployolva.

⚠️ Projekt Management

Elsődleges forrás: Plane — MITHOME projekt (pm.llmdev.mozdit.hu, workspace: developments) Lokális másolat: Ez a fájl csak referencia, a Plane az authoritative source


Befejezett

Plane Feladat Státusz
MITHOME-1 Repo & Next.js bootstrap — dev szerver
MITHOME-2 Kezdőlap (Hero + USP + Webmail CTA)
MITHOME-3 Rólunk oldal
MITHOME-4 Szolgáltatások oldal
MITHOME-5 Kapcsolat űrlap + API route
MITHOME-6 /api/health endpoint
MITHOME-7 Dockerfile + Docker Compose fejlesztői környezet
MITHOME-8 Tailwind + design system, dark mode, animációk
MITHOME-9 JSON alapú content management rendszer
MITHOME-10 Unit teszt infrastruktúra (Jest + React Testing Library)
MITHOME-11 Contact API — rate limiting, spam detection, validáció
MITHOME-12 Docker stack — Next.js + MongoDB + Loki + Grafana
MITHOME-28 Custom CMS (content-editor.js) UI fejlesztés, Basic Auth & Publikálás gomb
MITHOME-29 Webmail link (mail.mozdit.hu) és Logo finomhangolás
MITHOME-30 Bug: Content Editor sérti a JSON struktúrát és adattípusokat
MITHOME-41 Content Editor: runtime content schema-validáció és atomikus mentés
MITHOME-43 Content Editor: hozzáférésvédelem, CSRF-védelem és auditnapló
MITHOME-48 Cache-Control fejléc a statikus assetekre is kihat (perf regresszió)
MITHOME-49 Elutasított MongoDB client promise cache-elődik
MITHOME-50 X-Forwarded-For spoofing a Content Editor rate limiterében
MITHOME-51 Gyenge és ellentmondásos Mongo defaultok a compose fájlokban
MITHOME-52 Staging banner szöveg kerüljön content JSON-ba
MITHOME-53 deploy.sh: APP_PORT env nem látszik a shell healthcheckjének
MITHOME-54 Staging smoke teszt: console-error ellenőrzés szűrése zajra
MITHOME-56 Content Editor: kilépés (logout) gomb
MITHOME-58 CMS: kilépés megerősítéssel + logós bejelentkező oldal
MITHOME-59 CMS: Publikálás (Publish) Git workflow és hibaüzenet javítása
MITHOME-60 CMS publikálás: deploy csak valódi változásnál + rebase-védelem + tesztek
MITHOME-61 CMS: optimista zárolás (stale-tab felülírás védelem)
MITHOME-62 CMS: Safari-kompatibilis hitelesítés (session-only böngésző, natív ablak nélkül)
MITHOME-63 Deploy-verzió azonosítás: git SHA a CMS-ben és a /api/health-ben
MITHOME-64 CMS: Verziók panel — mentéslista, diff-nézet és egykattintásos visszaállítás
MITHOME-67 CMS: törlés gomb után nem futott le az újraindexelés (ritka tömbök)
MITHOME-68 CMS: saját mentés után ne kapjon 409-et ugyanaz a fül
MITHOME-69 CMS: stabil alsó sáv — ne vándoroljanak a gombok Mentés/Publikálás közben
MITHOME-70 Teljeskörű pre-deploy tesztkészlet egyetlen belépési ponttal
MITHOME-71 CMS verziócímke frissessége: deploy restartolja a CMS-t, editor oldal no-store
MITHOME-72 CMS publish: deploy-indítás naplózása és robust leválasztás systemd alatt
MITHOME-73 Lábléc/Kapcsolat cím CMS-szerkeszthetővé tétele (common.json footer.address)
MITHOME-74 CMS publish deploy: hiányzó cwd — a deploy a gyökérben landolt
MITHOME-75 CMS: gyorsbillentyűk (Ctrl+S Mentés, Ctrl+P Publikálás, Ctrl+Shift+V Verziók, ? súgó)
MITHOME-76 CMS: Interaktív logó szerkesztő (vágás, méretezés, forgatás, margó, korrekció)
MITHOME-77 Fix weboldal higiénia: OG-kép, metadataBase, Header szöveg/nav, holt kód
MITHOME-78 Contact API: mezőhossz-korlátok
MITHOME-79 Nitpick: logger substr/version, next.config turbo deprecation, npm audit
MITHOME-80 Fájlméret-limitek: logo-page/save handler/client refaktor
MITHOME-81 Minőségi gate: tsc --noEmit + lint a pre-deploy készletbe
MITHOME-82 Biztonsági monitoring: detektáló script + cron
MITHOME-83 Partnerek szekció a honlapon (logó + URL, CMS feltöltéssel)
MITHOME-84 Logószerkesztő: háttér áttetszővé tétele (fehér eltávolítás)
MITHOME-98 Bug: dev docker-compose MongoDB URI nem hitelesített (auth hiányzott)

🚀 TODO (Soron következő — v1.0.1 roadmap)

Plane Feladat Státusz Megjegyzés
MITHOME-13 CI pipeline — lint + unit tesztek + staging deploy trigger Elsődleges prioritás
MITHOME-14 Playwright E2E smoke tesztek + Lighthouse CI Elsődleges prioritás
MITHOME-32 Bug: staging és production MongoDB URI alapértelmezése nem hitelesített
MITHOME-33 Bug: staging és production Loki host-ra hivatkozik Loki service nélkül
MITHOME-34 Bug: site config minden környezetben development rekordot olvas és ír
MITHOME-35 Bug: aktív Gitea CI nem futtat integration/E2E tesztet és nem indít staging deployt
MITHOME-36 Bug: elavult GitHub/Linear workflow továbbra is aktív szinkronizációt végez
MITHOME-42 Content Editor: ellenőrzött publikálás és natív production release integráció
MITHOME-44 Környezetenkénti Content Release réteg: promotion és rollback
MITHOME-45 Content Editor: felhasználónkénti hitelesítés és auditnapló
MITHOME-46 Központi IDM/SSO réteg több céges alkalmazáshoz
MITHOME-47 Belső vállalati Portal mozdIT operatív munkaasztal tervezése

🔄 In Progress

Plane Feladat Státusz Megjegyzés
MITHOME-17 Winston logger + Loki integráció 🔄 Winston + LokiTransport már implementálva src/lib/logger.ts-ben
MITHOME-31 Bug: kapcsolatfelvételi API sikeres választ ad elveszett üzenetre 🔄

📋 Backlog (v1.0.2+)

EPIC: Payload CMS migráció (MITHOME-85)

Cél: az ügyfél önállóan, admin felületen szerkeszthesse a tartalmat — a JSON content rendszer (proto/src/content/pages/*.json) és a hozzá épült egyedi CMS (content-editor.js) lecserélése Payload CMS-re (Next.js App Router-be épülő, MongoDB adapterrel).

Plane Feladat Státusz
MITHOME-85 EPIC: Áttérés Payload CMS-re (admin felület az ügyfélnek) 📋
MITHOME-86 Payload CMS alapinstallálás: config, MongoDB adapter, admin route
MITHOME-87 Home/About/Services/Contact/Common Globals kialakítása és JSON tartalom migrálása
MITHOME-88 LegalPages collection (adatvedelem, hasznalati-feltetelek) migrálása
MITHOME-89 Partners + Media collection: logófeltöltés (MVP)
MITHOME-118 Logószerkesztő Payload admin komponensként — lezárva, nem valósítjuk meg (3rd party előfeldolgozás marad)
MITHOME-90 Users collection: ügyfél admin bejelentkezés és access control
MITHOME-119 MFA előkészítés a Users collection-höz (kutatás/terv, nem implementáció) 📋
MITHOME-91 Frontend átállítása Payload Local API-ra, JSON content rendszer kivezetése
MITHOME-92 Draft/preview és verziózás bekapcsolása (Verziók panel utódja)
MITHOME-93 Régi egyedi CMS (content-editor.js) leépítése
MITHOME-94 Opcionális: ContactSubmissions collection a Mongoose modell helyett
MITHOME-95 .agent/ és CLAUDE.md dokumentáció frissítése Payload architektúrára 📋
MITHOME-96 Tesztek migrálása: content schema tesztek helyett Payload collection/global tesztek 📋
MITHOME-97 Deploy/Docker frissítés: PAYLOAD_SECRET, admin bundle, Dockerfile/deploy.sh
MITHOME-117 Vizuális design-védelem: színek/design tokenek változatlansága (MITHOME-91/93 elfogadási kritériuma) 📋
MITHOME-102 ContactSubmissions afterChange hook: PLATFM-2-kompatibilis esemény-emisszió (függ: MITHOME-94) 📋
MITHOME-103 Esemény-emisszió biztonsága: hitelesítés, rate limit, payload-validáció, elérhetetlenség-riasztás 📋
MITHOME-105 MITHOME-31 lezárása: elveszett üzenet bug összekötése a PLATFM-10 triázs pilottal 📋
MITHOME-120 Admin gyorskeresés (teljes szöveges kereső a Payload admin tetején)
MITHOME-121 Partner logók soha nem töltődtek be a publikus oldalon (Media read access) + logo mező opcionálissá tétele

EPIC: Többnyelvűség bevezetése — hu alapértelmezett + en (MITHOME-109)

Cél: a weboldal magyar (alapértelmezett, prefix nélkül, pl. /rolunk) és angol (/en/ alatt, pl. /en/about) nyelven is elérhető legyen, Payload beépített mező-szintű lokalizációjára építve. Az angol tartalom első körben AI-draft fordítás, admin felületen jelezve, emberi jóváhagyásig. Retroaktívan érinti a már kész MITHOME-87/88-at (localized mezők utólagos bejelölése).

Plane Feladat Státusz
MITHOME-109 EPIC: Többnyelvűség bevezetése (hu alapértelmezett + en) 📋
MITHOME-110 Payload localization config bekapcsolása
MITHOME-111 Globals retrofit: localized mezők (Home/About/Services/Contact/Common) 📋
MITHOME-112 LegalPages collection retrofit: localized mezők 📋
MITHOME-113 AI-draft angol tartalom + migrációs script bővítése (en locale seed) 📋
MITHOME-114 Next.js /hu/ + /en/ szimmetrikus prefix routing (egy menetben MITHOME-91-gyel)
MITHOME-115 Nyelvválasztó UI komponens (Header) 📋
MITHOME-116 SEO: hreflang tagek és kétnyelvű sitemap 📋

EPIC: Hermes Agent — kapcsolatfelvételi triázs pilot (MITHOME-99) — LEZÁRVA, duplikátum

2026-09-10: kiderült, hogy ugyanez a pilot már meg volt tervezve (jobban kidolgozva) a PLATFM-10 ("Kis kapacitásigényű, felügyelt AI-funkciók pilot") alatt a PLATFM projektben. A motor-választás (Hermes vs. alternatívák) külön ADR-ben dől el: PLATFM-12. A MITHOME-99 EPIC és a hozzá tartozó MITHOME-100/101/104/106/107/108 issue-k Cancelled státuszban maradnak, Plane-kommenttel a PLATFM-re mutatva. Ami valódi MITHOME-felelősség (a weboldal saját eseményforrása), az a Payload-epic alá került fentebb (MITHOME-102/103/105).

Plane Feladat Státusz
MITHOME-15 Production domain, Nginx reverse proxy és HTTPS 📋
MITHOME-16 Site config migrálása környezetfüggetlen MongoDB tárolásra 📋
MITHOME-18 Adatvédelmi tájékoztató oldal (/adatvedelem) — GDPR 📋
MITHOME-19 Accessibility (A11y) — WCAG 2.1 AA megfelelőség 📋
MITHOME-20 Lighthouse score ≥ 90 minden kategóriában 📋
MITHOME-21 Logging middleware megvalósítása 📋
MITHOME-22 Grafana dashboard konfiguráció 📋
MITHOME-23 SEO optimalizálás 📋
MITHOME-24 Performance optimalizálás 📋
MITHOME-25 Reszponzív design finomítása 📋
MITHOME-26 Analytics integráció (Plausible / GA4) 📋
MITHOME-27 Production környezet beállítása — natv Node.js/systemd (Iron szerver) 📋
MITHOME-38 Production: Next.js standalone release, systemd service és rollback 📋
MITHOME-39 Production: közös natív MongoDB több alkalmazás biztonságos kiszolgálására 📋
MITHOME-40 Production MongoDB: automatizált mentés, visszaállítási próba és monitoring 📋
MITHOME-55 Contact API válaszformátum igazítása a projekt konvencióhoz 📋
MITHOME-57 Felhasználói útmutató (CMS + Honlap) Súgó menüponttal 📋
MITHOME-65 CMS: logó cseréje feltöltéssel (🎨 Logó oldal) 📋
MITHOME-66 Copyright sor CMS-szerkeszthetővé tétele (2002aktuális tartomány) 📋

Technikai Stack

  • Frontend: Next.js 15, TypeScript, Tailwind CSS 4
  • Backend: Next.js API Routes
  • Database: MongoDB (Mongoose ODM)
  • Logging: Winston + Loki
  • Monitoring: Grafana
  • Deployment: Docker Compose (deploy.sh)
  • Testing: Jest, React Testing Library
  • Project Management: Plane MITHOME (elsődleges)

Fejlesztési Parancsok

# Fejlesztői szerver
cd proto && npm run dev

# Tesztek
cd proto && npm test
cd proto && npm run test:all

# Build
cd proto && npm run build

# Docker stack
docker-compose -f docker-compose.dev.yml up -d
docker-compose -f docker-compose.dev.yml down

Elérhető szolgáltatások (Docker)


Frissítési Napló

  • 2026-09-12: MITHOME-94 (ContactSubmissions collection) kész — a /api/contact a nyers, Payload-on kívüli Mongo collection helyett most a Payload Local API-n keresztül egy ContactSubmissions collection-be ír (name/email/subject/message/gdprConsent/status), amit az ügyfél az adminban lát. Rate limiting/validáció/spam-szűrés változatlanul a route-on maradt. Nincs egyedi access-blokk — a Payload alapértelmezése (csak bejelentkezett usernek REST-en) pont a kívánt, a route saját írása a Local API-n (overrideAccess: true) nem ütközik ezzel. Talált és dokumentált teszt-gotcha: a next/jest SWC transform lecseréli a @payload-config alias-t valódi relatív útvonalra, ezért a mockot is a feloldott útvonalra kell tenni (jest.mock('../../../payload.config', ...)), nem az alias-ra. Élesben ellenőrizve mindkét helyen (helyi dev valódi űrlap-küldéssel + staging curl-lal).
  • 2026-09-12: MITHOME-97 follow-up #3 — a felhasználó kérdésére ("el lehet jutni a honlapra az admin oldalról?") kiderült, hogy nem: az admin navigációban csak belső linkek voltak. Hozzáadva egy "🌐 Honlap megnyitása" link a keresősáv mellé (QuickSearch.tsx), ami NEXT_PUBLIC_SITE_URL-re mutat — környezetenként automatikusan helyes cím. Élesben ellenőrizve, staging-re deployolva.
  • 2026-09-12: MITHOME-121 kész — a felhasználó kérésére a Partners logo mezője opcionálissá vált (required: true törölve; a frontend már eleve kiszűrte a logó nélküli partnereket). Eközben egy valódi, MITHOME-89 óta jelen lévő hiba is előkerült: a Media collection sosem kapott explicit access.read-et, így a Payload alapértelmezett "csak bejelentkezett user" szabálya miatt a /api/media/file/* route mindig 403-at adott — a Next.js image-optimizer emiatt sosem tudta betölteni a partner logókat a publikus oldalon (törött kép ikon, senki nem vette észre). Javítva: access: { read: () => true }. Staging-en emellett egy második, kapcsolódó hibát is találtam: a médiafájl fizikai byte-jai elvesztek egy korábbi (a media_data_staging volume bevezetése előtti) konténer-újraépítéskor — az árva Media rekord törlésével és a migráció volume-mountolt konténerből való újrafuttatásával helyreállítva. Élesben ellenőrizve mindkét helyen (helyi dev + staging).
  • 2026-09-12: MITHOME-120 (admin gyorskeresés) kész — a felhasználó kérésére egy keresőmező került a Payload admin minden oldalának tetejére (admin.components.header), ami az összes Global + Collection összes szöveges mezőjét átkeresi mindkét locale-ban (kliens-oldali, index nélküli megoldás — @payloadcms/plugin-search aránytalan lenne a projekt méretéhez, ugyanaz az érvelés, mint MITHOME-118-nál). Útközbeni gotcha: a Payload komponens-útvonalak process.cwd()-hez (nem a config fájl mappájához) relatívak — dokumentálva. Élesben ellenőrizve böngészőben (Global + Collection találat is, helyes navigáció, 0 console hiba), a lint egy valódi hibát is elkapott (ref helyett state kellett). Staging-re is kideployolva.
  • 2026-09-11: MITHOME-97 follow-up #2 — a felhasználó véletlen elgépelt egy URL-t (stage.llmdev.mozdit.hu), amire a Firefox valódinak tűnő "site could be impersonating" figyelmeztetést adott. Kiderült: egy elárvult cms.stage.llmdev.mozdit.hu nginx vhost a régi, leépített CMS-re (content-editor.js, port 4001, MITHOME-93) mutatott — a backend leállítva, de a vhost/tanúsítványa élt, nginx fallback-ként adta ezt bármilyen nem egyező *.mozdit.hu aldomainre. Megoldás: a vhost most a Payload admin felé proxyz (/admin, /api/, /_next/ → staging app 127.0.0.1:8081), minden más redirect a kanonikus stage.mozdit.hu-ra — kényelmi admin-URL, meglévő tanúsítvány újrahasznosítva. Dokumentálva: docs/nginx-vhosts.md (eddig egyetlen nginx-konfig sem volt nyomon követve a repóban). Élesben ellenőrizve böngészőben (0 console hiba, bejelentkezés is működik ezen a domain-en).
  • 2026-09-11: MITHOME-97 follow-up — automatikus, ismert Payload admin-felhasználó minden deploy után. deploy.sh a healthcheck után meghívja a Payload beépített POST /api/users/first-register végpontját ADMIN_EMAIL/ADMIN_PASSWORD alapján; ez a végpont csak üres users collection-nél enged létrehozást (403 minden további hívásra) — idempotens, sosem ír felül meglévő jelszót. Élesben ellenőrizve (friss DB → 200, ismételt hívás → 403, meglévő más-user-es DB → 403), majd staging-en ténylegesen bevezetve: .env.staging-hez szerveren generált admin jelszó, két egymást követő deploy.sh staging (első létrehozta, második helyesen kihagyta), bejelentkezés-teszt 200.
  • 2026-09-11: MITHOME-92 (draft/preview + verziózás) kész — Payload versions.drafts minden tartalmi Global/Collection-ön, admin UI Save Draft/Publish + Versions tab, ez a régi CMS "Verziók panel" (MITHOME-64) utódja. Valódi hiba javítva: a _status mező defaultValue-ja 'draft', a migrációs script eddig sosem adott át explicit _status-t → minden migrált dokumentum draft állapotban landolt; javítva _status: 'published' explicit átadásával. Élesben ellenőrizve (draft mentés nem látszik a publikus oldalon, publish után igen).
  • 2026-09-11: MITHOME-93 (régi egyedi CMS leépítése) kész — content-editor.js + scripts/cms-*.js + a hozzá tartozó tesztkészlet eltávolítva. Felhasználói kérésre biztonsági mentés készült a törlés előtt: proto/scripts/export-content-snapshot.ts (Payload Local API export) → docs/backups/payload-content-snapshot-*.json, plusz ellenőrizve, hogy a régi CMS .content-backups/ mappájának legutóbbi bejegyzése a mai migráció előtti, és minden JSON-szerkesztés saját git commitként is megvan.
  • 2026-09-11: MITHOME-97 (Deploy/Docker) kész, ÉS staging deploy ténylegesen megtörtént (https://stage.mozdit.hu). Két valódi hiba a Docker build első élő tesztjén: (1) a (frontend)/[locale] oldalak SSG-ként (generateStaticParams) épültek, build közben hívva a Payload Local API-t — DB nélkül a build elhalt; (2) ennél súlyosabb, hogy SSG mellett egy admin publikálás csak redeploy után látszott volna, ami az önkiszolgáló szerkesztési cél ellen dolgozott. Felhasználói jóváhagyással force-dynamic-ra váltva — minden kérés élő Payload-olvasás, build DB-független. PAYLOAD_SECRET bekötve staging/prod/dev compose-ba (eddig csak .env.*.example-ben létezett, sosem jutott el a konténerig). Named media volume a Payload uploadoknak. Külön javítva: a staging deploy script egy már nem létező mozdit-content-editor.service-t indított újra — eltávolítva, a szerveren a valós unit is leállítva/letiltva. Staging: hiányzó PAYLOAD_SECRET generálva a szerveren, deploy.sh staging lefuttatva, tartalom-migráció lefuttatva a staging DB ellen, élesben ellenőrizve böngészőben (/hu, /en, /admin mind működik).
  • 2026-09-10: MITHOME-91 + MITHOME-114 (Frontend Payload Local API-ra állítás + hu/en locale routing) kész, egy menetben. URL-stratégia véglegesítve: mindkét nyelv szimmetrikus prefixet kap (/hu/rolunk, /en/about, lefordított szlögekkel), felülírva a korábbi "hu prefix nélkül" döntést. Minden oldal Payload Local API-ról megy, @/content kivezetve az app-kódból. Két valódi, régről létező bug javítva (webmail-linkek, GDPR-checkbox linkje). Talált és javított: Next.js beépített 404-fallback ütközött a (payload) route group-pal — saját not-found.tsx oldotta meg, éles production-standalone szerverrel is ellenőrizve (0 console hiba). Build/lint/tsc/teszt zöld. Folyamat-eltérés: ez a commit közvetlenül a main-re ment feature branch nélkül (egy interrupt miatt kimaradt a branch-nyitás) — a végeredmény megegyezik azzal, mintha branch+merge lett volna, mert eddig is minden branch azonnali fast-forwarddal ment be.
  • 2026-09-10: MITHOME-90 (Users access control) kész — explicit maxLoginAttempts/lockTime, cookie security, access control minden op-ra. GHSA-jg8r-5jh2-v2xj advisory megvizsgálva és tudatosan elfogadva az egyetlen "admin" szerepkör modellben. Élesben ellenőrizve valódi lockout-teszttel. Follow-up: MITHOME-119 (MFA előkészítés, felhasználói kérésre, külön taszk) — mert a Payloadnak nincs natív MFA-ja, és ez ugyanabba a konvergencia-pontba esik, mint az Auth/IDM (PLATFM-4/PLATFM-11 IDM v1), ezért csak ADR-szintű döntést csinálunk, nem implementációt. PLATFM-1 kapcsolati térkép frissítve ("Auth/IDM/MFA" sor).
  • 2026-09-10: MITHOME-118 (logószerkesztő Payload-ba építése) lezárva, tudatosan nem valósítjuk meg — determinisztikus képfeldolgozás, nem illik sem a Payload admin-ba (aránytalan karbantartási teher egy ritkán használt funkcióért), sem Hermes/AI-agent munkafolyamatba (az nyelvi/döntési feladatokra való, nem pixel-transzformációra). Döntés: 3rd party előfeldolgozás (pl. remove.bg) marad — ez rögzítve a Partners collection logo mezőjének admin leírásában is.
  • 2026-09-10: MITHOME-110 (Payload localization bekapcsolása) kész — hu alapértelmezett, en, fallback:true. Common.buttons.* localized:true (valódi, előremutató teszt-mező, része a MITHOME-111 retrofitnak). Fontos tapasztalat dokumentálva: utólagos localized:true után a migrációs scriptet újra kell futtatni, mert a defaultLocale alatti régi érték "eltűnik". Élesben ellenőrizve admin UI nyelvváltóval.
  • 2026-09-10: MITHOME-89 (Partners + Media collection MVP) kész. Payload upload (Media) + Partners collection, migrálva a meglévő partner logóval — élesben ellenőrizve (1+1 dokumentum, idempotens, logó thumbnail rendben). A régi crop/rotate/transparent-logo szerkesztő (kliens-oldali canvas, 345 sor) külön ticketre bontva: MITHOME-118. Fontos: a Payload uploadok proto/media/-ba kerülnek (gitignore-olva) — staging/production docker-compose-ban perzisztens volume kell (jelezve MITHOME-97-nél).
  • 2026-09-10: MITHOME-117 létrehozva — explicit elfogadási kritérium, hogy a Payload-átállás (MITHOME-91/93) ne változtasson a publikus oldal jelenlegi színein/design tokenjein (proto/src/app/(frontend)/globals.css, márka-színek: Logo Blue #1f4e9d, Logo Orange #e43e26). Before/after screenshot-összehasonlítás lesz az elfogadási feltétel.
  • 2026-09-10: Többnyelvűség EPIC (MITHOME-109) és 7 alfeladat (MITHOME-110116) létrehozva Plane-ben — hu (alapértelmezett, prefix nélkül) + en (/en/ alatt), Payload natív lokalizációra építve, AI-draft angol tartalommal. MITHOME-91-hez (Frontend Local API átállás) hozzáadva a MITHOME-114 (locale routing) függőségi megjegyzés — egy menetben érdemes elvégezni.
  • 2026-09-10: MITHOME-88 (LegalPages collection) kész. Slug-alapú collection (adatvedelem, hasznalati-feltetelek), migrálva migrate-content-to-payload.ts-sel (idempotens upsert, kétszeri futtatás után is pontosan 2 dokumentum). Élesben ellenőrizve admin UI-ban.
  • 2026-09-10: PLATFM-1 ("Platform architektúra és komponensfüggőségi nyilvántartás") kiegészítve egy MITHOME↔PLATFM kapcsolati térképpel (6 konvergencia-pont: AI-triázs, Auth/IDM, Content Release, Termékkatalógus, Messaging, BCDR) — ez a Program-szintű koordináció, nem kell hozzá külön Plane-projekt. A MITHOME-40 (production MongoDB mentés) prioritása medium→urgentre emelve, mert a PLATFM-5 (BCDR) explicit RPO≤15p/RTO≤4ó célt ad a kapcsolatfelvételi üzenetekre.
  • 2026-09-10: MITHOME/PLATFM rendrakás. Kiderült, hogy a Hermes Agent EPIC (MITHOME-99) duplikálta a PLATFM-10 AI-pilotot (kapcsolatfelvételi triázs) — MITHOME-99/100/101/104/106/107/108 lezárva (Cancelled), PLATFM-10-re hivatkozva. Új ADR nyitva a motor-választáshoz: PLATFM-12. Ami valódi MITHOME-felelősség maradt (ContactSubmissions eseményforrás, PLATFM-2-kompatibilis sémával), az a Payload-epic alá került: MITHOME-102/103/105.
  • 2026-09-10: Hermes Agent EPIC (MITHOME-99) és 9 alfeladat (MITHOME-100108) létrehozva Plane-ben — pilot: self-hosted AI agent (Nous Research, MCP-támogatás) a kapcsolatfelvételi triázshoz, kapcsolódva a nyitott MITHOME-31 bughoz és a MITHOME-47 (belső operatív munkaasztal) irányhoz.
  • 2026-09-10: MITHOME-98 (dev docker-compose Mongo URI auth) kész. A docker-compose.dev.yml app service-e hitelesítés nélkül próbált kapcsolódni egy authot igénylő MongoDB-hez — élesben reprodukálva (findOne → "Command find requires authentication"), majd javítva és ellenőrizve (POST /api/contact valódi Mongo-írása). Ugyanaz a hibaosztály, mint MITHOME-32, de külön, dev-specifikus ticket, mert MITHOME-32 csak staging/production compose-t fed le. Branch: fix/dev-mongo-uri-auth.
  • 2026-09-10: MITHOME-87 (Home/About/Services/Contact/Common Globals + JSON migráció) kész. Munka közben két, MITHOME-86-hoz visszanyúló hibát javítottunk: (1) a gyökér src/app/layout.tsx ütközött a Payload (payload)/layout.tsx-ével — a webodal saját route-jai átkerültek egy (frontend) route groupba; (2) a kézzel írt importMap.js stub nem volt elég — tsx 4.22.4→4.23.13 (Node 25 kompatibilitás) után legenerálva a valódit. Mindkettő valós böngészőben ellenőrizve (curl nem buktatta fel korábban). npm run migrate:content script + npm test/lint/build zöld.
  • 2026-09-10: MITHOME-86 (Payload alapinstalláció) kész: Next.js 15.5→16.3.4 upgrade (Payload peer dep miatt), payload.config.ts + mongooseAdapter + minimális Users collection + admin/API/GraphQL route-ok. Élesben ellenőrizve valódi MongoDB-vel. Ismert nyitott advisory a payload@3.88.0-ban (GHSA-jg8r-5jh2-v2xj), nyomon követve MITHOME-90 alatt. Branch: feature/payload-cms-setup.
  • 2026-09-10: Payload CMS migrációs EPIC (MITHOME-85) és 12 alfeladat (MITHOME-8697) létrehozva Plane-ben — cél: JSON content + egyedi CMS lecserélése Payload-ra, ügyfél önálló admin szerkesztéshez.
  • 2026-08-17: Plane sync (plane-sync.js). Új MITHOME-27 (Production környezet) Backlog-ba; Custom CMS és Webmail bevéve a Plane-be (28/29, Done). regenerate() hiba javítva (szekció-elválasztó).
  • 2026-08-17: Plane sync futtatása (plane-sync.js). MITHOME-15, MITHOME-18 visszaminősítve Backlog-ba (Plane szerint), MITHOME-27/28 megtartva.
  • 2026-04-26: Átállás Linear → Plane (MITHOME projekt). TODO.md teljes újraírva, 26 issue szinkronizálva.
  • 2025-01-23: ZEE-29 (Tailwind + layout) és JSON content management befejezése (Linear)
  • 2025-09-05: Docker fejlesztői környezet implementálva