Maintenance #340
stängdMaintenance #135: Produktionshårdning och slutregression
Maintenance #337: Driftsätt avgränsad gästpilot med verifierad återgång
Låt kioskens skanner öppna kategori-QR
100%
Beskrivning
Syfte: låt kioskens inbyggda kamera-/kodskanner känna igen de kategori-QR som Föreningskiosk själv skapar och navigera till rätt organisations filtrerade artikellista. Definition of Done: endast exakt lokal genererad kiosk-QR med ett ensamt giltigt category-värde accepteras, antingen ett positivt numeriskt kategori-id eller systemvärdet other för Övrigt; organisation och kategori verifieras serverside; samma eller annan aktiv förenings giltiga kategori öppnas utan varukorgsändring; ogiltig, främmande, borttagen eller manipulerad kategori faller säkert tillbaka eller nekas enligt befintligt kiosk-QR-beteende; godtyckliga URL:er, extra parametrar och artikel-QR-regler breddas inte. Automatiska enhets-, integration- och frontendkontraktstest passerar samt fysisk mobilkontroll görs i den aktuella produktionskandidaten. Utanför scope: nya QR-format, ändrad QR-utskrift, köpbekräftelse eller personuppgifter. Miljö: isolerad test först; separat godkänd produktionsleverans krävs.
Acceptanskriterier
PASS kräver att kioskens skanner öppnar rätt kategori från Föreningskiosks egen kategori-QR, inklusive Övrigt (category=other), utan varukorgsändring eller stöd för godtyckliga URL:er, med negativa säkerhetstest och fysisk mobilverifiering.
Testresultat
PASS: isolerad CI, parser- och frontendregression, revisionslåst produktionspreflight/aktivering samt fysisk mobilskanning av Övrigt godkända. Kategori öppnades korrekt; automatiska prov bekräftar oförändrad varukorg och fortsatt avvisning av manipulerade länkar.
CA Uppdaterad av Codex API för 8 dagar sedan
Avvikelsen reproducerad och orsaken verifierad: den genererade kategori-QR:n innehåller en lokal kiosk-token med category-frågeparameter, medan skannerns tillåtelselista endast accepterade token utan parameter. Lokal korrigering omfattar sex filer: strikt parser för exakt category-form, serververifiering mot QR-tokenens organisation, begränsad intern navigering samt enhets-, MariaDB-integrations- och webbläsartestfall. Lokalt PASS: PHP-syntax, fristående positiva/negativa parserprov, Vite-produktionsbygge och git diff-kontroll. Lokal Composer vendor och Playwright saknas, så fulla riktade tester ska köras i isolerad CI efter commit. Ingen produktionsrelease eller data har ändrats.
CA Uppdaterad av Codex API för 8 dagar sedan
Commit c75b90e är pushad och isolerad CI är godkänd: 89 tester/676 assertions, 197 tester/3584 assertions och Vite-bygge PASS. Releasearkivets SHA-256 är d59998b2322fc811a30f7734958f51b0a08c0f5880cf65bf1061af0c88fe631f. Ett separat produktionsunderlag är framtaget lokalt för exakt föregående/ny release, oförändrad pilotkonfiguration och delad lagring, parser-/TLS-/flaggkontroll, atomisk växling samt automatisk appåtergång. Lokala leveranstester, Python-kompilering, PHP-syntax och diffkontroll passerar. Produktionsförberedelse och fysisk mobilverifiering återstår och har inte körts.
CA Uppdaterad av Codex API för 8 dagar sedan
Verifierat leveranspaket skapat på Remembrance: /home/bj/.local/share/foreningskiosk-category-qr-340-224a586.tar.gz, SHA-256 6b8f24fcc873d7d939c7070dde9be5cb8918d59690d2f7ac553f33d8ba0d3c74. Paketet innehåller verktyg från 224a586 och godkänt releasearkiv c75b90e med SHA-256 d59998b2322fc811a30f7734958f51b0a08c0f5880cf65bf1061af0c88fe631f. Pakettest, nätverkslös PHP-syntaxkontroll och inre checksumma passerar. Direkt SSH från arbetsstationen till Webserver saknar DNS-väg; manuell överföring till Webservers privata staging återstår.
CA Uppdaterad av Codex API för 8 dagar sedan
Leveranspaketet överfördes till Webservers privata staging och verifierades: yttre SHA-256 OK, supportrevision 224a586, releaserevision c75b90e, fyra leveranstester PASS, PHP-syntax PASS och release.tar.gz SHA-256 OK. Ingen inaktiv release har ännu installerats och aktiv produktion är oförändrad.
CA Uppdaterad av Codex API för 8 dagar sedan
Inaktiv release c75b90ebc8b3b3aae62bd068f243f150cf387dda är nu förberedd på Webserver. Exakt releaseinstallation, produktionssäkerhet, databas-TLS, rutter, kategori-QR-parser, pilotflaggor, Apache-syntax och PHP-FPM-konfiguration verifierades. Aktiv current-länk, databas, konfiguration, flaggor, tjänster, backup-timers och testdata ändrades inte. Aktivering och fysisk mobilverifiering återstår.
CA Uppdaterad av Codex API för 8 dagar sedan
Release c75b90ebc8b3b3aae62bd068f243f150cf387dda aktiverades på Webserver. Förkontroll av produktionskonfiguration, TLS, rutter, QR-parser och pilotflaggor PASS; atomisk växling och PHP-FPM reload PASS; autentiserad/anon health, kiosk, skanner, varukorg, adminlogin, privata sökvägar och exakta publicerade assets PASS. Ingen databas, konfiguration, feature flag, persondata, köp eller backup-timer ändrades. Fysisk mobilverifiering av genererad kategori-QR i den interna skannern återstår.
CA Uppdaterad av Codex API för 8 dagar sedan
Fysisk produktionsverifiering underkänd: kioskens interna skanner visar fortfarande 'QR-koden är inte en giltig kiosk- eller artikellänk här' för kategori-QR. Release c75b90e är fortsatt aktiv; automatiska kontroller passerade men den syntetiska parserkontrollen motsvarar uppenbarligen inte hela verkliga flödet. Nästa skrivskyddade avgränsning är att prova samma nygenererade produktions-QR som direktlänk och därefter klistra in exakt URL manuellt i skannern. Detta skiljer generator/token från kameraavkodning/request-origin utan dataändring.
CA Uppdaterad av Codex API för 8 dagar sedan
Diagnostiken avgränsade rotorsaken: samma nygenererade produktions-QR öppnar rätt kategori direkt, men exakt URL inklistrad manuellt i skannern avvisas. Generator, token och kategori är därmed giltiga; skanner-endpointen jämförde mot requestens interna scheme/host i stället för den validerade publika APP_URL som QR-generatorn använder. Lokal korrigering använder nu QrPrint::baseUrl() i ScannerController. Integrationstestet sätter avsiktligt publik QR-origin skild från request-origin och täcker kiosk-, kategori- och artikel-QR. PHP-syntax och diffkontroll PASS; full isolerad CI återstår efter godkänd commit.
CA Uppdaterad av Codex API för 8 dagar sedan
Origin-korrigeringen är pushad som 1600353685f8f1e7e4f81426d85794a24042cbd2 och exakt isolerad CI är PASS: 89 tester/676 assertions, 197 tester/3584 assertions samt Vite-bygge. Releasearkivets SHA-256 är d4443829bfbfe83c7f58bd08adae0a91d4568030a77d0bc424c6e05677326cbd. Ett separat, ännu ej committat leveransunderlag från aktiv c75b90e till 1600353 har tagits fram med egen releasekontroll av publik QrPrint-basadress, ScannerController-injektion, TLS, rutter och pilotflaggor. Lokala leveranstester, Python-kompilering, PHP-syntax och diffkontroll PASS. Ingen ny produktionsförberedelse eller aktivering har gjorts.
CA Uppdaterad av Codex API för 8 dagar sedan
Leveransunderlaget är committat/pushat som 898552affdbbcc70062c3bc8c189389296cd095d. Verifierat stagingpaket skapat på Remembrance: /home/bj/.local/share/foreningskiosk-category-qr-origin-340-898552a.tar.gz, SHA-256 da2d6d568fde677eb9576d5a307adfc741114181f97bd44a08bd24f4d6b12a21. Paketet innehåller release 1600353 med inre SHA-256 d4443829bfbfe83c7f58bd08adae0a91d4568030a77d0bc424c6e05677326cbd. Båda leveranstesterna, Python-kompilering, nätverkslös PHP-syntaxkontroll och inre checksumma PASS. Webserver och aktiv produktion är ännu oförändrade sedan c75b90e.
CA Uppdaterad av Codex API för 8 dagar sedan
Det andra leveranspaketet överfördes till Webservers privata staging och verifierades: yttre SHA-256 OK, supportrevision 898552a, releaserevision 1600353, fyra basleveranstester PASS, originleveranstest PASS, PHP-syntax PASS och release.tar.gz SHA-256 OK. Aktiv produktion är fortsatt c75b90e; inaktiv förberedelse av 1600353 återstår.
CA Uppdaterad av Codex API för 8 dagar sedan
Första --prepare för 1600353 stoppade säkert under initial checks, före releaseinstallation eller annan ändring. Orsak: det återanvända leveransskriptet kopplade felaktigt pilotkonfigurationens ursprungliga hashbevis till den föregående appreleasen c75b90e; beviset hör permanent till #337-revision 17aa9ce. Lokal korrigering inför separat PILOT_CONFIG_REVISION=17aa9ce och två tester som säkerställer att denna inte följer OLD vid framtida appuppgraderingar. Fem basleveranstester och originleveranstest PASS, Python-kompilering och diffkontroll PASS.
CA Uppdaterad av Codex API för 8 dagar sedan
Leveransfixen är committad/pushad som 8f0dc1c99c1213d45bb2d25acb8a269645e3bf4e. Ett nytt komplett paket, utan blandning med föregående supportrevision, finns på Remembrance: /home/bj/.local/share/foreningskiosk-category-qr-origin-340-8f0dc1c.tar.gz, SHA-256 bcabc10879f09815ae45d124092686bc165d6b991c3a11aee01eff467c8b6c23. Samma godkända release 1600353/d4443829 ingår. Fem basleveranstester, originleveranstest, Python-kompilering, nätverkslös PHP-syntaxkontroll och inre checksumma PASS.
CA Uppdaterad av Codex API för 8 dagar sedan
Det korrigerade paketet 8f0dc1c överfördes till Webservers privata staging och verifierades: yttre SHA-256 OK, supportrevision 8f0dc1c, releaserevision 1600353, fem basleveranstester PASS, originleveranstest PASS, PHP-syntax PASS och release.tar.gz SHA-256 OK. Ny inaktiv prepare har ännu inte körts; aktiv produktion är fortsatt c75b90e.
CA Uppdaterad av Codex API för 8 dagar sedan
Den korrigerade inaktiva förberedelsen lyckades. Release 1600353685f8f1e7e4f81426d85794a24042cbd2 installerades och verifierades mot produktionssäkerhet, databas-TLS, rutter, publik QR-origin/parser och pilotflaggor. Apache- och PHP-FPM-syntax PASS. Aktiv current-länk är fortsatt c75b90e och databas, konfiguration, feature flags, tjänster, backup-timers och testdata ändrades inte. Aktivering och fysisk mobilverifiering återstår.
CA Uppdaterad av Codex API för 8 dagar sedan
Release 1600353685f8f1e7e4f81426d85794a24042cbd2 aktiverades på Webserver. Kontroll av publik QR-origin, produktionskonfiguration, TLS, rutter, parser och pilotflaggor PASS; atomisk växling/PHP-FPM reload PASS; autentiserad/anon health, kiosk, skanner, varukorg, adminlogin, privata sökvägar och exakta assets PASS. Ingen databas, konfiguration, flagga, persondata, köp eller backup-timer ändrades. Fysisk kontroll med nygenererad kategori-QR återstår.
CA Uppdaterad av Codex API för 8 dagar sedan
Efter aktivering kvarstår kamerafelet. Den rapporterade manuella kontrollen använde dock måladressen efter QR-omdirigeringen (/kiosk/{id}?category=...), vilken avsiktligt saknar token och ska avvisas. Nästa avgränsning är att på QR-utskriftssidan kopiera själva href för 'Öppna länken' utan att öppna den och klistra in exakt den tokeniserade /k/{token}?category=...-URL:en manuellt i produktionsskannern. Detta avgör om återstående fel ligger i serverflödet eller mobilens kameraavkodning.
CA Uppdaterad av Codex API för 8 dagar sedan
- Beskrivning uppdaterad (skillnader)
- Acceptanskriterier uppdaterad (skillnader)
Fysisk verifiering identifierade exakt rotorsak: Föreningskiosks egen QR för Övrigt använder /k/?category=other. Kiosksidan stöder redan värdet, men skannerns PHP-parser och frontendens navigeringsfilter tillåter endast numeriska kategori-id:n och avvisar därför länken. Rättningen begränsas till att tillåta systemvärdet other i dessa två befintliga säkerhetsfilter och komplettera regressionsprov; övriga URL-format förblir nekade.
CA Uppdaterad av Codex API för 8 dagar sedan
Korrigeringen är implementerad lokalt. PHP-parsern och frontendens navigeringsfilter accepterar nu exakt category=other utöver positiva numeriska kategori-id:n. Regressionsprov täcker parserns tillåtna/nekade former, QR-utskrift för Övrigt, servernavigation utan varukorgsändring och frontendnavigation. PASS: git diff --check, PHP-syntax för fyra filer, JavaScript-syntax, fristående parserkontrakt, Vite-produktionsbygge och riktat Playwright-skannerprov. Full isolerad PHP/MariaDB-CI återstår efter godkänd commit.
CA Uppdaterad av Codex API för 8 dagar sedan
Commit 1af180a skapad på main och pushad till ssh://bj@remembrance/srv/git/Foreningskiosk.git. Serverns isolerade CI rapporterade PASS för exakt revision 1af180a6bb935ec5d7ca2f2b6338dadabf003b9a och skapade release-artefakt under den revisionslåsta CI-körningen. Lokal main och origin/main är identiska och arbetskopian är ren. Ingen produktionsändring gjordes.
CA Uppdaterad av Codex API för 8 dagar sedan
Produktionsaktivering godkänd av användaren. Revisionslåst leveransstöd har tagits fram lokalt för aktiv release 1600353 -> kandidat 1af180a med CI-artefakt SHA-256 38d406080f30ee69be926f453e6bc2c04fd4faf3d2787ef83d1a5225e00f1089. Preflight kontrollerar produktion/TLS/flaggor/rutter, category=other och numerisk kategori samt fortsatt avvisning av extra parametrar och artikel-QR med kategori. Leveranstester, Python-kompilering, PHP-syntax och diffkontroll PASS. Ingen driftändring gjord ännu; leveransstödet inväntar commit/push.
CA Uppdaterad av Codex API för 8 dagar sedan
Leveranscommit 119dbc1c8fc88f5cff8016d96c6a50dec2bbb62e pushad till main och CI PASS. Revisionslåst överföringspaket byggt på remembrance: /home/bj/.local/share/foreningskiosk-category-qr-other-340-119dbc1.tar.gz, SHA-256 b38e7dffc3f3c2e870edc4765e08fa673872eacb9602b7a86b7221909e80200b. Paketets leveranstester, Python-kompilering och inbäddade release-checksumma PASS; PHP-kontrollen hade redan lintats lokalt. Ingen produktionsändring gjord ännu.
CA Uppdaterad av Codex API för 8 dagar sedan
Webserver verifierade överföringspaketet: paket-SHA OK, supportrevision 119dbc1c8fc88f5cff8016d96c6a50dec2bbb62e, apprelease 1af180a6bb935ec5d7ca2f2b6338dadabf003b9a, samtliga tre leveranstestsviter PASS, Python-kompilering utan fel, PHP-syntax PASS och inbäddad release.sha256 PASS. Nästa steg är inaktiv --prepare; ingen aktiv release har ännu ändrats.
CA Uppdaterad av Codex API för 8 dagar sedan
Inaktiv release 1af180a6bb935ec5d7ca2f2b6338dadabf003b9a förbereddes på Webserver. Produktionskonfiguration, verifierad databas-TLS, rutter, parser, pilotflaggor, Apache-konfiguration och PHP-FPM-syntax PASS. current, databas, konfiguration, feature flags, tjänster, backup-timer och testdata förblev oförändrade. Godkänd --apply är nästa steg.
CA Uppdaterad av Codex API för 8 dagar sedan
Produktionsrelease 1af180a6bb935ec5d7ca2f2b6338dadabf003b9a aktiverad på Webserver. Preflight för produktion/TLS/rutter/parser/flaggor PASS, vycache rensad, Apache- och PHP-FPM-syntax PASS, atomiskt releasebyte och PHP-FPM-reload PASS. HTTPS: /up 200 med auth och 401 anonymt; kiosk, skanner, varukorg och adminlogin 200; privata sökvägar 403/404; publicerade JS/CSS 200 med auth och 401 anonymt. Ingen databas, konfiguration, feature flag, persondata, köp eller backup-timer ändrades. Fysisk mobilverifiering av QR för Övrigt återstår.
CA Uppdaterad av Codex API för 8 dagar sedan
- Testresultat uppdaterad (skillnader)
Fysisk produktionsverifiering godkänd av användaren: kioskens interna mobilskanner öppnade artikelskategorin Övrigt från den genererade kategori-QR-koden. Detta kompletterar automatiska regressionsprov som verifierar att kategori-QR navigerar utan varukorgsändring, att numeriska kategorier fortsatt fungerar och att främmande/manipulerade URL-format nekas. Aktiv release: 1af180a6bb935ec5d7ca2f2b6338dadabf003b9a. Acceptanskriterierna är uppfyllda.