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

Synchronize timers between multiple users #6885

Merged
merged 7 commits into from Aug 2, 2023
Merged

Synchronize timers between multiple users #6885

merged 7 commits into from Aug 2, 2023

Conversation

akhenry
Copy link
Contributor

@akhenry akhenry commented Aug 2, 2023

Closes #6880

Describe your changes:

Thanks to @jvigliotta and @ozyx for doing most of the work here, allowing me to swoop in and claim the credit.

  • Simplified the way timers calculate their delta to remove the possibility of timers getting out of sync.
  • Synchronize timer object model using a * listener. This is gross, but I think we were hitting an issue with properties on proxied objects being replaced with non-proxied versions when a refresh happens

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 2, 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/02/2023 11:20:26pm UTC)

Run Details

Running Workflow e2e-couchdb on Github Actions

Commit: 6358b9c

Started: 08/02/2023 11:17:36pm 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
9.84% (6) 6 / 61 runs
failed over last 7 days
19.67% (12) 12 / 61 runs
flaked over last 7 days

View Detailed Build Results


Current Playwright Test Results Summary

✅ 131 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/02/2023 11:20:26pm UTC)

Run Details

Running Job e2e-stable on CircleCI

Commit: 6358b9c

Started: 08/02/2023 11:02:31pm UTC

⚠️ Flakes

📄   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
2.16% (3) 3 / 139 runs
failed over last 7 days
21.58% (30) 30 / 139 runs
flaked over last 7 days

View Detailed Build Results


@codecov
Copy link

codecov bot commented Aug 2, 2023

Codecov Report

Merging #6885 (6358b9c) into master (c630569) will decrease coverage by 0.03%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master    #6885      +/-   ##
==========================================
- Coverage   48.27%   48.25%   -0.03%     
==========================================
  Files         643      644       +1     
  Lines       25629    25636       +7     
  Branches     2505     2499       -6     
==========================================
- Hits        12373    12371       -2     
- Misses      12783    12789       +6     
- Partials      473      476       +3     
Flag Coverage Δ *Carryforward flag
e2e-full 41.99% <ø> (ø) Carriedforward from 6648113
e2e-stable 56.41% <87.50%> (+0.04%) ⬆️
unit 38.71% <0.00%> (-0.09%) ⬇️

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

Files Changed Coverage Δ
src/plugins/timer/components/Timer.vue 4.76% <0.00%> (+1.53%) ⬆️
src/utils/throttle.js 87.50% <87.50%> (ø)

... and 10 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 c630569...6358b9c. Read the comment docs.

@akhenry akhenry changed the title Simplify timers Synchronize timers between multiple users Aug 2, 2023
@akhenry akhenry requested a review from ozyx August 2, 2023 22:43
@ozyx ozyx added the pr:e2e:couchdb npm run test:e2e:couchdb label Aug 2, 2023
@github-actions github-actions bot removed the pr:e2e:couchdb npm run test:e2e:couchdb label Aug 2, 2023
@ozyx ozyx merged commit 676bb81 into master Aug 2, 2023
16 of 17 checks passed
@ozyx ozyx deleted the simplify-timers branch August 2, 2023 23:30
@akhenry akhenry mentioned this pull request Aug 2, 2023
15 tasks
ozyx added a commit that referenced this pull request Aug 2, 2023
* created a throttle util and using it in timer plugin to throttle refreshing the timer domain object

* Simplify timer logic

* Clarify code a little

* refactor: lint:fix

* Fix linting issue

---------

Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
Co-authored-by: Jesse Mazzella <jesse.d.mazzella@nasa.gov>
Co-authored-by: Jesse Mazzella <ozyx@users.noreply.github.com>
shefalijoshi pushed a commit that referenced this pull request Aug 2, 2023
* created a throttle util and using it in timer plugin to throttle refreshing the timer domain object

* Simplify timer logic

* Clarify code a little

* refactor: lint:fix

* Fix linting issue

---------

Co-authored-by: Andrew Henry <akhenry@gmail.com>
Co-authored-by: Jamie V <jamie.j.vigliotta@nasa.gov>
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.

Changes in timer state are not observed by other users
3 participants