Skip to main content

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:146periodFilter state (default 'This Month'); jedina druga referenca je Select na :535. NIJE u filteredExpenses useMemo (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.ts ima category test, nula period testova.

Plan

Pi žica periodFilterfetchExpenses(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).