Replace placeholder columns with real Status, Recipients, and Learner Progress data on Courses list#14667
Open
rtibblesbot wants to merge 2 commits into
Open
Replace placeholder columns with real Status, Recipients, and Learner Progress data on Courses list#14667rtibblesbot wants to merge 2 commits into
rtibblesbot wants to merge 2 commits into
Conversation
Contributor
Build Artifacts
Smoke test screenshot |
rtibbles
requested changes
May 12, 2026
Member
rtibbles
left a comment
There was a problem hiding this comment.
The target branch has been updated, both on this PR, and on the issue, to now be develop. Please rebase the PR accordingly.
cb33719 to
6b1656f
Compare
Contributor
Author
|
Rebased onto |
6b1656f to
ed03832
Compare
a7e600a to
ed03832
Compare
Contributor
Author
|
Rebased onto develop — PR now targets develop and the branch is up to date. |
…SessionViewset Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… Progress data Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ed03832 to
3f41f56
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The Courses list table had three columns — Status, Recipients, and Learner Progress — hardcoded as
'—'for all rows. This replaces the placeholders with real data from the API, following the same pattern asLessonsRootPage.vue.References
Fixes #14646. Tally shape and
StatusSummaryusage pattern from #14614.Reviewer guidance
To verify:
Risky areas:
_fetch_most_recent_tests(viewsets.py:383): ordering selects the open test first; among closed tests, it picks the one on the latest unit bylft, and for the same unit"post" < "pre"alphabetically gives post-test priority. Worth verifying this ordering handles a course where both pre- and post-tests for a unit are closed correctly.consolidate()(viewsets.py:551):complete=Truewins overFalsewhen a learner has multiple logs for the same content. Verify with a learner who has completed and then re-attempted a test.Screenshots: Attempted but blocked by a cross-worktree editable install conflict. Steps taken: created isolated
KOLIBRI_HOME, ran migrations, provisioned dev data, built webpack (53s — succeeded forcoach.appbutlearn.appandpdf_viewer.mainfailed due to unchecked-out Git LFS files). Navigation produced "Webpack Error" becauseimportlib.resources.files('kolibri.plugins.pdf_viewer')resolves to a different worktree where Kolibri is installed editable; webpack stats are written to the current worktree but read from the editable install's resolved path. Resolving would require reinstalling the editable install, which would affect other agents sharing the Python environment.AI usage
Implemented with Claude Code following a spec in
PLAN/index.md. Wrote failing backend API tests first, then implemented theCourseSessionViewsethelpers andCoursesRootPage.vuecomponent changes. Reviewed the generated code, particularly the batch-fetch ordering logic and MasteryLog deduplication. Ran pytest and Jest test suites to verify correctness.@rtibblesbot's comments are generated by an LLM, and should be evaluated accordingly
How was this generated?