Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOM Nodes Not Being Released In Angular App #23141

Closed
3 tasks done
seanareed opened this issue Apr 16, 2020 · 2 comments
Closed
3 tasks done

DOM Nodes Not Being Released In Angular App #23141

seanareed opened this issue Apr 16, 2020 · 2 comments

Comments

@seanareed
Copy link

Preflight Checklist

  • I have read the Contributing Guidelines for this project.
  • I agree to follow the Code of Conduct that this project adheres to.
  • I have searched the issue tracker for an issue that matches the one I want to file, without success.

Issue Details

  • Electron Version:
    • v8.2.2
  • Operating System:
    • macOS 10.15.4
  • Last Known Working Electron version:
    • N/A

Expected Behavior

Expecting DOM nodes to be removed periodically.

Actual Behavior

DOM nodes are not being released when I enter a text-input value into a form and navigate away from the page. This is happening with an Angular application that is running within Electron.

It does not happen if I navigate between the two pages without touching the text-input field.

It does not happen if I serve the exact same Angular app using the Angular Live Development Server outside of Electron in a Chrome browser with no third-party extensions. This has been tested with Google Chrome stable 81.0.4044.92 as well as canary build 84.0.4114.0 and with Chromium 84.0.4114.0 and 80.0.3987.0.

A similar behavior does happen when the app is served outside of Electron and the 1Password extension is enabled in the browser.

I think this looks like a bug, since it's not happening with the same app outside of Electron, but if I'm doing something wrong or if there's an adequate workaround, please let me know.

To Reproduce

Minimal reproduction can be cloned from https://github.com/seanareed/sr-electron-mini-reproduction-1.

Then, the first time running:

$ yarn install
$ yarn build-start

After that, to run as Electron:

$ yarn start

...or to serve as an Angular-only app on Angular Live Development Server:

$ yarn serve

Screenshots

Nodes, JS heap, and listeners when simply navigating back and forth without entering anything into the form's text input box:

simple-back-and-forth-no-form-input-nodes-heap-listeners

Nodes, JS heap, and listeners when navigating to Add-Edit, entering text into the input field, and navigating back to Home without submitting:

form-text-entered-and-leave-nodes-heap-listeners

The same but just the nodes:

form-text-entered-and-leave-nodes

Additional Information

I originally submitted this as a bug report to the Angular issues page, but it might not be an Angular issue. That report and conversation is here: angular/angular#36590

@vladimiry
Copy link

I've recently noticed that the memory consumption by the primary renderer process of the ElectronMail app I used to maintain gets grown over time quite faster than before but I didn't investigate the case yet. Normally after a day of app use on a similar dataset the process memory consumption was about 140-160MB but now it gets bigger than 200MB and keeps growing. The angular v9.1.1 and electron v9.0.0-beta.14 are being used.

@electron-triage
Copy link

The Electron version reported on this issue is no longer supported. See our supported versions documentation.

If you're still experiencing this issue on a supported version, please open a new issue with an updated repro - a Fiddle is very appreciated.

Electron has a large issues backlog. To help our team prioritize, we're closing older issues and asking for new issues with updated repro steps if it affects a supported version. This helps sort what issues are still relevant and helps us fix them more quickly.

Thanks for your patience and understanding!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants