openedx / openedx/completion

Bug: Viewport requirement makes completion detection flaky

Open
#459 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
9
Forks
25
PR merge metrics
No merged PRs in 30d

Description

Currently HTML blocks (maybe others) require the whole block to be in the viewport to trigger the completion timer (default 5 seconds). This is confusing, and blocks with lots of content can become impossible to complete on some screens (or any screen at extreme lengths). This results in a lot of "completion works on your machine but not mine" and "completion worked earlier, but doesn't now" when someone resizes a window or opens dev tools.

I don't have any hard solutions for a replacement, but some options are:

  • Scrap the viewport check entirely
  • Trigger the timer when the block scrolls into view at all instead
  • Trigger the timer (with a shorter time?) when the bottom of the block scrolls into view

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the HTML block viewport check and the completion timer implementation, then reproduce the issue with long blocks, small screens, window resizing, and dev tools open. Compare the proposed viewport behaviors and define completion as a consistent timer trigger across those scenarios; add or update tests if the repository has coverage for this behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.