MD.OFFICE
FAL

2026-04-17

Matrix Strict Types & Calculation Engine Hardening

  • Strict Matrix Formatting & Formula Scoping:
    • Bound matrix column (_sum) aggregates explicitly to valid numeric schema (type === 'number'), ensuring no text/dropdown grids evaluate pseudo-aggregations or UI spinners.
    • Imposed strict formula inclusion referencing strictly numeric items (@Col.N) and rendered non-numeric input elements completely blank for formula rows implicitly.
  • Dependency-Gated Performance Tweaks: Refactored the core underlying logic in MatrixComponent to debounce and only hit the HTTP Evaluate endpoints when actual matrix cell values directly referenced by an explicit matrix formula actually change—bypassing redundant 50/100 endpoint API queries dynamically for arbitrary user mutations. Added snapshot differential checks to eliminate race conditions.

E2E Testing Foundation (Playwright)

  • Lifecycle Baseline: Scaffolded an end-to-end framework test architecture leveraging Playwright, simulating actual JSON payload driven textboxes template loads (e2e/flows/dynaforms.flow.ts).
  • Category + Menu Shared Generation: Implemented dynamic cross-run creation strategies targeting a "shared category" to eliminate test data collision bloating inside database instances natively. Hardened locator isVisible() buffers to seamlessly wait on Angular components gracefully prior to interactions, dropping implicit UI clicks relying heavily on label tags.
  • POM Locators Re-Architecture: Implemented robust localized data-id implementations entirely across E2E dependencies (abandoning .getByRole() translations string dependencies) mitigating future breakable code and 500 error API loops during navigation drops.