Repository navigation
release 1.41.6: app-space completion fix for reset tutorials - #2940
Merged
Merged
Conversation
…Records getAppSpaceProgress + getEventProgress collapsed a user's TaskRecords to one per (taskType, taskLegacyId) with a plain last-write-wins loop over an UNORDERED query. A user who RESET a tutorial holds both a COMPLETED row and SUPERSEDED row(s) for it (#600 has-ever-completed). Whichever the query returned last won nondeterministically — when a SUPERSEDED/reset row landed last, a genuinely completed tutorial rendered as not-done. Reported: app-space showing "2 of 4" ABAP tutorials complete after the reporter had reset + re-completed them, while other (never-reset, single-record) tracks were fine. Add buildRecordMap(userRecords): collapse deterministically, preferring COMPLETED > SUPERSEDED > other, ties broken by latest completionDate. Use it at both call sites (developer-service.js:603, :714). The #2866 in-window downgrade still applies to whichever record survives. Verified: running the real getAppSpaceProgress resolution against PROD data for the reporter's ABAP track now returns 4/4 COMPLETED deterministically. New unit test (test/lib/build-record-map.test.js) covers status preference + date tie-break + per-key separation.
…atus-pref fix(app-space): prefer COMPLETED record when a task has multiple TaskRecords
Release the app-space completion fix (PR #2938): prefer the COMPLETED record when a user has multiple TaskRecords for a task (reset-then-recompleted), fixing reset tutorials showing incomplete / blocking track progress.
chore(release): bump MTA version to 1.41.6
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
DEV → main promotion for release 1.41.6 (blue-green PROD deploy to follow).
Net change over main is exactly:
fix(app-space): prefer COMPLETED record when a task has multiple TaskRecords— reset-then-recompleted tutorials showed incomplete / blocked track progress in app-space because the record map was nondeterministic last-write-wins over SUPERSEDED+COMPLETED rows.buildRecordMapnow prefers COMPLETED. Covers both reported cases (ABAP "2 of 4", CAP step-1 blocked)..deploy/mta.yamlversion bump1.41.5 → 1.41.6Verified against PROD data for the reporter: ABAP resolves 4/4, CAP step 1 COMPLETED.
Test plan
tutorials-ims_1.41.6.mtar; after swap, confirm app-space shows reset-then-recompleted tutorials as complete and unblocks track progress