2026-04-12 11:25
401-felsökning förbättrades med robustare signatur-normalisering och tydlig webhook-debugg
Webhook-valideringen uppdaterades för att hantera signaturvarianter där mellanslag kan ersätta plus-tecken, samt för att logga säker felsökningsmetadata vid invalid signature. Målet är snabbare isolering av Woo-headerproblem utan att exponera hemligheter.
2026-04-12 11:21
Webhook-signaturvalidering härdades för Woo-varianter
Signaturverifieringen uppdaterades för att hantera vanliga formatvariationer från WooCommerce, inklusive trim av header/secret, stöd för sha256-prefix och jämförelse av både base64- och hex-encoding. Syftet är att undvika falska 401-fel när payloaden i övrigt är korrekt signerad.
2026-04-12 11:18
500-fel i live-webhook löstes med ren produktion-build och tjänst-restart
Felet orsakades av korrupta/splittrade Next.js build-artefakter efter parallell dev- och prod-körning i samma projektmapp. Lösningen blev att stoppa dev-processen, rensa .next, bygga om för produktion och kickstarta launchd-tjänsten. Efter åtgärden svarar webhook-endpointen stabilt med 200 på korrekt signerad request.
2026-04-12 11:08
Publik domän verifierad för adminappen och webhook-endpoint
Efter Nginx- och certifikatsetup verifierades att jhmedia.duckdns.org svarar över HTTPS och proxar korrekt till appen. Webhook-endpointen testades externt och svarade med expected invalid_signature vid osignerad testpayload, vilket bekräftar att signaturkontrollen fungerar i live-miljön.
2026-04-12 11:06
Publik drift för jhmedia förbereddes parallellt med befintliga appar
Domänen jhmedia.duckdns.org uppdaterades till serverns aktuella IP, en separat launchd-tjänst (com.jhab.mediaadmin.server) sattes upp för produktion på port 3200 och en isolerad Nginx-konfig för jhmedia skapades utan att ändra befintliga appers portar eller tjänster. HTTPS-aktivering via Nginx/Certbot är förberedd och kräver endast lokala sudo-steg på servern för att slutföra reload och certifikatinstallation.
2026-04-11 13:12
Servermiljö för Woo-integrationen förbereddes med .env.local
Projektet fick en lokal miljöfil med nödvändiga nycklar för webhook-integrationen: SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY och WOO_WEBHOOK_SECRET. Detta gör att webhook-endpointen kan konfigureras säkert server-side utan att exponera service role i klientkod.
2026-04-11 12:58
WooCommerce webhook och Supabase-integrationslager implementerades i projektet
Projektet fick en produktionsnära integration med ny Next.js endpoint för Woo-webhooks, HMAC-signaturverifiering, idempotent processning av orderrader, produktmappning till böcker och skapande av pending_entitlements. En SQL-migration lades till med alla relevanta tabeller/indexar samt RPC-funktionen claim_pending_entitlements för magic-link-claim efter inloggning. Dokumentation för env-variabler och webhook-setup lades också till för snabb driftstart.
2026-04-11 12:48
Integrationsserver låst till Next.js route handler med Woo-webhook via secret
Beslut togs att implementera webhook-mottagning i rekommenderad Next.js route handler på egen server. WooCommerce konfigureras med webhook och signerad payload där secret verifieras i backend innan data skrivs till Supabase. Detta ger en enkel och säker produktionsväg utan Supabase Edge Functions.
2026-04-11 12:41
Webhook-kontrakt låst till full WooCommerce-payload
Beslut togs att integrationsendpointen ska ta emot hela WooCommerce-orderpayloaden i stället för en reducerad variant. Detta förbättrar felsökning, möjliggör framtida regler utan att ändra Woo-klientkod och ger bättre spårbarhet genom att råpayload kan lagras i commerce_orders.
2026-04-11 12:33
Claim-strategi låst till full körning och enkel mismatch-loggning
Beslut togs att claim_pending_entitlements ska behandla alla claimbara pending-poster i ett kör för inloggad användare. Samtidigt låstes modell där saknad produktmappning loggas som ignored_unmapped i order-item-logg, utan att skapa pending_entitlement-rad. Detta förenklar datamodellen och håller claim-tabellen fokuserad på poster som faktiskt kan ge access.
2026-04-11 12:24
WooCommerce-webhookstrategi fastställd med ny dedikerad server-endpoint
Beslut togs att använda billing.email som canonical email, införa mismatch-vy även för saknad produktmappning och skapa en ny dedikerad integrationsroute för WooCommerce istället för att återanvända befintliga endpoints. Detta ger renare ansvar, enklare säkerhet och bättre felsökning i produktion.
2026-04-11 12:15
WooCommerce-integrationsmodell låstes för pending entitlements med strict email-claim
Integrationsstrategin fastställdes med WooCommerce-order på status processing som källa för access, explicit produkt-id till book_id-mappning och pending-entitlements som claimas efter magic-link-inloggning. Lösningen separerar tydligt köp, identitet och access samt undviker att WooCommerce skapar auth-användare. Beslutet inkluderar strict email-matchning och adminstöd för manuell hantering av mismatch-fall.
2026-04-09 12:03
Intermittenta mock-fel begränsades till skrivoperationer
Slumpmässiga mock-fel togs bort från läsflöden som användarsökning och listning eftersom de störde den dagliga administrationen. Felinjicering behölls i skrivoperationer för att fortsatt kunna testa robust felhantering där den är mest relevant. Resultatet är stabil live-sökning utan att förlora realism i kritiska uppdateringsflöden.
2026-04-09 11:58
Dev-miljön stabiliserades efter chunk-fel vid lokal körning
Ett återkommande Next.js-fel med saknade modulfiler i .next orsakade runtime-problem vid lokal utveckling. Lösningen blev att stoppa den hängande processen och starta om appen rent på samma port. Efter omstart verifierades sidan via localhost utan saknade chunk-resurser, vilket återställde stabil lokal utveckling.
2026-04-09 11:50
Filbaserad changelog infördes med automatisk rendering i adminappen
En central fil med namn 'changelog' fungerar nu som källa för historik under exakt tre kategorier: UX, UI och TECH. En dedikerad changelog-sida läser filen vid render och visar senaste poster överst i varje kategori. Detta gör dokumentationen konsekvent, lättläst och enkel att uppdatera löpande utan att blanda in mellaniterationer.
2026-04-09 11:30
Mock-first backendlager utökades med CSV-import av användare inklusive radresultat
Admin-API-kontraktet fick stöd för bulkimport av användare från CSV och returnerar sammanställd importstatus med created, updated och failed per rad. Mock-implementeringen validerar data och simulerar realistisk hantering av fel. Detta förbereder en trygg övergång till riktig backend med samma API-kontrakt.
2026-04-09 11:24
Projektet etablerades som Next.js-admin med provider-baserat API-byte
Applikationen byggdes med ett internt adminApi-lager där mock-provider är standard och real-provider är en tydlig stub för senare anslutning. Denna struktur valdes för att låta UI utvecklas och godkännas frikopplat från backend, utan att behöva skriva om klientlogik senare.
2026-04-09 11:24
Automatiserad verifiering säkrades med tester och byggkontroller
Mock-API-funktioner täcks av vitest med scenarier för permissions, konflikter, statuslogik och CSV-import. Byggprocessen verifieras med Next build för att säkerställa att appen håller ihop tekniskt när UI och mockflöden utvecklas iterativt.