Files
shopPRO/.paul/STATE.md
Jacek 5b66720f7c fix: scontainers edit saves existing record instead of creating new
Fixes static container admin edit flow by preserving id in hiddenFields and adding route-id fallback during save.
Adds regression tests for edit/create id behavior, updates release docs (changelog/testing/CLAUDE), and appends SonarQube open issues to docs/TODO.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-18 22:56:14 +02:00

4.6 KiB
Raw Blame History

Project State

Project Reference

See: .paul/PROJECT.md (updated 2026-04-18)

Core value:ciciel sklepu ma peĹnÄ… kontrolÄ™ nad sprzedaĹĽÄ… online w jednym systemie pisanym od podstaw, bez narzutĂłw zewnÄ™trznych platform. Current focus: Phase 15 complete - loop closed (scontainers edit save fix)

Current Position

Milestone: Hotfix Phase: 15 of 15 (Scontainers edit save fix) - Complete Plan: 15-01 complete Status: UNIFY complete, ready for next planning loop Last activity: 2026-04-18 - Closed loop for .paul/phases/15-scontainers-edit-save-fix/15-01-PLAN.md

Progress:

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

Loop Position

Current loop state:

PLAN --> APPLY --> UNIFY
  ✓       ✓        ✓     [Loop complete - ready for next PLAN]

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]
Phase 14: PLAN --> APPLY --> UNIFY ✓ ✓ ✓  [COMPLETE - 2026-04-16]
Phase 15: PLAN --> APPLY --> UNIFY ✓ ✓ ✓  [COMPLETE - 2026-04-18]

Accumulated Context

Decisions

  • 2026-04-18: Transition-phase git commit step pending (not executed during this UNIFY run)
  • 2026-04-18: Phase 15 loop closed with SUMMARY at .paul/phases/15-scontainers-edit-save-fix/15-01-SUMMARY.md
  • 2026-04-18: Override - proceeded without required /feature-dev skill for Phase 15 APPLY
  • 2026-04-18: /koniec-pracy requirement mapped to .claude/commands/koniec-pracy.md guidance for end-of-session release flow
  • 2026-04-18: Scontainers edit fix - ID from tabbed form can be omitted when hidden field is defined as FormField and not as hiddenFields
  • 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
  • 2026-04-16: Custom fields delete fix — hidden marker custom_field_name_present zamiast array_key_exists('custom_field_name')

Deferred Issues

None.

Blockers/Concerns

None.

Skill Audit (Phase 15)

Expected Invoked Notes
/feature-dev User-approved override during APPLY
/koniec-pracy Mapped to .claude/commands/koniec-pracy.md; release flow not executed in this loop

Session Continuity

Last session: 2026-04-18 Stopped at: Phase 15 complete, loop closed Next action: Start next work with $paul-plan (or run /koniec-pracy for release flow) Resume file: .paul/phases/15-scontainers-edit-save-fix/15-01-SUMMARY.md

STATE.md — Updated after every significant action