Ramonda

state-mutated-in-place

This fails the run. Where it is wrong about your code, // ramonda-check-ignore <reason> on the line says so, and the reason is printed on every run.

Reported when a @state array or object is changed in place — this.items.push(…), this.user.name = … — so the signal never fires.

The framework reports the same fault while running, as RMD005 and RMD048 — but only once the line actually runs. This is the same fault proved from the source instead.

A signal fires when it is ASSIGNED a new value, not when the value it holds changes inside. So this leaves the signal holding the object it was already holding: the setter never runs, nothing is scheduled, and the page keeps showing what it showed before. The data is right and the screen is wrong, which reads as the framework being broken rather than as a mistake in the code.

Replace the value instead of changing it:

this.items = [...this.items, row]; // rather than this.items.push(row) this.items = this.items.filter(keep); // rather than splice this.user = { ...this.user, name }; // rather than this.user.name = name

map, filter, slice and a spread are all left alone — they return a new value, which is the fix rather than the fault.

Next