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

Fix #4042: Implement success criteria metrics for lesson checkpointing #5336

Merged

Conversation

theMr17
Copy link
Collaborator

@theMr17 theMr17 commented Feb 8, 2024

Explanation

Fixes #4042

This PR implements the success criteria metrics required for lesson checkpointing as described here. A high level overview of the implementation is documented on the issue thread here.

Changes to FakeAnalyticsEventLogger

  • fun getOldestEvents(count: Int): List<EventLog> is necessary to retrieve a list of a pre-defined count of oldest events from all the logged events.
  • fun getLoggedEvent(predicate: (EventLog) -> Boolean): EventLog? serves to acquire a reference to a logged event when the context of the event is known, but the event index is uncertain or potentially surrounded by other events. Thus, extracting the event via index might be difficult.

Essential Checklist

  • The PR title and explanation each start with "Fix #bugnum: " (If this PR fixes part of an issue, prefix the title with "Fix part of #bugnum: ...".)
  • Any changes to scripts/assets files have their rationale included in the PR explanation.
  • The PR follows the style guide.
  • The PR does not contain any unnecessary code changes from Android Studio (reference).
  • The PR is made from a branch that's not called "develop" and is up-to-date with "develop".
  • The PR is assigned to the appropriate reviewers (reference).

For UI-specific PRs only

If your PR includes UI-related changes, then:

  • Add screenshots for portrait/landscape for both a tablet & phone of the before & after UI changes
  • For the screenshots above, include both English and pseudo-localized (RTL) screenshots (see RTL guide)
  • Add a video showing the full UX flow with a screen reader enabled (see accessibility guide)
  • For PRs introducing new UI elements or color changes, both light and dark mode screenshots must be included
  • Add a screenshot demonstrating that you ran affected Espresso tests locally & that they're passing

@theMr17 theMr17 self-assigned this Feb 8, 2024
Copy link

oppiabot bot commented Feb 16, 2024

Hi @theMr17, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you!

@oppiabot oppiabot bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Feb 16, 2024
@oppiabot oppiabot bot removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label Feb 16, 2024
@theMr17 theMr17 marked this pull request as ready for review March 5, 2024 14:33
@theMr17 theMr17 requested review from a team as code owners March 5, 2024 14:33
@theMr17 theMr17 requested a review from adhiamboperes March 5, 2024 14:33
@theMr17
Copy link
Collaborator Author

theMr17 commented Apr 19, 2024

@adhiamboperes PTAL.

@theMr17 theMr17 assigned adhiamboperes and unassigned theMr17 Apr 19, 2024
Copy link
Collaborator

@adhiamboperes adhiamboperes left a comment

Choose a reason for hiding this comment

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

Thanks @theMr17!

I have left a comment on the failing eventlog test, please let me know if I need to clarify it further.

@theMr17
Copy link
Collaborator Author

theMr17 commented May 1, 2024

@adhiamboperes PTAL. I have reintroduced the getLoggedEvent(predicate: (EventLog) -> Boolean): EventLog? function. I have also included tests for the new functions added in FakeAnalyticsEventLogger.

@theMr17 theMr17 assigned adhiamboperes and unassigned theMr17 May 1, 2024
Copy link
Collaborator

@adhiamboperes adhiamboperes left a comment

Choose a reason for hiding this comment

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

Thanks @theMr17! This LGTM!

@oppiabot oppiabot bot added the PR: LGTM label May 1, 2024
Copy link

oppiabot bot commented May 1, 2024

Hi @theMr17, this PR is ready to be merged. Please address any remaining comments prior to merging, and feel free to ask someone to merge your PR once the CI checks pass and you're happy with it. Thanks!

Copy link

oppiabot bot commented May 8, 2024

Hi @theMr17, I'm going to mark this PR as stale because it hasn't had any updates for 7 days. If no further activity occurs within 7 days, it will be automatically closed so that others can take up the issue.
If you are still working on this PR, please make a follow-up commit within 3 days (and submit it for review, if applicable). Please also let us know if you are stuck so we can help you!

@oppiabot oppiabot bot added the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 8, 2024
@oppiabot oppiabot bot removed the stale Corresponds to items that haven't seen a recent update and may be automatically closed. label May 8, 2024
@adhiamboperes adhiamboperes enabled auto-merge (squash) May 8, 2024 15:20
@adhiamboperes adhiamboperes merged commit 98257db into oppia:develop May 8, 2024
40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement success criteria metrics for lesson checkpointing
2 participants