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

[BUG]: Fix hint timers continuing to count while hints are being viewed #5037

Open
seanlip opened this issue Jun 9, 2023 · 4 comments
Open
Labels
bug End user-perceivable behaviors which are not desirable. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: High It's not clear what the solution is.

Comments

@seanlip
Copy link
Member

seanlip commented Jun 9, 2023

This issue is opened to track a part of #4492 that was not fixed in #4500, namely, pausing the hint timer while hints are being viewed. From the original issue:

Hints should appear one by one after a certain amount of time has elapsed. When the user is in the Hint Modal, the timer should not be counting. This is because there should be at least some time which the learner can use to think about and apply the suggestions in the hint before we prompt them with a follow-up hint.

We encountered some challenges when trying to fix this originally. Per @BenHenning (see #4500 (comment)):

The main issue is that hints are handled in the domain layer entirely separately from the frontend lifecycle. We almost certainly would need to either somehow provide signal from the frontend when hints are being shown (and not mess this up since it'll break the hints timer), or manage hint state based on the observation of its results (similar to how ExplorationProgressController used to work), but this is difficult and not at all straightforward since hint behaviors are observed through ExplorationProgressController. I suspect we may need the DataProvider dynamic transformation that I'm working on for the beta release in order to even start tackling this issue.

The aim of this issue is to fix this bug. (This is part of the fast-follow items from #4510.)

@seanlip seanlip added bug End user-perceivable behaviors which are not desirable. triage needed labels Jun 9, 2023
@BenHenning
Copy link
Sponsor Member

NB: This is actually a bit tricky to fix since we intentionally moved hints & solution tracking state into the domain layer to fix a bunch of problems that can be caused by transient UI state. I think we need some sort of signal passed from the UI to the domain layer on whether the hints are being actively viewed, and whether the app is in the foreground (the latter we already have some solutions for, see #4916).

@adhiamboperes adhiamboperes added Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. labels Jun 15, 2023
@ShubhadeepKarmakar
Copy link
Collaborator

ShubhadeepKarmakar commented Aug 11, 2023

I want to work on this but I can't get the clarity of this bug. @adhiamboperes @seanlip @kkmurerwa @BenHenning may someone please explain this to me?

@Vishwajith-Shettigar Vishwajith-Shettigar self-assigned this Nov 3, 2023
@adhiamboperes adhiamboperes added Work: High It's not clear what the solution is. and removed Work: Medium The means to find the solution is clear, but it isn't at good-first-issue level yet. labels Nov 15, 2023
@BenHenning
Copy link
Sponsor Member

@seanlip should we only be running the hint timer when the user is actively seeing the state card? It makes sense to pause when the hint dialog is open, but what about other cases such as concept cards linked from the state content where the user might not be actively viewing the state?

@seanlip
Copy link
Member Author

seanlip commented Nov 23, 2023

@BenHenning Thanks for checking -- I think there are arguments for going either way on that, so whatever is technically easiest is fine.

If you want a clearer direction, though, then I think I would lean towards leaving the hint timer counting if the user is viewing a concept card, since they might be doing so in order to review the skill before trying the question again (so this feels like "productive time" to me).

@Vishwajith-Shettigar Vishwajith-Shettigar removed their assignment May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug End user-perceivable behaviors which are not desirable. Impact: Medium Moderate perceived user impact (non-blocking bugs and general improvements). Work: High It's not clear what the solution is.
5 participants