update
This commit is contained in:
23
.paul/PROJECT.md
Normal file
23
.paul/PROJECT.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Projekt: kregoslup.luxmedkrakow.pl
|
||||
|
||||
## Opis
|
||||
|
||||
Projekt jest instalacja WordPress dla serwisu `kregoslup.luxmedkrakow.pl`. Obecna struktura wskazuje na motyw `hello-elementor`, wlasne `mu-plugins` oraz dodatek `elementor-addon`.
|
||||
|
||||
## Wartość
|
||||
|
||||
Serwis ma wspierac obecność online uslugi lub placowki zwiazanej z kregoslupem pod domena `kregoslup.luxmedkrakow.pl`, z naciskiem na stabilne dzialanie strony i bezpieczne rozwijanie zmian w warstwie WordPress.
|
||||
|
||||
## Aktualny status
|
||||
|
||||
- PAUL zostal zainicjalizowany w trybie plan-first.
|
||||
- Aktywne plany beda przechowywane w `.paul/plans/`.
|
||||
- Roadmapy i milestone sa opcjonalnym kontekstem legacy, nie wymaganym do pracy.
|
||||
- Quality Radar jest wlaczony w konfiguracji jako lekki mechanizm wsparcia planowania.
|
||||
|
||||
## Trwale wymagania i ograniczenia
|
||||
|
||||
- Nie nadpisywac plikow WordPress, motywow, pluginow ani konfiguracji bez konkretnego planu.
|
||||
- Traktowac `wp-config.php` jako plik wrazliwy; nie zapisywac sekretow w dokumentacji PAUL.
|
||||
- Preferowac male, planowane zmiany z jasna weryfikacja manualna lub testowa.
|
||||
- Przy analizie kodu preferowac narzedzia MCP Codebase Knowledge Graph, a dopiero potem `rg` dla plikow konfiguracyjnych, tekstow i zasobow niekodowych.
|
||||
50
.paul/STATE.md
Normal file
50
.paul/STATE.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# Stan PAUL
|
||||
|
||||
## Project Reference
|
||||
|
||||
- Projekt: `kregoslup.luxmedkrakow.pl`
|
||||
- Katalog roboczy: `c:\visual studio code\projekty\kregoslup.luxmedkrakow.pl`
|
||||
- Tryb pracy: plan-first
|
||||
- Magazyn planow: `.paul/plans/`
|
||||
|
||||
## Current Position
|
||||
|
||||
Plan: `20260519-0928-fix-cookie-injectscripts` complete
|
||||
Status: Loop complete, ready for next PLAN
|
||||
Last activity: 2026-05-19T09:37:49+02:00 - Unified `.paul/plans/20260519-0928-fix-cookie-injectscripts/PLAN.md`
|
||||
|
||||
Progress:
|
||||
- Plan: [##########] 100%
|
||||
|
||||
## Loop Position
|
||||
|
||||
Current loop state:
|
||||
```text
|
||||
PLAN --> APPLY --> UNIFY
|
||||
ok ok ok [Loop complete - ready for next PLAN]
|
||||
```
|
||||
|
||||
## Session Continuity
|
||||
|
||||
- Last session: 2026-05-19T09:37:49+02:00
|
||||
- Stopped at: Plan `20260519-0928-fix-cookie-injectscripts` unified
|
||||
- Next action: Manualnie sprawdz cookies/analityke w przegladarce albo uruchom `$paul-plan [work]` dla kolejnego zadania.
|
||||
- Resume file: `.paul/plans/20260519-0928-fix-cookie-injectscripts/SUMMARY.md`
|
||||
- Aktywne blokery: brak.
|
||||
- Aktywne decyzje: uzywamy `.paul/plans/` jako podstawowego miejsca dla planow.
|
||||
|
||||
## Git State
|
||||
|
||||
Repozytorium bylo czyste przed inicjalizacja PAUL. Zmiany dodaja tylko katalog `.paul/` i dokumenty inicjalizacyjne.
|
||||
|
||||
## Radar
|
||||
|
||||
Quality Radar jest wlaczony w `.paul/config.md`. Wyniki bootstrap znajduja sie w:
|
||||
|
||||
- `.paul/codebase/impact_map.md`
|
||||
- `.paul/codebase/quality_risks.md`
|
||||
- `.paul/codebase/tooling_status.md`
|
||||
|
||||
## Next Action
|
||||
|
||||
Manualnie sprawdz cookies/analityke w przegladarce albo uruchom `$paul-plan [work]` dla kolejnego zadania.
|
||||
16
.paul/changelog/2026-05-19.md
Normal file
16
.paul/changelog/2026-05-19.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# 2026-05-19
|
||||
|
||||
## Co zrobiono
|
||||
|
||||
- [Plan 20260519-0928-fix-cookie-injectscripts] Naprawiono blad `Uncaught ReferenceError: injectScripts is not defined` w Cookie Notice Pro.
|
||||
- Dodano brakujaca funkcje `const injectScripts = () => {};` bez zmiany logiki `googleConsentModeHandler()`.
|
||||
- Potwierdzono statycznie, ze sciezka `analytics_storage: granted` pozostaje powiazana z preferencja `analytics` w `cnp_prefs`.
|
||||
|
||||
## Zmienione pliki
|
||||
|
||||
- `wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js`
|
||||
- `.paul/plans/20260519-0928-fix-cookie-injectscripts/PLAN.md`
|
||||
- `.paul/plans/20260519-0928-fix-cookie-injectscripts/SUMMARY.md`
|
||||
- `.paul/STATE.md`
|
||||
- `.paul/codebase/tooling_status.md`
|
||||
- `.paul/codebase/impact_map.md`
|
||||
35
.paul/codebase/impact_map.md
Normal file
35
.paul/codebase/impact_map.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Impact Map
|
||||
|
||||
## Tryb
|
||||
|
||||
- Skan: bootstrap/no code changes
|
||||
- Status: wstepny
|
||||
|
||||
## Prawdopodobne domeny i moduly
|
||||
|
||||
- Rdzen WordPress w katalogu glownym.
|
||||
- Motyw `wp-content/themes/hello-elementor`.
|
||||
- Wlasne lub lokalne rozszerzenia w `wp-content/mu-plugins/`.
|
||||
- Dodatek `wp-content/plugins/elementor-addon`.
|
||||
|
||||
## Powiazane pliki
|
||||
|
||||
- `wp-config.php` - konfiguracja instalacji; traktowac jako wrazliwa.
|
||||
- `wp-content/mu-plugins/elementor-webhook-relay.php` - potencjalna logika integracyjna.
|
||||
- `wp-content/mu-plugins/cookie-notice-pro-loader.php` i `wp-content/mu-plugins/cookie-notice-pro/` - logika cookie notice.
|
||||
- `wp-content/plugins/elementor-addon/` - potencjalne widgety lub rozszerzenia Elementor.
|
||||
- `wp-content/themes/hello-elementor/` - motyw i zasoby frontendu.
|
||||
|
||||
## Obszary weryfikacji
|
||||
|
||||
- Widoki publiczne strony po zmianach w motywie lub Elementor.
|
||||
- Zachowanie `mu-plugins`, szczegolnie webhooki i komunikaty cookies.
|
||||
- Formularze, popupy i widgety Elementor po zmianach w `elementor-addon`.
|
||||
- Konfiguracja permalinkow i reguly `.htaccess`, jezeli praca dotyka routingu.
|
||||
- Dla planu `20260519-0928-fix-cookie-injectscripts`: klikniecie `#cookieAccept`, ponowne wejscie z istniejaca zgoda, otwarcie preferencji przez `#cookieSettings` i zminimalizowana ikone.
|
||||
|
||||
## Ukryte sprzezenia
|
||||
|
||||
- Elementor moze przechowywac krytyczna strukture stron w bazie danych, poza repozytorium.
|
||||
- `mu-plugins` laduja sie automatycznie i moga wplywac na cala instalacje.
|
||||
- Aktualizacje motywu lub pluginow WordPress moga nadpisac pliki spoza wlasnych rozszerzen.
|
||||
22
.paul/codebase/quality_risks.md
Normal file
22
.paul/codebase/quality_risks.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Quality Risks
|
||||
|
||||
## Status
|
||||
|
||||
Skan bootstrap jest lekki i nie wykonuje pelnej analizy duplikacji ani wzorcow AST. Pelniejsze ryzyka powinny zostac odswiezone przez `$paul-map-codebase`.
|
||||
|
||||
## Ryzyka wstepne
|
||||
|
||||
- `wp-config.php` moze zawierac sekrety i dane srodowiskowe; nie przenosic ich do dokumentacji ani logow.
|
||||
- `mu-plugins` maja globalny wplyw na WordPress i wymagaja ostroznej weryfikacji po zmianach.
|
||||
- Logika Elementor moze byc czesciowo w bazie danych, wiec sama analiza plikow nie pokazuje pelnego zachowania strony.
|
||||
- Wtyczki i motywy vendorowe moga byc aktualizowane z zewnatrz; preferowac zmiany w warstwie wlasnej.
|
||||
|
||||
## Narzedzia ciezsze
|
||||
|
||||
- `jscpd`: disabled by policy.
|
||||
- `ast-grep`: disabled by policy.
|
||||
|
||||
## Znane ograniczenia
|
||||
|
||||
- Codebase Knowledge Graph zwrocil sukces indeksowania, ale projekt nie byl widoczny w rejestrze przy odczycie architektury.
|
||||
- Raport nie zawiera pelnej listy tras, klas ani zaleznosci.
|
||||
19
.paul/codebase/radar/codebase-memory-full.txt
Normal file
19
.paul/codebase/radar/codebase-memory-full.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
Mode: full
|
||||
Scope: bootstrap/no code changes
|
||||
Timestamp: 2026-05-19
|
||||
|
||||
MCP status:
|
||||
- codebase-memory-mcp tools are available in the session.
|
||||
- codebase-memory-mcp CLI version: 0.6.1.
|
||||
- Indexed projects before bootstrap: D-notatnik-ai.
|
||||
- Current repository was not listed as indexed before PAUL init.
|
||||
- index_repository(mode=fast) returned status indexed for project c-visual studio code-projekty-kregoslup.luxmedkrakow.pl.
|
||||
- Follow-up list_projects/get_architecture did not expose the project, so architecture extraction is degraded for this bootstrap.
|
||||
|
||||
Fallback discovery:
|
||||
- Repository shape: WordPress installation.
|
||||
- Visible custom areas: wp-content/mu-plugins, wp-content/plugins/elementor-addon, wp-content/themes/hello-elementor.
|
||||
- Git status before PAUL init: clean.
|
||||
|
||||
Deferred:
|
||||
- Run $paul-map-codebase for full repository indexing and richer impact graph.
|
||||
56
.paul/codebase/tooling_status.md
Normal file
56
.paul/codebase/tooling_status.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# Tooling Status
|
||||
|
||||
## Bootstrap
|
||||
|
||||
- Timestamp: 2026-05-19
|
||||
- Scan mode: full
|
||||
- Scope: bootstrap/no code changes
|
||||
- Status: degraded
|
||||
|
||||
## Plan Scan: 20260519-0928-fix-cookie-injectscripts
|
||||
|
||||
- Timestamp: 2026-05-19T09:28:06+02:00
|
||||
- Scan mode: plan
|
||||
- Scope: `injectScripts is not defined` in `cookienoticepro.script.js`
|
||||
- Status: degraded
|
||||
- MCP: `search_code` failed because the current project is not visible in the MCP project registry.
|
||||
- Fallback: `rg` found `injectScripts()` calls at `wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js:163` and `:206`; no definition was found.
|
||||
- User-provided reference checked: `c:\visual studio code\projekty\luxmedkrakow.pl\wp-content\mu-plugins\cookie-notice-pro\assets\cookienoticepro.script.js` contains `const injectScripts = () => {};` at line 401.
|
||||
- Reference file has other configuration/consent differences, so only the minimal missing-function fix should be carried over.
|
||||
- Additional comparison: both files have matching `analytics_storage` grant/deny logic; the reference adds `functionality_storage` and `personalization_storage`, which is outside this immediate bugfix.
|
||||
|
||||
## Post-Apply Scan: 20260519-0928-fix-cookie-injectscripts
|
||||
|
||||
- Timestamp: 2026-05-19T09:35:56+02:00
|
||||
- Scan mode: post-apply
|
||||
- Scope: `wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js`
|
||||
- Status: degraded
|
||||
- Change: added `const injectScripts = () => {};` before `changeRootVariables`.
|
||||
- `node --check wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js`: passed.
|
||||
- `git diff --check -- wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js`: passed with LF/CRLF warning only.
|
||||
- `php -l wp-content/mu-plugins/cookie-notice-pro/cookie-notice-pro.php`: not run; `php` is not available in PATH.
|
||||
- Static consent review: `#cookieAccept` stores `cnp_prefs` before `googleConsentModeHandler()`, and `analytics_storage: granted` remains tied to `analytics` in preferences.
|
||||
|
||||
## Narzedzia
|
||||
|
||||
- `codebase-memory-mcp`: dostepne jako MCP oraz CLI `0.6.1`.
|
||||
- `codebase-memory-mcp index_repository`: zwrocil `status: indexed` dla projektu `c-visual studio code-projekty-kregoslup.luxmedkrakow.pl`, ale kolejne `list_projects` i `get_architecture` nie widzialy tego projektu w rejestrze.
|
||||
- `jscpd`: disabled by policy.
|
||||
- `ast-grep`: disabled by policy.
|
||||
|
||||
## Komendy i narzedzia uzyte
|
||||
|
||||
- MCP: `list_projects`
|
||||
- MCP: `index_repository`
|
||||
- MCP: `get_architecture`
|
||||
- Shell: `git status --short`
|
||||
- Shell: `rg --files`
|
||||
- Shell: `codebase-memory-mcp --version`
|
||||
|
||||
## Surowe wyniki
|
||||
|
||||
- `.paul/codebase/radar/codebase-memory-full.txt`
|
||||
|
||||
## Nastepna akcja
|
||||
|
||||
Uruchom `$paul-map-codebase`, aby wykonac pelny mapping i odswiezyc raporty radaru.
|
||||
62
.paul/config.md
Normal file
62
.paul/config.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Project Config
|
||||
|
||||
**Project:** kregoslup.luxmedkrakow.pl
|
||||
**Created:** 2026-05-19
|
||||
|
||||
## Project Settings
|
||||
|
||||
```yaml
|
||||
project:
|
||||
name: kregoslup.luxmedkrakow.pl
|
||||
version: 0.0.0
|
||||
```
|
||||
|
||||
## Integrations
|
||||
|
||||
### Quality Radar
|
||||
|
||||
```yaml
|
||||
quality_radar:
|
||||
enabled: true
|
||||
auto_install: true
|
||||
tools:
|
||||
codebase_memory_mcp: true
|
||||
jscpd: false
|
||||
ast_grep: false
|
||||
reports:
|
||||
update_on_plan: true
|
||||
update_on_apply: true
|
||||
update_on_verify: true
|
||||
```
|
||||
|
||||
### SonarQube
|
||||
|
||||
```yaml
|
||||
sonarqube:
|
||||
enabled: false
|
||||
project_key: kregoslup-luxmedkrakow-pl
|
||||
server_url: http://localhost:9000
|
||||
```
|
||||
|
||||
### Future Integrations
|
||||
|
||||
```yaml
|
||||
# linting:
|
||||
# enabled: false
|
||||
```
|
||||
|
||||
## Preferences
|
||||
|
||||
```yaml
|
||||
preferences:
|
||||
auto_commit: false
|
||||
verbose_output: false
|
||||
parallel_agents: false
|
||||
plan_storage: plans
|
||||
state_autocompress: true
|
||||
state_autocompress_max_lines: 500
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Config created: 2026-05-19*
|
||||
173
.paul/plans/20260519-0928-fix-cookie-injectscripts/PLAN.md
Normal file
173
.paul/plans/20260519-0928-fix-cookie-injectscripts/PLAN.md
Normal file
@@ -0,0 +1,173 @@
|
||||
---
|
||||
plan_id: 20260519-0928-fix-cookie-injectscripts
|
||||
title: Naprawa bledu injectScripts w Cookie Notice Pro
|
||||
storage: plan-first
|
||||
legacy_phase: null
|
||||
created: 2026-05-19T09:28:06+02:00
|
||||
status: applied
|
||||
type: execute
|
||||
autonomous: true
|
||||
delegation: auto
|
||||
files_modified:
|
||||
- wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js
|
||||
quality_radar: degraded
|
||||
---
|
||||
|
||||
<objective>
|
||||
## Goal
|
||||
Usunac blad JavaScript `Uncaught ReferenceError: injectScripts is not defined` wystepujacy po kliknieciu przycisku akceptacji cookies.
|
||||
|
||||
## 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()`.
|
||||
</objective>
|
||||
|
||||
<context>
|
||||
## Project Docs
|
||||
@.paul/PROJECT.md
|
||||
@.paul/STATE.md
|
||||
@.paul/config.md
|
||||
@.paul/codebase/impact_map.md
|
||||
@.paul/codebase/quality_risks.md
|
||||
@.paul/codebase/tooling_status.md
|
||||
|
||||
## Source Files
|
||||
@wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js
|
||||
@wp-content/mu-plugins/cookie-notice-pro/cookie-notice-pro.php
|
||||
</context>
|
||||
|
||||
<clarifications>
|
||||
- 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`.
|
||||
</clarifications>
|
||||
|
||||
<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 inicjalizacja `window.cookieNoticePro.init()` w stopce.
|
||||
- Publiczna strona WordPress - `mu-plugin` laduje sie globalnie.
|
||||
- Referencja: `c:\visual studio code\projekty\luxmedkrakow.pl\wp-content\mu-plugins\cookie-notice-pro\assets\cookienoticepro.script.js:401` zawiera sprawdzona poprawke `const injectScripts = () => {};`.
|
||||
- Referencyjna sekcja `analytics_storage` dziala 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-codebase` odlozone, bo zakres poprawki jest waski i dotyczy jednego bledu runtime.
|
||||
- Nie wlaczamy `jscpd` ani `ast-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
|
||||
```gherkin
|
||||
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
|
||||
```gherkin
|
||||
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
|
||||
```gherkin
|
||||
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
|
||||
```gherkin
|
||||
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>
|
||||
|
||||
<tasks>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 1: Przenies minimalna poprawke injectScripts z poprzedniej instancji</name>
|
||||
<files>wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js</files>
|
||||
<action>
|
||||
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()`.
|
||||
</action>
|
||||
<verify>rg -n "const injectScripts|function injectScripts|injectScripts\\(" wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js</verify>
|
||||
<done>Spelnia AC-1 i nie zmienia konfiguracji z AC-2 oraz AC-3.</done>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 2: Zweryfikuj zachowanie analityki po reloadzie</name>
|
||||
<files>wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js</files>
|
||||
<action>
|
||||
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.
|
||||
</action>
|
||||
<verify>Manualnie: wyczysc `cnp_*`, zaakceptuj zgody, odswiez strone, sprawdz `cnp_prefs` i Consent Mode dla `analytics_storage`.</verify>
|
||||
<done>Spelnia AC-2 i AC-3 bez rozszerzania zakresu poza cookies/consent.</done>
|
||||
</task>
|
||||
|
||||
<task type="auto">
|
||||
<name>Task 3: Zweryfikuj brak regresji runtime</name>
|
||||
<files>wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js, wp-content/mu-plugins/cookie-notice-pro/cookie-notice-pro.php</files>
|
||||
<action>
|
||||
Sprawdz skladnie i sciezke inicjalizacji: PHP nadal laduje `cnp-script`, footer nadal wywoluje `window.cookieNoticePro.init()`, a JS nadal eksportuje `window.cookieNoticePro`.
|
||||
</action>
|
||||
<verify>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</verify>
|
||||
<done>Spelnia AC-2, AC-3 i potwierdza, ze poprawka nie narusza inicjalizacji pluginu.</done>
|
||||
</task>
|
||||
|
||||
</tasks>
|
||||
|
||||
<boundaries>
|
||||
## 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.
|
||||
</boundaries>
|
||||
|
||||
<verification>
|
||||
- [ ] `rg -n "injectScripts" wp-content/mu-plugins/cookie-notice-pro/assets/cookienoticepro.script.js` pokazuje definicje i kontrolowane wywolania.
|
||||
- [ ] `php -l wp-content/mu-plugins/cookie-notice-pro/cookie-notice-pro.php` przechodzi.
|
||||
- [ ] Manualnie w przegladarce: wyczysc cookies `cnp_*`, odswiez strone, kliknij `Akceptuj`, sprawdz brak `ReferenceError`.
|
||||
- [ ] Manualnie w przegladarce: po kliknieciu `Akceptuj` odswiez strone i sprawdz, ze analityka ma zgode `analytics_storage: granted`.
|
||||
- [ ] Manualnie w przegladarce: otworz ustawienia cookies i zatwierdz preferencje, sprawdz brak nowych bledow JS.
|
||||
- [ ] Quality Radar relevant risks handled or deferred.
|
||||
</verification>
|
||||
|
||||
<success_criteria>
|
||||
- [ ] Wszystkie AC przechodza.
|
||||
- [ ] Weryfikacja wykonana lub brak mozliwosci weryfikacji opisany w SUMMARY.md.
|
||||
- [ ] `.paul/codebase/impact_map.md` i `.paul/codebase/tooling_status.md` zostaly odswiezone, jezeli w apply pojawia sie istotna zmiana zakresu.
|
||||
</success_criteria>
|
||||
|
||||
<output>
|
||||
SUMMARY.md path: `.paul/plans/20260519-0928-fix-cookie-injectscripts/SUMMARY.md`
|
||||
</output>
|
||||
@@ -0,0 +1,75 @@
|
||||
---
|
||||
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.
|
||||
3
.vscode/ftp-kr.json
vendored
3
.vscode/ftp-kr.json
vendored
@@ -12,6 +12,7 @@
|
||||
"ignoreRemoteModification": true,
|
||||
"ignore": [
|
||||
".git",
|
||||
"/.vscode"
|
||||
"/.vscode",
|
||||
"/.paul"
|
||||
]
|
||||
}
|
||||
@@ -52,7 +52,7 @@ Make your own cookie information popup in minutes.
|
||||
acceptBtnLabel: "Akceptuj", // Accept cookie button text
|
||||
declineInfoBtnLabel: "Dostosuj", // Decline cookie button text
|
||||
acceptBtnSettingsLabel: "Zatwierdź",
|
||||
moreInfoBtnLink: "https://luxmed3.pagedev.pl/wp-content/uploads/2026/04/Obowiazek-informacyjny.pdf", // Learn more link(default: privacy policy page)
|
||||
moreInfoBtnLink: "https://luxmed5.pagedev.pl/wp-content/uploads/2026/04/Obowiazek-informacyjny.pdf", // Learn more link(default: privacy policy page)
|
||||
moreInfoBtnLabel: "Obowiązek informacyjny", // More info link text
|
||||
cookieTypesTitle: "Wybierz pliki cookies do akceptacji", // Title of cookie preference options
|
||||
necessaryCookieTypeLabel: "Wymagane", // Label text of Necessary cookie item
|
||||
@@ -330,6 +330,18 @@ Make your own cookie information popup in minutes.
|
||||
|
||||
try {
|
||||
if(consent === true) {
|
||||
// if functional/preferences is accepted
|
||||
if(preferences.indexOf("preferences") > -1) {
|
||||
gtag('consent', 'update', {
|
||||
'functionality_storage': 'granted',
|
||||
'personalization_storage': 'granted'
|
||||
});
|
||||
} else {
|
||||
gtag('consent', 'update', {
|
||||
'functionality_storage': 'denied',
|
||||
'personalization_storage': 'denied'
|
||||
});
|
||||
}
|
||||
// if analytics is accepted
|
||||
if(preferences.indexOf("analytics") > -1) {
|
||||
if(!googleConsentAnalyticsStorage) {
|
||||
@@ -386,6 +398,8 @@ Make your own cookie information popup in minutes.
|
||||
}
|
||||
}
|
||||
|
||||
const injectScripts = () => {};
|
||||
|
||||
const changeRootVariables = () =>{
|
||||
$(':root').css('--cookieNoticeProLight', config.themeSettings.lightColor);
|
||||
$(':root').css('--cookieNoticeProDark', config.themeSettings.darkColor);
|
||||
|
||||
Reference in New Issue
Block a user