Files
bilety.brzezovka.pl/.paul/STATE.md
Jacek Pyziak 28b7a1dd54 feat(05-purchase-redirect-hardening): harden purchase redirect tracking
Phase 5 complete:

- guard purchase event per transaction in sessionStorage

- restore saved consent before GTM and purchase

- add centered Przelewy24 countdown redirect
2026-05-08 23:56:37 +02:00

3.1 KiB

Project State

Project Reference

See: .paul/PROJECT.md (updated 2026-05-08)

Core value: Uzytkownicy moga szybko i bezpiecznie kupic bilety online oraz otrzymac natychmiastowe potwierdzenie zakupu. Current focus: v0.4 Purchase Redirect Hardening - COMPLETE

Current Position

Milestone: v0.4 Purchase Redirect Hardening - COMPLETE Phase: 1 of 1 (Purchase Redirect Hardening) - Complete Plan: 05-01 complete Status: Milestone complete - ready for next milestone Last activity: 2026-05-08 - Phase 5 complete, v0.4 shipped

Progress:

  • Milestone: [##########] 100%
  • Phase 5: [##########] 100%

Loop Position

Current loop state:

PLAN ---> APPLY ---> UNIFY
  ok       ok        ok      [Loop complete - milestone complete]

Accumulated Context

Codebase Mapped

Date: 2026-04-26 Documents: .paul/codebase/ (8 files - stack, architecture, structure, conventions, testing, integrations, concerns, db_schema)

GTM Status

  • GTM-TW9WCD9J already integrated in templates/site/layout-logged.php.
  • layout-unlogged.php is not rendered; view/class.Site.php always uses layout-logged.php.

Decisions

  • 2026-04-19: Event purchase emitted on order-confirm, not on przelewy24.
  • 2026-04-19: Ecommerce payload built in backend and safely serialized into the view.
  • 2026-04-26: Event purchase moved to przelewy24 (post-order, pre-payment) to capture all orders.
  • 2026-04-26: cookieNoticePro.init() used instead of $.fn.cookieNoticePro().
  • 2026-04-26: Consent Mode v2 default-denied initialized before the GTM snippet.
  • 2026-05-08: Undefined injectScripts() calls removed from CookieNoticePro instead of adding a no-op stub.
  • 2026-05-08: Manual redirect pause confirmed purchase fires; saved consent must be restored before GTM/purchase.

Current Plan Context

  • Plan path: .paul/phases/05-purchase-redirect-hardening/05-01-PLAN.md.
  • Current uncommitted source changes include templates/site/layout-logged.php consent restore and templates/tickets/przelewy24.php temporary manual redirect button.
  • Applied changes: templates/tickets/przelewy24.php now guards purchase with sessionStorage per transaction and auto-submits to Przelewy24 after a 5-second countdown; templates/site/layout-logged.php preserves saved consent restore before GTM.
  • Final UI adjustment: visible fallback button removed; redirect message is a centered Bootstrap alert with countdown.
  • Verification passed: PHP lint for both modified templates, grep checks for purchase guard/countdown/consent restore, and user browser approval.
  • Summary: .paul/phases/05-purchase-redirect-hardening/05-01-SUMMARY.md.
  • Existing unrelated uncommitted change: .vscode/ftp-kr.sync.cache.json must remain untouched.

Deferred Issues

None.

Blockers/Concerns

None.

Git State

Last commit: current phase commit (feat(05-purchase-redirect-hardening): harden purchase redirect tracking) Branch: main Feature branches merged: none

Session Continuity

Last session: 2026-05-08 Stopped at: v0.4 milestone complete Next action: Start next milestone when needed Resume file: .paul/phases/05-purchase-redirect-hardening/05-01-SUMMARY.md


STATE.md - Updated after every significant action