MC 900238 — Troskovi period filter fix (2026-08-25)
MC #900238 — Troškovi: mrtav period filter (2026-08-25)
Task: [Bilko][M][WEB][BUG] period/datum filter na Troškovima mijenja state koji niko ne čita — CEO našao na demo testu 25.08.
Stanje prije rada (verifikovano na azdo/main @ d01c304e)
apps/web/app/(dashboard)/expenses/page.tsx:146—periodFilterstate (default 'This Month'); jedina druga referenca je Select na :535. NIJE ufilteredExpensesuseMemo (253–297) ni u deps;fetchExpenses()bez parametara.- Backend VEĆ podržava datumski raspon:
ExpenseRoutes.kt:76–92(fromDate/toDate, YYYY-MM-DD validacija, 400 na pogrešan format) →ExpenseService.listExpenses. - Ista klasa kao #106386 (purchases, Angie 22.08: „suite ostaje zelen" bez integracionog čuvara); E2E
expenses.spec.tsima category test, nula period testova.
Plan
Pi žica periodFilter → fetchExpenses(fromDate, toDate) (server-side), dodaje integracioni čuvar „izaberi period → fetch dobio raspon" (obrazac iz #106386 opisa, pointer-event polyfill za Radix Select) + čuvar da promjena perioda MIJENJA rezultat. Purchases rupe ostaju #106386 (isti CI prozor kasnije). PR u red POSLIJE PR #409/#410 buildova — bez kancelovanja.
Rezultat (2026-08-25 ~17:55)
- PR #412 (pi): commit e22fb889 (žica na server-side fromDate/toDate, svih 5 opcija, race guard) + 8dc... E2E period test (dedup follow-up ec889d40). Vitest čuvari 3/3 + kanarinac (bez žice tačno 2 pada); ciljani expenses 17/17; next build exit0.
- Validacija: build 1346 zelen → merge 06b599ec.
- STAGE ŽIV: bilko-api/web-stage na stage-06b599ec (health 200) — build 1347 "failed" SAMO na prekratkoj readiness sondi POSLIJE uspješnog image update-a (2. pojava, up. 1328) — zaseban fix task.
- Duplikat dispatcha (WAVE2 sesija) spriječen: DECLINED s dokazom; pi dedupovao E2E na isti PR.
- Evidence: ~/system/evidence/900238/ (p2p reply, duplicate-followup-report.md).