Ramonda

RMD038 — A @watchProp selector threw

The selector returns undefined so the app keeps running, which means the watcher now sees a change that is not one.

It almost always reads through something absent, so guard the path as you drill into it — p.foo?.[5]?.bar. A selector runs on every props change and has to be total: no assertions, no lookups that can fail.

The console line carries the error the selector threw, stack included, which is what names the failing path. A record carries its message as text instead — see what a record may hold.

Next