-
-
Notifications
You must be signed in to change notification settings - Fork 43
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
When using rete and rete-angular-plugin in an Angular zoneless mode, connecting nodes in the Rete.js editor triggers an Angular ExpressionChangedAfterItHasBeenCheckedError. This occurs because external events from Rete.js do not automatically trigger Angular’s change detection in zoneless mode, resulting in UI state being out of sync and leading to runtime errors.
Example to reproduce
No response
How to reproduce
- Create a new zoneless project
- Install rete dependents
- Using basic example form https://retejs.org/examples/basic/angular
- Set up two nodes and attempt to connect
Expected behavior
Connecting nodes in the editor should work smoothly without triggering any Angular change detection errors, even in zoneless.
The editor UI should remain fully responsive, and all changes to node connections should be properly reflected in the interface without runtime errors.
Dependencies
─ @angular/build@20.1.5 -> .\node_modules\.pnpm\@angular+build@20.1.5_@angu_86df975aff9b9f3ba8b478ae6b35413f\node_modules\@angular\build
├── @angular/cli@20.1.5 -> .\node_modules\.pnpm\@angular+cli@20.1.5_@types+node@24.2.0_chokidar@4.0.3\node_modules\@angular\cli
├── @angular/common@20.1.6 -> .\node_modules\.pnpm\@angular+common@20.1.6_@ang_1660a228da4df96be88b2fa385a5db20\node_modules\@angular\common
├── @angular/compiler-cli@20.1.6 -> .\node_modules\.pnpm\@angular+compiler-cli@20.1._2026c2b0c4ba0d92b0d1f20c5981cf5f\node_modules\@angular\compiler-cli
├── @angular/compiler@20.1.6 -> .\node_modules\.pnpm\@angular+compiler@20.1.6\node_modules\@angular\compiler
├── @angular/core@20.1.6 -> .\node_modules\.pnpm\@angular+core@20.1.6_@angul_3bf0992bb3b6a916346d7abb471ee6f3\node_modules\@angular\core
├── @angular/elements@20.1.6 -> .\node_modules\.pnpm\@angular+elements@20.1.6_@a_63eaa6c0d81a5d2fdf855f6abc1e719e\node_modules\@angular\elements
├── @angular/forms@20.1.6 -> .\node_modules\.pnpm\@angular+forms@20.1.6_@angu_30063531ef11f814b43393da562363fe\node_modules\@angular\forms
├── @angular/platform-browser@20.1.6 -> .\node_modules\.pnpm\@angular+platform-browser@2_92feec0be9726f4d6134aba313373687\node_modules\@angular\platform-browser
├── @angular/router@20.1.6 -> .\node_modules\.pnpm\@angular+router@20.1.6_@ang_b079eeefdf6f9c9463a7882f1a02abae\node_modules\@angular\router
├── @types/jasmine@5.1.8 -> .\node_modules\.pnpm\@types+jasmine@5.1.8\node_modules\@types\jasmine
├── jasmine-core@5.8.0 -> .\node_modules\.pnpm\jasmine-core@5.8.0\node_modules\jasmine-core
├── karma-chrome-launcher@3.2.0 -> .\node_modules\.pnpm\karma-chrome-launcher@3.2.0\node_modules\karma-chrome-launcher
├── karma-coverage@2.2.1 -> .\node_modules\.pnpm\karma-coverage@2.2.1\node_modules\karma-coverage
├── karma-jasmine-html-reporter@2.1.0 -> .\node_modules\.pnpm\karma-jasmine-html-reporter_1edb5370476ed6f718d8b5acd707c6f3\node_modules\karma-jasmine-html-reporter
├── karma-jasmine@5.1.0 -> .\node_modules\.pnpm\karma-jasmine@5.1.0_karma@6.4.4\node_modules\karma-jasmine
├── karma@6.4.4 -> .\node_modules\.pnpm\karma@6.4.4\node_modules\karma
├── rete-angular-plugin@2.4.0 -> .\node_modules\.pnpm\rete-angular-plugin@2.4.0_@_59fbf118f6dee13aadb1998e01ee60a2\node_modules\rete-angular-plugin
├── rete-area-plugin@2.1.3 -> .\node_modules\.pnpm\rete-area-plugin@2.1.3_rete@2.0.6\node_modules\rete-area-plugin
├── rete-connection-plugin@2.0.5 -> .\node_modules\.pnpm\rete-connection-plugin@2.0._ff6348bd2f71d5cb869759c2b62f4e04\node_modules\rete-connection-plugin
├── rete-render-utils@2.0.3 -> .\node_modules\.pnpm\rete-render-utils@2.0.3_ret_3856da2c2f461047aaf4e89468be059d\node_modules\rete-render-utils
├── rete@2.0.6 -> .\node_modules\.pnpm\rete@2.0.6\node_modules\rete
├── rxjs@7.8.2 -> .\node_modules\.pnpm\rxjs@7.8.2\node_modules\rxjs
├── tslib@2.8.1 -> .\node_modules\.pnpm\tslib@2.8.1\node_modules\tslib
└── typescript@5.8.3 -> .\node_modules\.pnpm\typescript@5.8.3\node_modules\typescript
Platform
No response
Relevant log output
Code of Conduct
- I agree to follow this project's Code of Conduct
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working