--- plan_id: 20260519-0928-fix-cookie-injectscripts title: Naprawa bledu injectScripts w Cookie Notice Pro completed: 2026-05-19T09:37:49+02:00 storage: plan-first quality_radar: degraded --- # Summary: Naprawa bledu injectScripts w Cookie Notice Pro ## Objective Usunac blad `Uncaught ReferenceError: injectScripts is not defined` w `cookienoticepro.script.js` bez zmiany konfiguracji GTM, nazw cookies, tekstow prawnych ani logiki Google Consent Mode. ## What Was Built | Area | Result | |------|--------| | Cookie Notice Pro JS | Dodano brakujaca funkcje `const injectScripts = () => {};` w zakresie glownego IIFE. | | Google Consent Mode | Pozostawiono istniejaca obsluge `analytics_storage` bez zmian. | | PAUL docs | Zapisano plan, wynik apply, radar post-apply i finalne SUMMARY. | ## Files Modified - `wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js` - dodano brakujaca funkcje `injectScripts`. - `.paul/plans/20260519-0928-fix-cookie-injectscripts/PLAN.md` - oznaczono plan jako `applied`. - `.paul/plans/20260519-0928-fix-cookie-injectscripts/SUMMARY.md` - zapisano wynik UNIFY. - `.paul/STATE.md` - zamknieto petle i ustawiono nastepna akcje. - `.paul/codebase/tooling_status.md` - dopisano wynik post-apply. - `.paul/codebase/impact_map.md` - dopisano obszar weryfikacji dla bledu cookies. ## Acceptance Criteria Results | Criterion | Status | Evidence | |-----------|--------|----------| | AC-1 | Pass | `injectScripts` ma definicje w tym samym IIFE, a oba istniejace wywolania pozostaly kontrolowane. | | AC-2 | Pass | `googleConsentModeHandler()` nie zostal zmieniony; `window.cookieNoticePro.init()` i eksport pozostaly na miejscu. | | AC-3 | Partial | Statycznie potwierdzono, ze `#cookieAccept` zapisuje `cnp_prefs` przed `googleConsentModeHandler()`, a `analytics_storage: granted` zalezy od preferencji `analytics`. Wymaga jeszcze manualnego sprawdzenia w przegladarce po odswiezeniu. | | AC-4 | Partial | Kod panelu preferencji nie zostal zmieniony i powinien dzialac jak przed poprawka, ale pelna weryfikacja wymaga klikniecia w przegladarce. | ## Verification Results | Check | Result | Notes | |-------|--------|-------| | `rg -n "const injectScripts|function injectScripts|injectScripts\\(" wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js` | Pass | Pokazuje dwa wywolania i jedna definicje `const injectScripts = () => {};`. | | `node --check wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js` | Pass | Skladnia JS poprawna. | | `git diff --check -- wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js` | Pass | Brak bledow whitespace; Git pokazuje tylko ostrzezenie LF/CRLF. | | `php -l wp-content/mu-plugins/cookie-notice-pro/cookie-notice-pro.php` | Skipped | `php` nie jest dostepny w PATH. | | Manual browser: akceptacja i reload | Skipped | Do wykonania na dzialajacej stronie: sprawdzic brak `ReferenceError` i `analytics_storage: granted` po odswiezeniu. | ## Quality Radar Results **Status:** degraded - New risks: brak nowych ryzyk kodowych poza wymaganiem manualnej weryfikacji Consent Mode. - Resolved risks: usunieto brakujaca definicje `injectScripts`, ktora powodowala runtime `ReferenceError`. - Deferred risks: pelne mapowanie MCP odlozone; projekt nadal nie jest widoczny w rejestrze MCP przy odczycie architektury. - Raw outputs: `.paul/codebase/radar/codebase-memory-full.txt` ## Deviations - Nie wykonano `php -l`, bo `php` nie jest dostepny w PATH. - Nie wykonano manualnej weryfikacji w przegladarce w tej sesji. - Nie kopiowano calego skryptu z `luxmedkrakow.pl`, bo analiza pokazala inne roznice konfiguracji i zgodna logike `analytics_storage` w tej instancji. ## Key Decisions / Patterns - Wybrano minimalna poprawke kompatybilna z poprzednia instancja: `const injectScripts = () => {};`. - Nie zmieniano `googleConsentModeHandler()`, bo sciezka analityki byla juz zgodna z referencja. - Pelne sprawdzenie dzialania analityki pozostaje testem manualnym na stronie po zapisaniu cookies i odswiezeniu. ## Follow-up - W przegladarce wyczysc cookies `cnp_*`, kliknij `Akceptuj`, odswiez strone i sprawdz brak `ReferenceError` oraz `analytics_storage: granted`. - Jesli analityka nadal nie dziala po reloadzie, utworzyc osobny plan dla logiki Consent Mode zamiast podmieniac caly skrypt.