diff --git a/.paul/PROJECT.md b/.paul/PROJECT.md
index 21562d4..034922d 100644
--- a/.paul/PROJECT.md
+++ b/.paul/PROJECT.md
@@ -105,6 +105,7 @@ Sprzedawca może obsługiwać zamówienia ze wszystkich kanałów
- [x] Preset przesylek nadpisuje wylacznie wymiary+wage paczki + polling kolejki wydruku + auto-click ostatniej etykiety po utworzeniu przesylki + usuniecie placeholderow "-" — Phase 100
- [x] Wizualna flaga wiekowa na liscie zamowien: czerwona ramka o rosnacej intensywnosci dla zamowien 4-7+ dniowych — Phase 101
- [x] Naprawa tworzenia przesylek Apaczka dla dlugich adresow: auto-truncate dla uslug punktowych (ORLEN/Paczkomat), walidacja + blad dla uslug kurierskich — Phase 102
+- [x] Naprawa auto-click etykiety po utworzeniu przesylki: klik na najnowsza paczke zamiast najstarszej (buttons[0] vs buttons[length-1]) — Phase 103
- [ ] Eliminacja zduplikowanego kodu: SslCertificateResolver, ToggleableRepositoryTrait, RedirectPathResolver, ReceiptService — Phase 68
### Active (In Progress)
diff --git a/.paul/ROADMAP.md b/.paul/ROADMAP.md
index 480875f..6599b8d 100644
--- a/.paul/ROADMAP.md
+++ b/.paul/ROADMAP.md
@@ -63,6 +63,7 @@ Wersja mobilna aplikacji, modul po module. Cel: pelna uzywalnosc orderPRO na tel
| 100 | Preset Scope & Print UX | 1/1 | Complete |
| 101 | Aged Orders Row Highlight | 1/1 | Complete |
| 102 | Apaczka Receiver Street Length | 1/1 | Complete |
+| 103 | Print Autoclick Fix | 1/1 | Complete |
| TBD | Mobile Orders List | - | Not started |
| TBD | Mobile Order Details | - | Not started |
| TBD | Mobile Settings | - | Not started |
diff --git a/.paul/STATE.md b/.paul/STATE.md
index d37a569..06ce03d 100644
--- a/.paul/STATE.md
+++ b/.paul/STATE.md
@@ -10,15 +10,14 @@ See: .paul/PROJECT.md (updated 2026-04-12)
## Current Position
Milestone: v3.0 Mobile Responsive - In progress
-Phase: 102 (Apaczka Receiver Street Length) — Complete
-Plan: 102-01 Complete
+Phase: 103 (Print Autoclick Fix) — Complete
+Plan: 103-01 Complete
Status: Loop closed, ready for next PLAN
-Last activity: 2026-04-14 — UNIFY Phase 102 complete (manual re-test OK)
+Last activity: 2026-04-16 — UNIFY Phase 103 complete
Progress:
- Milestone: [#########.] ~96%
-- Phase 102: [##########] 100%
-- Phase 101: [##########] 100%
+- Phase 103: [##########] 100%
## Loop Position
@@ -30,7 +29,7 @@ PLAN ──▶ APPLY ──▶ UNIFY
## Session Continuity
-Last session: 2026-04-14
-Stopped at: Phase 102 Complete
+Last session: 2026-04-16
+Stopped at: Phase 103 Complete
Next action: /paul:plan dla kolejnej fazy
-Resume file: .paul/phases/102-apaczka-receiver-street-length/102-01-SUMMARY.md
+Resume file: .paul/phases/103-print-autoclick-fix/103-01-SUMMARY.md
diff --git a/.paul/changelog/2026-04-16.md b/.paul/changelog/2026-04-16.md
new file mode 100644
index 0000000..4bb3b6b
--- /dev/null
+++ b/.paul/changelog/2026-04-16.md
@@ -0,0 +1,10 @@
+# 2026-04-16
+
+## Co zrobiono
+
+- [Phase 103, Plan 01] Naprawa auto-click etykiety po utworzeniu przesylki — klika najnowsza paczke zamiast najstarszej
+- Zmiana selektora JS: buttons[0] zamiast buttons[buttons.length - 1] (tabela sortowana DESC)
+
+## Zmienione pliki
+
+- `resources/views/orders/show.php`
diff --git a/.paul/governance/governance_2026-04-16.jsonl b/.paul/governance/governance_2026-04-16.jsonl
new file mode 100644
index 0000000..8982542
--- /dev/null
+++ b/.paul/governance/governance_2026-04-16.jsonl
@@ -0,0 +1,58 @@
+{"ts":"2026-04-16T05:54:33Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && grep -E \"^DB_(HOST_REMOTE|DATABASE|USERNAME|PASSWORD|PORT)=\" .env\",\"description\":\"Read DB credentials from .env\"},\"tool_response\":{\"stdout\"","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:54:40Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:54:55Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:55:04Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:55:13Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:55:25Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:55:35Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:55:42Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:55:53Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:56:01Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:56:09Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:56:23Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:56:25Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:56:44Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:56:46Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:57:12Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/pudelko_chrzest_dlonie_uv.py --help 2>&1 | head -40\",\"timeout\":15000,\"description\":\"Check script parameters\"},\"tool_r","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:58:16Z","tool":"Bash","cmd":"tasklist //FI \"IMAGENAME eq Photoshop.exe\" 2>/dev/null | grep -i photoshop\",\"description\":\"Check if Photoshop is running\"},\"tool_response\":{\"stdout\":\"Binary file (standard input) matches\"","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:58:46Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/pudelko_chrzest_dlonie_uv.py --klient \"Weronika Błaszek 01\" --imie \"Jana\" --data \"18.04.2026\" --od-kogo \"Rodzice Chrz","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:58:58Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/pudelko_chrzest_dlonie_uv.py --klient \"Weronika Błaszek 02\" --imie \"Mai\" --data \"26.04.2026\" --od-kogo \"Matka Chrzest","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T05:59:11Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T08:06:17Z","tool":"Bash","cmd":"mkdir -p \"/c/visual studio code/projekty/orderPRO/.paul/phases/103-print-autoclick-fix\"\",\"description\":\"Create phase 103 directory\"},\"tool_response\":{\"stdout\":\"\",\"stderr\":\"\",\"interru","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T08:06:44Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\.paul\\\\phases\\\\103-print-autoclick-fix\\\\103-01-PLAN.md","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T08:07:00Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T08:07:05Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\.paul\\\\ROADMAP.md","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T08:30:40Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\resources\\\\views\\\\orders\\\\show.php","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T08:30:46Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\resources\\\\views\\\\orders\\\\show.php","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T08:31:09Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T09:04:13Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\.paul\\\\phases\\\\103-print-autoclick-fix\\\\103-01-SUMMARY.md","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T09:04:26Z","tool":"Write","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\.paul\\\\changelog\\\\2026-04-16.md","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T09:04:41Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\.paul\\\\STATE.md","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T09:04:46Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\.paul\\\\ROADMAP.md","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T09:04:56Z","tool":"Edit","file":"C:\\\\visual studio code\\\\projekty\\\\orderPRO\\\\.paul\\\\PROJECT.md","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T11:12:05Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T11:12:55Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/pudelko_chrzest_dlonie_uv.py --klient \"Nina Zagrodnik\" --imie \"Marcela\" --data \"19.04.2026\" --od-kogo \"Twój Chrzestny","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T11:13:05Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T11:22:31Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T11:22:57Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && PYTHONIOENCODING=utf-8 python tools/generowanie/email_message_fetcher.py --email \"domka.ol@icloud.com\" --days 60 --json 2>&1\",\"timeout\":30000,\"d","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T11:23:11Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/pudelko_chrzest_golabek_uv.py --help 2>&1 | head -20\",\"timeout\":15000,\"description\":\"Check script parameters\"},\"tool_","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T11:23:37Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/pudelko_chrzest_golabek_uv.py --klient \"Dominika Olszewska\" --imie \"Laury\" --data \"19.04.2026\" --od-kogo \"Matka Chrzes","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T11:23:47Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:14:47Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:15:02Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/email_message_fetcher.py --email \"elka.budzyn@interia.pl\" --days 60 --json 2>&1 || true\",\"timeout\":30000,\"description\"","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:15:05Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/prosba_chrzestny_zlota_plexi_uv.py --help 2>&1 | head -25\",\"timeout\":15000,\"description\":\"Check script parameters\"},\"","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:15:34Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/prosba_chrzestny_zlota_plexi_uv.py --klient \"Elżbieta Pietras\" --imie-dziecka \"Kornelka\" --matka-wolacz \"Ciociu Moniko\","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:16:37Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:29:12Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:29:33Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/email_message_fetcher.py --email \"roksananowocien9@gmail.com\" --days 60 --json 2>&1 || true\",\"timeout\":30000,\"descripti","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:29:56Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/prosba_chrzestny_zlota_plexi_uv.py --klient \"Kuba Kowalczyk\" --imie-dziecka \"Oluś\" --matka-wolacz \"Ciociu Weroniko\" 2>","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:30:11Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:38:11Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:38:24Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/email_message_fetcher.py --email \"grzelarczyk@icloud.com\" --days 60 --json 2>&1 || true\",\"timeout\":30000,\"description\"","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:38:45Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && python tools/generowanie/prosba_chrzestny_zlota_plexi_uv.py --klient \"Wiktoria Grzelarczyk\" --imie-dziecka \"Aleksander\" --ojciec-wolacz \"Wujku Pa","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T13:38:54Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T15:00:45Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T15:06:20Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T15:07:33Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T15:10:55Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
+{"ts":"2026-04-16T15:11:08Z","tool":"Bash","cmd":"cd \"/c/visual studio code/projekty/orderPRO\" && \"C:/xampp/mysql/bin/mysql.exe\" --default-character-set=utf8mb4 -h host700513.hostido.net.pl -P 3306 -u host700513_orderpro -p'hrDNtUBg9grwZ7syN77S' ","cwd":"/c/visual studio code/projekty/orderPRO"}
diff --git a/.paul/phases/103-print-autoclick-fix/103-01-PLAN.md b/.paul/phases/103-print-autoclick-fix/103-01-PLAN.md
new file mode 100644
index 0000000..506feb4
--- /dev/null
+++ b/.paul/phases/103-print-autoclick-fix/103-01-PLAN.md
@@ -0,0 +1,86 @@
+---
+phase: 103-print-autoclick-fix
+plan: 01
+type: execute
+wave: 1
+depends_on: []
+files_modified: [resources/views/orders/show.php]
+autonomous: true
+---
+
+
+## Goal
+Naprawic auto-click etykiety po utworzeniu przesylki — klikany ma byc przycisk najnowszej paczki (pierwszej w tabeli), nie najstarszej (ostatniej w tabeli).
+
+## Purpose
+Uzytkownik po utworzeniu przesylki oczekuje automatycznego wyslania do drukarki najnowszej etykiety. Obecny kod klika ostatni przycisk w DOM, ktory odpowiada najstarszej paczce (bo tabela jest posortowana DESC).
+
+## Output
+Poprawiony JS w `resources/views/orders/show.php` — zmiana `buttons[buttons.length - 1]` na `buttons[0]`.
+
+
+
+## Project Context
+@.paul/PROJECT.md
+@.paul/STATE.md
+
+## Source Files
+@resources/views/orders/show.php (linie 998-1018 — funkcja autoClickLastLabel)
+@src/Modules/Shipments/ShipmentPackageRepository.php (linia 115 — ORDER BY created_at DESC)
+
+
+
+
+## AC-1: Auto-click klika najnowsza etykiete
+```gherkin
+Given zamowienie ma 2+ przesylek z przyciskiem "Drukuj"
+When strona laduje sie z parametrem ?printLast=1
+Then auto-click uruchamia sie na PIERWSZYM przycisku .btn-print-label (najnowsza paczka)
+```
+
+
+
+
+
+
+ Task 1: Zmiana selektora auto-click z ostatniego na pierwszy przycisk
+ resources/views/orders/show.php
+
+ W funkcji `autoClickLastLabel()` (ok. linia 1012):
+ - Zmien `var last = buttons[buttons.length - 1];` na `var last = buttons[0];`
+ - Komentarz nad funkcja juz mowi "Auto-click ostatniej etykiety" — zaktualizuj na "Auto-click najnowszej etykiety" (bo "ostatnia" jest mylaca)
+
+ Przegladaj zmieniony kod — buttons[0] powinien byc uzyty zamiast buttons[buttons.length - 1]
+ AC-1 satisfied: auto-click klika buttons[0] = najnowsza paczka (tabela DESC)
+
+
+
+
+
+
+## DO NOT CHANGE
+- src/Modules/Shipments/ShipmentPackageRepository.php (sortowanie DESC jest poprawne)
+- src/Modules/Shipments/ShipmentController.php (redirect z ?printLast=1 jest poprawny)
+- Logika polling print queue (watchPrintQueueButton)
+
+## SCOPE LIMITS
+- Tylko zmiana selektora w autoClickLastLabel()
+- Nie zmieniac kolejnosci renderowania przesylek
+
+
+
+
+Before declaring plan complete:
+- [ ] `buttons[0]` uzyte zamiast `buttons[buttons.length - 1]`
+- [ ] Komentarz zaktualizowany
+- [ ] Brak innych zmian w pliku
+
+
+
+- Auto-click kieruje sie na pierwszy przycisk .btn-print-label (najnowsza paczka)
+- Zadne inne zachowanie nie zmienione
+
+
+
diff --git a/.paul/phases/103-print-autoclick-fix/103-01-SUMMARY.md b/.paul/phases/103-print-autoclick-fix/103-01-SUMMARY.md
new file mode 100644
index 0000000..5518e93
--- /dev/null
+++ b/.paul/phases/103-print-autoclick-fix/103-01-SUMMARY.md
@@ -0,0 +1,84 @@
+---
+phase: 103-print-autoclick-fix
+plan: 01
+subsystem: ui
+tags: [javascript, print-queue, auto-click]
+
+requires: []
+provides:
+ - "Poprawiony auto-click najnowszej etykiety po utworzeniu przesylki"
+affects: []
+
+tech-stack:
+ added: []
+ patterns: []
+
+key-files:
+ created: []
+ modified: [resources/views/orders/show.php]
+
+key-decisions:
+ - "buttons[0] zamiast buttons[length-1] bo tabela sortowana DESC (najnowsze na gorze)"
+
+patterns-established: []
+
+duration: 2min
+completed: 2026-04-16
+---
+
+# Phase 103 Plan 01: Print Autoclick Fix Summary
+
+**Naprawiony auto-click etykiety po utworzeniu przesylki — klika najnowsza paczke zamiast najstarszej**
+
+## Performance
+
+| Metric | Value |
+|--------|-------|
+| Duration | ~2min |
+| Completed | 2026-04-16 |
+| Tasks | 1 completed |
+| Files modified | 1 |
+
+## Acceptance Criteria Results
+
+| Criterion | Status | Notes |
+|-----------|--------|-------|
+| AC-1: Auto-click klika najnowsza etykiete | Pass | buttons[0] = najnowsza paczka (tabela ORDER BY created_at DESC) |
+
+## Accomplishments
+
+- Naprawiony selektor JS: `buttons[0]` zamiast `buttons[buttons.length - 1]` w funkcji `autoClickLastLabel()`
+- Zaktualizowany komentarz: "najnowszej" zamiast "ostatniej"
+
+## Files Created/Modified
+
+| File | Change | Purpose |
+|------|--------|---------|
+| `resources/views/orders/show.php` | Modified | Zmiana selektora auto-click z ostatniego na pierwszy przycisk + komentarz |
+
+## Decisions Made
+
+None - followed plan as specified
+
+## Deviations from Plan
+
+None - plan executed exactly as written
+
+## Issues Encountered
+
+None
+
+## Next Phase Readiness
+
+**Ready:**
+- Bugfix gotowy do testowania na serwerze
+
+**Concerns:**
+- Brak
+
+**Blockers:**
+- None
+
+---
+*Phase: 103-print-autoclick-fix, Plan: 01*
+*Completed: 2026-04-16*
diff --git a/.vscode/ftp-kr.sync.cache.json b/.vscode/ftp-kr.sync.cache.json
index b6a2d3a..9b09466 100644
--- a/.vscode/ftp-kr.sync.cache.json
+++ b/.vscode/ftp-kr.sync.cache.json
@@ -2131,13 +2131,66 @@
"pip-build-tracker-apg7g7wx": {},
"pip-ephem-wheel-cache-1_43nyjz": {},
"pip-install-3zoivscf": {},
- "pip-metadata-11qp_dbm": {},
- "pip-metadata-ntnnrio2": {},
- "pip-metadata-sfvx8ulh": {},
- "pip-unpack-0jcnlnr0": {},
- "pip-unpack-1ei5wymd": {},
- "pip-unpack-30yj5x6k": {},
- "pip-unpack-ayre5y33": {},
+ "pip-metadata-11qp_dbm": {
+ "METADATA": {
+ "type": "-",
+ "size": 2313,
+ "lmtime": 1776172757546,
+ "modified": false
+ }
+ },
+ "pip-metadata-ntnnrio2": {
+ "METADATA": {
+ "type": "-",
+ "size": 7847,
+ "lmtime": 1776172757401,
+ "modified": false
+ }
+ },
+ "pip-metadata-sfvx8ulh": {
+ "METADATA": {
+ "type": "-",
+ "size": 18701,
+ "lmtime": 1776172757234,
+ "modified": false
+ }
+ },
+ "pip-unpack-0jcnlnr0": {
+ "photoshop_python_api-0.24.2-py3-none-any.whl.metadata": {
+ "type": "-",
+ "size": 18701,
+ "lmtime": 1776172757191,
+ "modified": false
+ }
+ },
+ "pip-unpack-1ei5wymd": {
+ "wheel-0.45.1-py3-none-any.whl.metadata": {
+ "type": "-",
+ "size": 2313,
+ "lmtime": 1776172757510,
+ "modified": false
+ }
+ },
+ "pip-unpack-30yj5x6k": {
+ "comtypes-1.4.16-py3-none-any.whl": {
+ "type": "-",
+ "size": 296230,
+ "lmtime": 1776172757688,
+ "modified": false
+ },
+ "photoshop_python_api-0.24.2-py3-none-any.whl": {
+ "type": "-",
+ "size": 71670,
+ "lmtime": 1776172757621,
+ "modified": false
+ },
+ "wheel-0.45.1-py3-none-any.whl": {
+ "type": "-",
+ "size": 72494,
+ "lmtime": 1776172757722,
+ "modified": false
+ }
+ },
".playwright-mcp": {
"allegro-tracking-history.md": {
"type": "-",
@@ -3668,8 +3721,8 @@
},
"ApaczkaShipmentService.php": {
"type": "-",
- "size": 36558,
- "lmtime": 1775650086507,
+ "size": 38091,
+ "lmtime": 1776186294162,
"modified": false
},
"ApaczkaTrackingService.php": {
@@ -3780,8 +3833,8 @@
"phpunit": {
"test-results": {
"type": "-",
- "size": 3404,
- "lmtime": 1775684251816,
+ "size": 4221,
+ "lmtime": 1776186381732,
"modified": false
}
}
@@ -5684,12 +5737,6 @@
"lmtime": 1776019295877,
"modified": false
},
- "akrylowe_podziekowanie_ojciec_chrzestny_wzor2.py": {
- "type": "-",
- "size": 6039,
- "lmtime": 1776119409623,
- "modified": false
- },
"_assets": {
"green_placeholder.png": {
"type": "-",
@@ -5740,12 +5787,6 @@
"lmtime": 1775981736922,
"modified": false
},
- "email_message_fetcher.py": {
- "type": "-",
- "size": 5421,
- "lmtime": 1776117874899,
- "modified": false
- },
"email_photo_fetcher.py": {
"type": "-",
"size": 5977,
@@ -5758,24 +5799,6 @@
"lmtime": 1776017342215,
"modified": false
},
- "_explore_tmp.py": {
- "type": "-",
- "size": 877,
- "lmtime": 1776120330850,
- "modified": false
- },
- "magnes_babcia_kocham_babciu.py": {
- "type": "-",
- "size": 2208,
- "lmtime": 1776034684478,
- "modified": false
- },
- "magnes_chrzest_stopki_serce.py": {
- "type": "-",
- "size": 4706,
- "lmtime": 1776120177373,
- "modified": false
- },
"magnes_wieczor_panienski_kieliszki.py": {
"type": "-",
"size": 2803,
@@ -5802,8 +5825,8 @@
},
"pudelko_chrzest_dziewczynka_aniolek.py": {
"type": "-",
- "size": 4491,
- "lmtime": 1776120707770,
+ "size": 4334,
+ "lmtime": 1776015574853,
"modified": false
},
"pudelko_chrzest_golabek_hdf.py": {
@@ -5860,12 +5883,6 @@
"lmtime": 1776034067875,
"modified": false
},
- "pudelko_komunia_kielich.py": {
- "type": "-",
- "size": 3487,
- "lmtime": 1776119915146,
- "modified": false
- },
"pudelko_komunia_kwiaty.py": {
"type": "-",
"size": 3374,
@@ -5884,12 +5901,6 @@
"size": 5380,
"lmtime": 1776014788359,
"modified": false
- },
- "email_photo_fetcher.cpython-312.pyc": {
- "type": "-",
- "size": 9439,
- "lmtime": 1776118155400,
- "modified": false
}
},
"_rename_temp.py": {
@@ -5898,12 +5909,6 @@
"lmtime": 1776017830161,
"modified": false
},
- "_rename_tmp.py": {
- "type": "-",
- "size": 1436,
- "lmtime": 1776120070331,
- "modified": false
- },
"_tmp_photos": {
"01_IMG_7330.jpeg": {
"type": "-",
@@ -5929,6 +5934,12 @@
"size": 5328,
"lmtime": 1776032317220,
"modified": false
+ },
+ "magnes_babcia_kocham_babciu.py": {
+ "type": "-",
+ "size": 2208,
+ "lmtime": 1776034684478,
+ "modified": false
}
}
},
@@ -6035,6 +6046,14 @@
"phpmailer": {
"phpmailer": {}
}
+ },
+ "pip-unpack-ayre5y33": {
+ "comtypes-1.4.16-py3-none-any.whl.metadata": {
+ "type": "-",
+ "size": 7847,
+ "lmtime": 1776172757364,
+ "modified": false
+ }
}
}
},
diff --git a/resources/views/orders/show.php b/resources/views/orders/show.php
index a0216e1..e2098ff 100644
--- a/resources/views/orders/show.php
+++ b/resources/views/orders/show.php
@@ -995,7 +995,7 @@ foreach ($addressesList as $address) {
watchPrintQueueButton(btn);
});
- // Auto-click ostatniej etykiety po utworzeniu przesylki (?printLast=1)
+ // Auto-click najnowszej etykiety po utworzeniu przesylki (?printLast=1)
(function autoClickLastLabel() {
if (!/[?&]printLast=1\b/.test(location.search)) return;
var attempts = 0;
@@ -1009,10 +1009,10 @@ foreach ($addressesList as $address) {
}
var buttons = document.querySelectorAll('.btn-print-label');
if (buttons.length > 0) {
- var last = buttons[buttons.length - 1];
+ var first = buttons[0];
clearInterval(timer);
cleanupPrintLastParam();
- last.click();
+ first.click();
}
}, 1000);
})();