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

Ensure that dynamically created vue components are destroyed. #6948

Merged
merged 3 commits into from
Aug 17, 2023

Conversation

shefalijoshi
Copy link
Contributor

@shefalijoshi shefalijoshi commented Aug 16, 2023

Closes VIPEROMCT-392

Describe your changes:

For dynamically created Vue component instances, make sure the destroy method on the mount utility is called (which in turn triggers the Vue unmount lifecycle hook).

Note: I noticed that there is no API to remove indicators in the Indicator API. Is this by design? Some indicator components are created dynamically and should be destroyed but there is no hook to destroy them. I guess the hope here is that they will unmount when Open MCT is unloaded.

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Is this change backwards compatible? For example, developers won't need to change how they are calling the API or how they've extended core plugins such as Tables or Plots.

Author Checklist

  • Changes address original issue?
  • Tests included and/or updated with changes?
  • Command line build passes?
  • Has this been smoke tested?
  • Testing instructions included in associated issue OR is this a dependency/testcase change?

Reviewer Checklist

  • Changes appear to address issue?
  • Reviewer has tested changes by following the provided instructions?
  • Changes appear not to be breaking changes?
  • Appropriate automated tests included?
  • Code style and in-line documentation are appropriate?
  • Has associated issue been labelled unverified? (only applicable if this PR closes the issue)
  • Has associated issue been labelled bug? (only applicable if this PR is for a bug fix)

@deploysentinel
Copy link

deploysentinel bot commented Aug 16, 2023

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 08/17/2023 11:23:43pm UTC)

Run Details

Running Workflow e2e-couchdb on Github Actions

Commit: 26f67d2

Started: 08/17/2023 11:21:18pm 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 1Initial Attempt
11.29% (7) 7 / 62 runs
failed over last 7 days
27.42% (17) 17 / 62 runs
flaked over last 7 days

View Detailed Build Results


Current Playwright Test Results Summary

✅ 136 Passing - ⚠️ 3 Flaky

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

(Last updated on 08/17/2023 11:23:43pm UTC)

Run Details

Running Job e2e-stable on CircleCI

Commit: 26f67d2

Started: 08/17/2023 10:46:10pm UTC

⚠️ Flakes

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

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Telemetry Table unpauses and filters data when paused by button and user changes bounds
Retry 1Initial Attempt
3.95% (6) 6 / 152 runs
failed over last 7 days
13.82% (21) 21 / 152 runs
flaked over last 7 days

📄   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
0% (0) 0 / 155 runs
failed over last 7 days
40.65% (63) 63 / 155 runs
flaked over last 7 days

📄   functional/planning/timelist.e2e.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Time List Create a Time List, add a single Plan to it and verify all the activities are displayed with no milliseconds
Retry 1Initial Attempt
0% (0) 0 / 187 runs
failed over last 7 days
55.61% (104) 104 / 187 runs
flaked over last 7 days

View Detailed Build Results


@codecov
Copy link

codecov bot commented Aug 16, 2023

Codecov Report

Merging #6948 (26f67d2) into master (3f80b53) will increase coverage by 0.02%.
The diff coverage is 81.25%.

@@            Coverage Diff             @@
##           master    #6948      +/-   ##
==========================================
+ Coverage   48.29%   48.31%   +0.02%     
==========================================
  Files         643      643              
  Lines       25706    25719      +13     
  Branches     2509     2512       +3     
==========================================
+ Hits        12414    12427      +13     
  Misses      12812    12812              
  Partials      480      480              
Flag Coverage Δ *Carryforward flag
e2e-full 42.06% <ø> (-0.01%) ⬇️ Carriedforward from 3f80b53
e2e-stable 57.20% <100.00%> (+0.04%) ⬆️
unit 38.70% <43.75%> (-0.01%) ⬇️

*This pull request uses carry forward flags. Click here to find out more.

Files Changed Coverage Δ
.../notebook/components/NotebookSnapshotIndicator.vue 74.07% <ø> (+3.24%) ⬆️
src/plugins/plot/stackedPlot/StackedPlotItem.vue 0.00% <ø> (ø)
src/plugins/imagery/components/ImageryTimeView.vue 71.42% <50.00%> (-1.46%) ⬇️
src/plugins/charts/scatter/plugin.js 63.63% <100.00%> (+3.63%) ⬆️
src/plugins/clearData/plugin.js 100.00% <100.00%> (ø)
src/plugins/gauge/GaugePlugin.js 40.00% <100.00%> (+3.63%) ⬆️
src/plugins/notebook/plugin.js 97.43% <100.00%> (ø)
src/plugins/notificationIndicator/plugin.js 100.00% <100.00%> (ø)
src/plugins/userIndicator/plugin.js 85.71% <100.00%> (ø)

... and 5 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3f80b53...26f67d2. Read the comment docs.

@ozyx ozyx added this to the Target:3.0.1 milestone Aug 16, 2023
@ozyx ozyx self-requested a review August 16, 2023 23:49
Copy link
Contributor

@ozyx ozyx left a comment

Choose a reason for hiding this comment

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

LGTM

@ozyx ozyx added the pr:e2e:couchdb npm run test:e2e:couchdb label Aug 17, 2023
@ozyx ozyx enabled auto-merge (squash) August 17, 2023 23:18
@github-actions github-actions bot removed the pr:e2e:couchdb npm run test:e2e:couchdb label Aug 17, 2023
@ozyx ozyx merged commit bada228 into master Aug 17, 2023
@ozyx ozyx deleted the fix-vue-component-memory-leaks branch August 17, 2023 23:24
davetsay pushed a commit that referenced this pull request Aug 21, 2023
…e destroyed (#6958)

cherry-pick(6984): Ensure that dynamically created vue components are destroyed. (#6948)

Co-authored-by: Jesse Mazzella <[email protected]>
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.

2 participants