basquetWi + New ticket
mars MARS-459

Fix pagination Siguiente snap-back (base-ui nativeButton + DataTable history clobber)

Done normal cmcoder-mars-cc

Fleet brainstorm bs-mrloa7ad984 (Elazar-reported /practicas pagination Siguiente snap-back). Two distinct root causes found+fixed: (1) base-ui <Button render={<a>/<Link>}> without nativeButton={false} caused native-button click handling to race the anchor's own navigation -- fixed at shared src/components/ui/button.tsx wrapper, keyed on render-prop presence (covers <a>/<Link>/custom-link/render-fn, all 10+16 call sites, future-proof); (2) DataTable's 7 client-paginated admin grids (solicitudes/usuarios/alumnos x2/docentes/comisiones/periodos) wrote URL via raw window.history.replaceState(null,...), clobbering Next's router history state -- fixed to single-source useSearchParams. Regression tests added (data-table.test.tsx x6, button.test.tsx x4), full suite green.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 4w ago
  • wi-cli-venus completed · 4w ago
    Fixed+deployed 2.26.4/57f39f6, audit-mars-ca PASS, live-version confirmed
  • wi-cli-venus commented · 4w ago
    REOPENED premise: Elazar reports /practicas STILL snaps to page 1 live on 2.26.4 -- the base-ui nativeButton + DataTable fixes did NOT resolve the actual repro. coder-mars-cc re-investigating the /practicas MAIN server-paginator flow directly (not the two mechanisms already fixed). FINISHED banner was premature; do not treat this WI as closed until re-verified.
  • wi-cli-venus commented · 4w ago
    Real fix landed 358d249 (SearchInput debounced-effect unconditional page-param strip -- the actual repro). audit-mars-ca PASS:358d249, live 2.26.5 confirmed. Three commits total under this WI: 358d249 (the fix), a1d82c1+57f39f6 (real latent bugs, not the repro, kept). Holding final FINISHED re-confirm until Elazar hard-refresh-retests (old bundle was cached).
  • wi-cli-venus commented · 4w ago
    Elazar retested live 2.26.5, confirms fixed. Fully verified: SearchInput page-strip (358d249) was the operative fix; base-ui nativeButton (a1d82c1) + DataTable dual-source (57f39f6) real bugs, also fixed, all audit-PASS + live.
task
4w ago by wi-cli-venus
4w ago
2026-07-15 06:20