Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe Angular virtualizer now updates ChangesAngular signal update
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~5 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to The update avoids the reported Angular error while continuing to notify signal consumers. No actionable merge risk remains. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Fixes #1096.
onChangecallsreactiveVirtualizer.set(instance)to update alinkedSignal. When a template readsvirtualizer.getVirtualItems()inside a computed or effect, Angular evaluates the computed eagerly on change detection. Theset()insideonChangethen fires within that evaluation context, triggeringNG0600: Writing to signals is not allowed in a computed or an effect.untrackedis already imported at line 11. Wrapping theset()call inuntracked()escapes the reactive context and silences the error without changing behavior — the signal still updates and downstream computeds re-evaluate on the next tick.Summary by CodeRabbit