8.8 KiB
8.8 KiB
plan_id, title, storage, legacy_phase, created, status, type, autonomous, delegation, files_modified, quality_radar
| plan_id | title | storage | legacy_phase | created | status | type | autonomous | delegation | files_modified | quality_radar | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 20260519-0928-fix-cookie-injectscripts | Naprawa bledu injectScripts w Cookie Notice Pro | plan-first | null | 2026-05-19T09:28:06+02:00 | applied | execute | true | auto |
|
degraded |
Purpose
Blad przerywa sciezke akceptacji cookies i moze blokowac poprawne zapisanie preferencji oraz aktualizacje Google Consent Mode.
Output
Zmodyfikowany plik wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js z lokalna, bezpieczna obsluga brakujacego injectScripts().
Source Files
@wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js @wp-content/mu-plugins/cookie-notice-pro/cookie-notice-pro.php
- Brak dodatkowych wyjasnien wymaganych. Komunikat z konsoli wskazuje dokladny blad i plik. - Uzytkownik wskazal poprzednia instancje `c:\visual studio code\projekty\luxmedkrakow.pl\`; tam poprawka polegala na dodaniu `const injectScripts = () => {};` w `cookienoticepro.script.js`. - Porownanie sekcji `googleConsentModeHandler()` pokazalo, ze obsluga `analytics_storage` jest zgodna z referencja. Pelne kopiowanie skryptu nie jest zalecane, bo referencja zawiera inne roznice konfiguracyjne i dodatkowa obsluge `functionality_storage`/`personalization_storage`.<impact_scan>
Quality Radar
Status: degraded
Tools: codebase-memory-mcp dostepny, ale projekt nie jest widoczny w rejestrze MCP przy odczycie; jscpd i ast-grep sa disabled by policy.
Affected Areas
wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js- glowna logika banera cookies, preferencji i Google Consent Mode.wp-content/mu-plugins/cookie-notice-pro/cookie-notice-pro.php- ladowanie skryptu i inicjalizacjawindow.cookieNoticePro.init()w stopce.- Publiczna strona WordPress -
mu-pluginladuje sie globalnie. - Referencja:
c:\visual studio code\projekty\luxmedkrakow.pl\wp-content\mu-plugins\cookie-notice-pro\assets\cookienoticepro.script.js:401zawiera sprawdzona poprawkeconst injectScripts = () => {};. - Referencyjna sekcja
analytics_storagedziala tak samo jak w tej instancji; wymaganie analityki po odswiezeniu powinno byc zweryfikowane manualnie po przeniesieniu brakujacej funkcji.
Duplicate / Hardcoded Risks
- Konfiguracja cookies i Google Consent Mode jest hardcoded w
cookienoticepro.script.js; poprawka ma nie zmieniac wartosci konfiguracji. - Elementor i WordPress moga dodawac logike poza repozytorium; weryfikacja musi obejmowac zachowanie w przegladarce.
Explicit Deferrals
- Pelne mapowanie repozytorium przez
$paul-map-codebaseodlozone, bo zakres poprawki jest waski i dotyczy jednego bledu runtime. - Nie wlaczamy
jscpdaniast-grep, bo sa wylaczone w.paul/config.md. - Nie kopiujemy calego pliku z
luxmedkrakow.pl, bo zawiera inne roznice konfiguracji i logiki consent. Przenosimy tylko minimalna poprawke brakujacej funkcji. - Jesli po wdrozeniu minimalnej poprawki analityka nadal nie dziala po reloadzie, dopiero wtedy wykonac drugi, kontrolowany plan dla logiki Consent Mode zamiast podmieniac caly skrypt. </impact_scan>
<acceptance_criteria>
AC-1: Klikniecie akceptacji nie powoduje ReferenceError
Given baner cookies jest widoczny i `showSettingsBtn` ma wartosc `true`
When uzytkownik klika `#cookieAccept`
Then konsola przegladarki nie pokazuje `Uncaught ReferenceError: injectScripts is not defined`
And cookie zgody oraz preferencji sa nadal zapisywane
AC-2: Istniejaca obsluga Google Consent Mode zostaje zachowana
Given `enableGoogleConsentMode` ma wartosc `true`
When uzytkownik akceptuje cookies albo wraca na strone z istniejaca zgoda
Then `googleConsentModeHandler()` nadal wykonuje sie bez zmiany konfiguracji GTM ani wartosci zgody
AC-3: Analityka dziala po akceptacji zgody i odswiezeniu strony
Given uzytkownik zaakceptowal zgody cookies z wlaczona preferencja `analytics`
When strona zostaje odswiezona
Then zapisane `cnp_prefs` nadal zawiera `analytics`
And Google Consent Mode ustawia `analytics_storage` na `granted`
And tagi analityczne moga uruchomic sie przez GTM zgodnie z udzielona zgoda
AC-4: Panel preferencji nadal dziala
Given uzytkownik otwiera ustawienia cookies przez `#cookieSettings`, `#cookieReject` albo zminimalizowana ikone
When wybiera preferencje i zatwierdza
Then baner zapisuje wybrane preferencje i nie tworzy dodatkowych bledow JS
</acceptance_criteria>
Task 1: Przenies minimalna poprawke injectScripts z poprzedniej instancji wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js Dodaj `const injectScripts = () => {};` w zakresie glownego IIFE, analogicznie do poprzedniej instancji `luxmedkrakow.pl`, najlepiej przed `changeRootVariables`. Nie kopiuj calego pliku referencyjnego i nie zmieniaj konfiguracji, tekstow, linkow ani logiki `googleConsentModeHandler()`. rg -n "const injectScripts|function injectScripts|injectScripts\\(" wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js Spelnia AC-1 i nie zmienia konfiguracji z AC-2 oraz AC-3. Task 2: Zweryfikuj zachowanie analityki po reloadzie wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js Sprawdz, czy aktualna sciezka po zaakceptowaniu cookies zapisuje `analytics` w `cnp_prefs`, a po odswiezeniu strony `googleConsentModeHandler()` odczytuje te preferencje i ustawia `analytics_storage: granted`. Jezeli samo dodanie no-op `injectScripts` nie wystarczy, popraw tylko minimalny fragment odpowiedzialny za odczyt/zapis preferencji albo kolejnosc wywolania `googleConsentModeHandler()`. Nie zmieniaj nazw cookies ani konfiguracji GTM. Manualnie: wyczysc `cnp_*`, zaakceptuj zgody, odswiez strone, sprawdz `cnp_prefs` i Consent Mode dla `analytics_storage`. Spelnia AC-2 i AC-3 bez rozszerzania zakresu poza cookies/consent. Task 3: Zweryfikuj brak regresji runtime wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js, wp-content/mu-plugins/cookie-notice-pro/cookie-notice-pro.php Sprawdz skladnie i sciezke inicjalizacji: PHP nadal laduje `cnp-script`, footer nadal wywoluje `window.cookieNoticePro.init()`, a JS nadal eksportuje `window.cookieNoticePro`. php -l wp-content/mu-plugins/cookie-notice-pro/cookie-notice-pro.php; rg -n "window\\.cookieNoticePro|injectScripts|googleConsentModeHandler" wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js Spelnia AC-2, AC-3 i potwierdza, ze poprawka nie narusza inicjalizacji pluginu. ## Do Not Change - Nie zmieniac `wp-config.php`. - Nie zmieniac `CNP_GTM_ID`. - Nie zmieniac wartosci cookie names: `cnp_consent`, `cnp_prefs`, `cnp_gconsent_ad_prefs`, `cnp_gconsent_analytics_storage`. - Nie przebudowywac wygladu banera ani tekstow prawnych.Scope Limits
- Zakres obejmuje naprawe bledu
injectScripts is not defined. - Pelna refaktoryzacja Cookie Notice Pro jest poza zakresem.
- Integracje z dodatkowymi skryptami marketingowymi/analitycznymi sa poza zakresem, chyba ze istnieja juz w tym pliku.
<success_criteria>
- Wszystkie AC przechodza.
- Weryfikacja wykonana lub brak mozliwosci weryfikacji opisany w SUMMARY.md.
.paul/codebase/impact_map.mdi.paul/codebase/tooling_status.mdzostaly odswiezone, jezeli w apply pojawia sie istotna zmiana zakresu. </success_criteria>