Skip to content

ExpressionChangedAfterItHasBeenCheckedError when connecting nodes in zoneless project #152

@Ruisi-Lu

Description

@Ruisi-Lu

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

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 working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions