Fix: Add OnDestroy and Subscription sink to prevent memory leaks in core components#82
Fix: Add OnDestroy and Subscription sink to prevent memory leaks in core components#82Anurag-elitx wants to merge 1 commit into
Conversation
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
✨ 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 |
Description
Resolved major memory leak vulnerabilities across the application's most heavily used components (
case-sheet,beneficiary-registration, and varioussio-services). By correctly implementing Angular'sOnDestroylifecycle hook and using aSubscriptionsink pattern, we ensure that components and their associated data are properly garbage collected when an agent navigates away.This addresses known performance degradation issues during long-running agent sessions and aligns with best practices for the upcoming Angular 19 migration.
Related to PSMRI/AMRIT#129
Changes Made
OnDestroyinterface in critical components.subscriptionSink = new Subscription()to pool active subscriptions..subscribe()calls inthis.subscriptionSink.add().ngOnDestroy()to tear down subscriptions upon component destruction.Affected Components
CaseSheetComponentBeneficiaryRegistration104ComponentSioGrievienceServiceComponentSioBloodOnCallServiceComponentSioFoodSafetyServiceComponent