Files
shopPRO/.paul/STATE.md
Jacek 1c747af1b6 fix: Checkout flow — summaryView redirect fix + TTL token + order logging
- Usunięty błędny guard w summaryView() blokujący kolejne zamówienia
- Token zamówienia z jednorazowego na TTL 30 min (multi-tab safe)
- Logowanie błędów zamówień do logs/logs-order-YYYY-MM-DD.log
- Redirect przy złym tokenie na /koszyk-podsumowanie zamiast /koszyk
- Double-submit guard przeniesiony przed sprawdzenie tokena

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 21:32:46 +01:00

3.4 KiB

Project State

Project Reference

See: .paul/PROJECT.md (updated 2026-03-12)

Core value: Właściciel sklepu ma pełną kontrolę nad sprzedażą online w jednym systemie pisanym od podstaw, bez narzutów zewnętrznych platform. Current focus: Phase 13 complete — basket logging + TTL token

Current Position

Milestone: Hotfix Phase: 13 — basket logging + TTL token — Planning Plan: 13-01 created, awaiting approval Status: UNIFY complete, phase 13 finished Last activity: 2026-03-25 — 13-01 UNIFY complete

Progress:

  • Phase 13: [██████████] 100% (COMPLETE)

Loop Position

Current loop state (phase 13, plan 01):

PLAN ──▶ APPLY ──▶ UNIFY
  ✓        ✓        ✓     [Phase 13 complete]

Previous phases:

Phase 4: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-12]
Phase 5: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-12]
Phase 6: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-12]
Phase 7: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-15]
Phase 8: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-16]
Phase 9: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-19]
Phase 10: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-19]
Phase 11: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-25]
Phase 12: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-25]
Phase 13: PLAN ──▶ APPLY ──▶ UNIFY  ✓ ✓ ✓  [COMPLETE — 2026-03-25]

Accumulated Context

Decisions

  • Use existing CouponRepository::markAsUsed() instead of adding methods to stdClass
  • 2026-03-16: Przyczyna braku wysyłki = brakujące $apiloRepository w use() closures cron.php (regresja z fazy 6)
  • 2026-03-16: Retry -1 orders co 1h zamiast permanent failure
  • 2026-03-16: Email notification o trwale failed Apilo jobach
  • 2026-03-19: Order-related Apilo joby — infinite retry co 30 min (nigdy permanent failure)
  • 2026-03-19: Email z danymi zamówienia + rozróżnienie PONAWIANY vs TRWAŁY BŁĄD
  • 2026-03-19: Cleanup stuck sync_payment/sync_status jobów po udanym wysłaniu
  • 2026-03-19: Edycja custom fields w koszyku — product_code przeliczany po zmianie, merge duplikatów przy identycznym hashu
  • 2026-03-19: JS handlery koszyka w basket.php (nie basket-details.php) bo basket-details jest AJAX-replaceable
  • 2026-03-25: view_cart event w basket.php (nie basket-details.php) — ten sam powód
  • 2026-03-25: GA4 item format standard: item_id (string), item_name, price (number), quantity (int), google_business_vertical: "retail"
  • 2026-03-25: Brak user_data w purchase — wymaga analizy RODO
  • 2026-03-25: summaryView() redirect guard usunięty — blokował kolejne zamówienia po pierwszym (z change.md instancji klienta)
  • 2026-03-25: Token zamówienia z jednorazowego na TTL 30 min — backward compat z plain string
  • 2026-03-25: logOrder() — logowanie błędów zamówień do logs/logs-order-YYYY-MM-DD.log
  • 2026-03-25: Redirect przy złym tokenie: /koszyk-podsumowanie zamiast /koszyk

Deferred Issues

None.

Blockers/Concerns

None.

Session Continuity

Last session: 2026-03-25 Stopped at: Phase 13 UNIFY complete Next action: /koniec-pracy or next feature Resume file: .paul/phases/13-basket-logging-ttl-token/13-01-SUMMARY.md


STATE.md — Updated after every significant action