-
Notifications
You must be signed in to change notification settings - Fork 286
fix: ensure iframe visibility tracking is triggered on load #1777
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
fix: ensure iframe visibility tracking is triggered on load #1777
Conversation
Thanks for the pull request, @Agrendalath! This repository is currently maintained by Once you've gone through the following steps feel free to tag them in a comment and let them know that your changes are ready for engineering review. 🔘 Get product approvalIf you haven't already, check this list to see if your contribution needs to go through the product review process.
🔘 Provide contextTo help your reviewers and other members of the community understand the purpose and larger context of your changes, feel free to add as much of the following information to the PR description as you can:
🔘 Get a green buildIf one or more checks are failing, continue working on your changes until this is no longer the case and your build turns green. Where can I find more information?If you'd like to get more details on all aspects of the review process for open source pull requests (OSPRs), check out the following resources: When can I expect my changes to be merged?Our goal is to get community contributions seen and reviewed as efficiently as possible. However, the amount of time that it takes to review and merge a PR can vary significantly based on factors such as:
💡 As a result it may take up to several weeks or months to complete a review and merge your PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1777 +/- ##
=======================================
Coverage 90.83% 90.83%
=======================================
Files 344 344
Lines 5792 5794 +2
Branches 1331 1374 +43
=======================================
+ Hits 5261 5263 +2
+ Misses 514 512 -2
- Partials 17 19 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
@Agrendalath Are you waiting for an OpenCraft-internal review here or are the changes ready for upstream review? |
@itsjeyd, this one is ready for upstream review. |
@Agrendalath I may be missing something important - I tried reproducing this error and I was unable to get an instance where the Raw HTML block did not call publish_completion. Are there any further setup tests needed to reproduce this bug? Currently on main/master of all branches. Running |
@wgu-jesse-stewart , did you use Chrome and checked this with the Network tab already opened (to avoid resizing the viewport) and without scrolling? This happens when no "resize" or "scroll" actions are triggered. |
Using Chrome. Devtools already open to the network tab. I did another test to be sure I'm not accidentally scrolling and I avoided using the mouse entirely. I will pull you code and test it as well. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could not reproduce the error, but I have tested that this code works as expected. Nicely done
OK, pinging maintainers now. @openedx/committers-frontend-app-learning This is ready for you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
- ✅ I tested this on devstack
- ✅ I read through the code
- ❌ I checked for accessibility issues
- ❌ Includes documentation
@Agrendalath can you rebase the PR and trigger the tests? |
The previous implementation had a race condition that sometimes prevented XBlocks from being marked as viewed. Users had to scroll or resize the window to trigger visibility tracking instead of having it happen once content loads.
448bd20
to
136da2b
Compare
@farhaanbukhsh, sure thing - done. |
The previous implementation (#1491) had a race condition that sometimes prevented XBlocks from being marked as viewed. Users had to scroll or resize the window to trigger visibility tracking instead of having it happen once the content loads.
Description
Testing instructions:
COMPLETION_BY_VIEWING_DELAY_MS = 1000
inlms/envs/private.py
for easier testing. The default value is5000
.publish_completion
topublish_completions
inlms/static/completion/js/CompletionOnViewService.js
for easier testing. Otherwise, you will need to create a new XBlock for the next check or manually remove theBlockCompletion
object from the DB to get the API call re-triggered the next time you view it.publish_completion
request is not called in the Learning MFE.Deadline
"None"
Other information
Private-ref: BB-9602