angular/packages/forms/signals
arturovt f43bad4d7b perf(forms): avoid spurious recomputation in FormField.parseErrors
`parseErrors` in `FormField` always produced a new array on every recomputation, even when nothing actually changed. The `?? []` fallback created a new empty array whenever `parseErrorsSource` was undefined, and `.map()` also returned new object references each time.

Since computed signals use reference equality by default, those new arrays were treated as changed values. That caused unnecessary updates to propagate through `validationState.parseErrors` and the combined errors chain, triggering extra recomputations during change detection.

Fix this by adding `{equal: shallowArrayEquals}` to the `parseErrors` computed, matching the existing `errors` computed and the validation computeds in `field/validation.ts`.

This prevents empty arrays from triggering updates while still correctly propagating real parse-error changes.
2026-05-18 13:08:33 -07:00
..
compat feat(forms): graduate signal forms APIs to public API 2026-05-06 12:01:41 -07:00
src perf(forms): avoid spurious recomputation in FormField.parseErrors 2026-05-18 13:08:33 -07:00
test refactor(forms): add provideExperimentalWebMcpForms 2026-05-15 11:35:22 -07:00
BUILD.bazel refactor(forms): add provideExperimentalWebMcpForms 2026-05-15 11:35:22 -07:00
index.ts feat(forms): add experimental signal-based forms (#63408) 2025-08-28 09:02:43 -07:00
PACKAGE.md build: configure signal forms for release (#63458) 2025-08-29 14:31:35 -07:00
public_api.ts refactor(forms): add provideExperimentalWebMcpForms 2026-05-15 11:35:22 -07:00