- base.html: #modal-detaliu (role=dialog, aria-modal) + #detaliu-modal-body swap target; focus-trap, inert+aria-hidden pe <main>, Esc/backdrop/x inchid, listener trimiteriChanged (R5/R7) - _coada.html: ancora modal in afara #submissions-wrap; sters #trimitere-detaliu inert vechi - _submissions.html: randul declanseaza modalul; sters tr.detaliu-rand sibling (R3) - _trimitere_detaliu.html: script rescris pentru modal, fara marcheazaDetaliuDeschis/scrollIntoView (R4) - teste: test_web_modal.py nou (3); test_web_detaliu_inline.py sters; test_acasa_trimiteri.py curatat (R3) - gates: pytest PASS (suita completa 819). Browser E2E + design-review deferate la VERIFY. Salvat manual: iteratiile Ralph 2-12 au ramas fara turns (30) inainte de commit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
37 lines
2.1 KiB
Plaintext
37 lines
2.1 KiB
Plaintext
# Ralph Progress Log
|
|
Started: 2026-06-24
|
|
Project: autopass-5.9-ux-corectie-modal-mobil
|
|
Branch: ralph/5.9-ux-corectie-modal-mobil
|
|
Source PRD: docs/prd/prd-5.9-ux-corectie-modal-mobil.md
|
|
Note: PRD APROBAT 2026-06-24 cu revizii obligatorii R1-R12 (raport AUTOPLAN). R1-R12 au prioritate unde difera de AC original — sunt deja incorporate in acceptance criteria.
|
|
---
|
|
|
|
## Iteratie: 2026-06-24
|
|
### Story implementat: US-001 - Eticheta umana scurta pe randul de afisare + cod brut disponibil pentru modal (R1) (tags: backend)
|
|
### Status: Complete
|
|
|
|
### Gates rulate:
|
|
- Typecheck: SKIP (techStack.commands.typecheck gol)
|
|
- Lint: SKIP (techStack.commands.lint gol)
|
|
- Tests: PASS (tests/test_web_submissions.py 22; suita completa 819 passed, 1 deselected)
|
|
- /review (backend): PASS — no issues (DRY respectat, defensiv, aditiv non-regresie)
|
|
|
|
### Ce s-a schimbat:
|
|
- app/web/routes.py: helper `_eticheta_problema(status, motiv)` + constanta `_STARI_CU_PROBLEMA`;
|
|
`_submission_row_view` hoisteaza `motiv` intr-o variabila si adauga campul `eticheta_problema`
|
|
(text uman scurt: motiv || eticheta_scurta; gol pe queued/sending/sent).
|
|
- app/web/labels.py: `parse_erori` expune cheia `cod` (cod brut de catalog) pe ramurile imbogatite
|
|
(lista + dict), pentru ca modalul (US-004) sa-l deriveze via parse_erori(...)[0]['cod'] — fara decoder nou (R1 DRY).
|
|
- tests/test_web_submissions.py: 5 teste US-001 (sub_pill R1 rename, error/needs_mapping prezent, gol pe ok, defensiv JSON invalid).
|
|
|
|
### Learnings:
|
|
- `parse_erori` traieste in app/web/labels.py (nu app/errors.py cum sugera AC#4) — `app/errors.py` defineste CATALOG-ul de coduri si `eroare()`.
|
|
- `_GESTIONABILE_WEB` == aceleasi 3 stari cu problema; am definit `_STARI_CU_PROBLEMA` separat pentru claritate semantica (gestionabil != are-problema conceptual).
|
|
- Eticheta de pe rand e adaugata DOAR in view-model; randarea sub pill apartine US-002 (de aceea testele sunt unitare pe _submission_row_view).
|
|
|
|
### Next:
|
|
- US-003 (modal, ui, requiresDesignReview) — independent, priority 15.
|
|
- US-002 depinde de US-001 (acum done) + US-003.
|
|
---
|
|
## Rate limit la iter 10 — sleep 1800
|