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

cherry-pick(#7057): Memory leak fixes for several views #7070

Merged
merged 1 commit into from Sep 20, 2023

Conversation

ozyx
Copy link
Member

@ozyx ozyx commented Sep 20, 2023

Issue #4406
Issue #4209

  • Change the mount utility to use Vue's createApp and defineComponent methods

  • Fix display layout memory leaks caused by getSelectionContext

  • fix some display layout leaks due to use of slots

  • Fix imagery memory leak (removed span tag). NOTE: CompassRose svg leaks memory - must test on firefox to see if this is a Chrome leak.

  • Fix ActionsAPI action collection and applicable actions leak.

  • Fix flexible layout memory leaks - remove listeners on unmount. NOTE: One type of overlay plot (Rover Yaw) is still leaking.

  • pass in the el on mount

  • e2e test config and spec changes

  • Remove mounting of limit lines. Use components directly

  • test: remove .only()

  • Fix display layout memory leaks

  • Enable passing tests

  • e2e README and appActions should be what master has.

  • lint: add word to cspell list

  • lint: fixes

  • lint:fix

  • fix: revert el change

  • fix: remove empty span

  • fix: creating shapes in displayLayout

  • fix: avoid splice as it loses reactivity

  • test: reduce timeout time

  • quick fixes

  • add prod mode and convert the test config to select the correct mode

  • Fix webpack prod config

  • Add launch flag for exposing window.gc

  • never worked

  • explicit naming

  • rename

  • We don't need to destroy view providers

  • test: increase timeout time

  • test: unskip all mem tests

  • fix(vue-loader): disable static hoisting

  • chore: run test:perf:memory

  • Don't destroy view providers

  • Move context menu once listener to beforeUnmount instead.

  • Disconnect all resize observers on unmount

  • Delete Test vue component

  • Use beforeUnmount and remove splice(0) in favor of [] for emptying arrays

  • re-structure

  • fix: unregister listener in pane.vue

  • test: tweak timeouts

  • chore: lint:fix

  • test: unskip perf tests

  • fix: unregister events properly

  • fix: unregister listener

  • fix: unregister listener

  • fix: unregister listener

  • fix: use unmounted()

  • fix: unregister listeners

  • fix: unregister listener properly

  • chore: lint:fix

  • test: fix imagery layer toggle test

  • test: increase timeout

  • Don't use anonymous functions for listeners

  • Destroy objects and event listeners properly

  • Delete config stores that are created by components

  • Use the right unmount hook. Destroy mounted view on unmount.

  • Use unmounted, not beforeUnmounted

  • Lint fixes

  • Fix time strip memory leak

  • Undo unneeded change for memory leaks.

  • chore: combine common webpack configs

* Change the mount utility to use Vue's createApp and defineComponent methods

* Fix display layout memory leaks caused by `getSelectionContext`

* fix some display layout leaks due to use of slots

* Fix imagery memory leak (removed span tag). NOTE: CompassRose svg leaks memory - must test on firefox to see if this is a Chrome leak.

* Fix ActionsAPI action collection and applicable actions leak.

* Fix flexible layout memory leaks - remove listeners on unmount. NOTE: One type of overlay plot (Rover Yaw) is still leaking.

* pass in the el on mount

* e2e test config and spec changes

* Remove mounting of limit lines. Use components directly

* test: remove `.only()`

* Fix display layout memory leaks

* Enable passing tests

* e2e README and appActions should be what master has.

* lint: add word to cspell list

* lint: fixes

* lint:fix

* fix: revert `el` change

* fix: remove empty span

* fix: creating shapes in displayLayout

* fix: avoid `splice` as it loses reactivity

* test: reduce timeout time

* quick fixes

* add prod mode and convert the test config to select the correct mode

* Fix webpack prod config

* Add launch flag for exposing window.gc

* never worked

* explicit naming

* rename

* We don't need to destroy view providers

* test: increase timeout time

* test: unskip all mem tests

* fix(vue-loader): disable static hoisting

* chore: run `test:perf:memory`

* Don't destroy view providers

* Move context menu once listener to beforeUnmount instead.

* Disconnect all resize observers on unmount

* Delete Test vue component

* Use beforeUnmount and remove splice(0) in favor of [] for emptying arrays

* re-structure

* fix: unregister listener in pane.vue

* test: tweak timeouts

* chore: lint:fix

* test: unskip perf tests

* fix: unregister events properly

* fix: unregister listener

* fix: unregister listener

* fix: unregister listener

* fix: use `unmounted()`

* fix: unregister listeners

* fix: unregister listener properly

* chore: lint:fix

* test: fix imagery layer toggle test

* test: increase timeout

* Don't use anonymous functions for listeners

* Destroy objects and event listeners properly

* Delete config stores that are created by components

* Use the right unmount hook. Destroy mounted view on unmount.

* Use unmounted, not beforeUnmounted

* Lint fixes

* Fix time strip memory leak

* Undo unneeded change for memory leaks.

* chore: combine common webpack configs

---------

Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: John Hill <john.c.hill@nasa.gov>
@ozyx ozyx added this to the Target:3.0.2 milestone Sep 20, 2023
@ozyx ozyx requested review from akhenry, shefalijoshi and scottbell and removed request for akhenry, shefalijoshi and scottbell September 20, 2023 17:43
@unlikelyzero unlikelyzero added the pr:e2e:couchdb npm run test:e2e:couchdb label Sep 20, 2023
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

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

CodeQL found more than 10 potential problems in the proposed changes. Check the Files changed tab for more details.

@deploysentinel
Copy link

deploysentinel bot commented Sep 20, 2023

Current Playwright Test Results Summary

✅ 138 Passing - ⚠️ 1 Flaky

Run may still be in progress, this comment will be updated as current testing workflow or job completes...

(Last updated on 09/20/2023 05:58:59pm UTC)

Run Details

Running Job e2e-stable on CircleCI

Commit: 053f1a8

Started: 09/20/2023 05:52:17pm UTC

⚠️ Flakes

📄   functional/plugins/notebook/restrictedNotebook.e2e.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Restricted Notebook with a page locked and with an embed @addinit Disallows embeds to be deleted if page locked @addinit
Retry 1Initial Attempt
1.83% (2) 2 / 109 runs
failed over last 7 days
35.78% (39) 39 / 109 runs
flaked over last 7 days

View Detailed Build Results


Current Playwright Test Results Summary

✅ 14 Passing - ⚠️ 1 Flaky

Run may still be in progress, this comment will be updated as current testing workflow or job completes...

(Last updated on 09/20/2023 05:58:59pm UTC)

Run Details

Running Workflow e2e-couchdb on Github Actions

Commit: 053f1a8

Started: 09/20/2023 05:46:52pm UTC

⚠️ Flakes

📄   functional/plugins/displayLayout/displayLayout.e2e.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Display Layout When multiple plots are contained in a layout, we only ask for annotations once @couchdb
Retry 2Retry 1Initial Attempt
8.70% (4) 4 / 46 runs
failed over last 7 days
36.96% (17) 17 / 46 runs
flaked over last 7 days

View Detailed Build Results


@github-actions github-actions bot removed the pr:e2e:couchdb npm run test:e2e:couchdb label Sep 20, 2023
@ozyx ozyx enabled auto-merge (squash) September 20, 2023 17:50
@ozyx ozyx merged commit 97deec2 into release/3.0.2 Sep 20, 2023
13 of 24 checks passed
@ozyx ozyx deleted the cherry-pick-7057 branch September 20, 2023 17:59
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.

None yet

4 participants