Skip to content

fix: clean up event listeners in OverlayComponent and SSModeComponent#763

Merged
EdwardMoyse merged 2 commits intoHSF:mainfrom
codeMaestro78:fix/memory-leak-event-listeners
Dec 24, 2025
Merged

fix: clean up event listeners in OverlayComponent and SSModeComponent#763
EdwardMoyse merged 2 commits intoHSF:mainfrom
codeMaestro78:fix/memory-leak-event-listeners

Conversation

@codeMaestro78
Copy link
Copy Markdown
Contributor

Summary

Fixes memory leaks caused by event listeners not being cleaned up when Angular components are destroyed.

Closes #762

Problem

OverlayComponent

  • Added window.addEventListener('resize', ...) without cleanup
  • Used anonymous function making removal impossible

SSModeComponent

  • document.onfullscreenchange never cleared
  • click/touchstart listeners persist after component destruction

Solution

  • Implemented OnDestroy lifecycle hook in both components
  • Created bound handler references for proper cleanup
  • Added ngOnDestroy() to remove all event listeners

Testing

  • No TypeScript compilation errors
  • Existing functionality preserved

Copilot AI review requested due to automatic review settings December 24, 2025 11:42
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses memory leaks by implementing proper cleanup of event listeners in two Angular components when they are destroyed.

  • Implemented OnDestroy lifecycle hook in both OverlayComponent and SSModeComponent
  • Created bound handler references to enable proper event listener removal
  • Added ngOnDestroy() methods to clean up all registered event listeners

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
ss-mode.component.ts Added OnDestroy implementation to clean up fullscreenchange, click, and touchstart event listeners
overlay.component.ts Added OnDestroy implementation with bound resize handler reference for proper window resize listener cleanup

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Add OnDestroy lifecycle hook to both components
- Store resize handler reference for proper cleanup in OverlayComponent
- Clear fullscreenchange and click/touchstart listeners in SSModeComponent

Prevents memory leaks from accumulated event listeners during component lifecycle.

Fixes HSF#762
@codeMaestro78 codeMaestro78 force-pushed the fix/memory-leak-event-listeners branch from 621c4b2 to 54ba286 Compare December 24, 2025 11:49
@EdwardMoyse
Copy link
Copy Markdown
Collaborator

Limiting errors can be fixed with 'yarn lint:fix'

@EdwardMoyse EdwardMoyse merged commit 13838eb into HSF:main Dec 24, 2025
2 checks passed
@EdwardMoyse
Copy link
Copy Markdown
Collaborator

Thank you very much for this!

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.

Bug: Memory leak: Event listeners not cleaned up in OverlayComponent and SSModeComponent

3 participants