Skip to content

[IMP] reactivity: rename signal.invalidate to signal.trigger#1871

Merged
mcm-odoo merged 3 commits into
masterfrom
master-invalidate-rename
Apr 23, 2026
Merged

[IMP] reactivity: rename signal.invalidate to signal.trigger#1871
mcm-odoo merged 3 commits into
masterfrom
master-invalidate-rename

Conversation

@ged-odoo
Copy link
Copy Markdown
Contributor

The name "invalidate" described the internal effect rather than the user's intent; "trigger" makes the API clearer at the call site when manually notifying subscribers after an in-place mutation.

closes #1870

@ged-odoo ged-odoo force-pushed the master-invalidate-rename branch 2 times, most recently from 85fcf42 to 971e859 Compare April 23, 2026 10:43
The name "invalidate" described the internal effect rather than the user's
intent; "trigger" makes the API clearer at the call site when manually
notifying subscribers after an in-place mutation. Mirrors Vue's triggerRef.

closes #1870
scope.ts only re-exported symbols from owl-core. Pull the public surface
directly from owl-core in index.ts, and have internal modules import from
owl-core as well.
Two related sources of noise when an error bubbled out unhandled:

1. As the throw unwound through each ancestor's render catch block,
   handleError was re-entered at every component level — each frame
   finalizing again and wrapping the already-wrapped OwlError, producing
   nested "Caused by: [Owl] Unhandled error" chains proportional to
   component depth.

2. Even a single-level wrap added little value when the underlying error
   was already an OwlError (e.g. invalid props, missing component,
   template compile failure) — the inner message already identifies the
   failure.

Mark the App as destroyed in destroy(), short-circuit handleError /
forwardErrorToParent on re-entry so the propagating error is not
re-handled, and skip the "Unhandled error. Destroying the root component"
wrapper when the error is already an OwlError. Non-OwlErrors (TypeError,
etc.) still get wrapped so the user sees that the app was destroyed.
@ged-odoo ged-odoo force-pushed the master-invalidate-rename branch from 971e859 to 10744ae Compare April 23, 2026 11:02
@mcm-odoo mcm-odoo merged commit 2220e1d into master Apr 23, 2026
2 checks passed
@mcm-odoo mcm-odoo deleted the master-invalidate-rename branch April 23, 2026 11:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reconsider the signal.invalidate terminology

2 participants