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.
- Bound matrix column (
- Dependency-Gated Performance Tweaks: Refactored the core underlying logic in
MatrixComponentto 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-idimplementations entirely across E2E dependencies (abandoning.getByRole()translations string dependencies) mitigating future breakable code and 500 error API loops during navigation drops.