Conversation
What was broken Downloaded profiles could omit all Topcoder Activity stats after the first PM-5793 change, and rated Data Science paths were not included even when Profiles displayed them. Root cause (if identifiable) The service used Promise.allSettled while app-bootstrap replaces the global Promise with Bluebird. Bluebird returns PromiseInspection objects rather than native status/value records, so the mapper received no stats. The first mapper also handled only the legacy tracks and SRM. What was changed Resolve required stats and optional history with Bluebird-compatible Promise.all behavior, map native and configured Data Science ratings with Profiles history/count/order rules, and render ratings in PDF activity rows. Any added/updated tests Expanded ProfileStats regression coverage for the supplied totals, Data Science and SRM separation, rating selection and ordering, AI de-duplication/tie-breaks, Bluebird/native promise resolution, optional-history fallback, and PDF rating text.
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.
What was broken
The first PM-5793 implementation caused downloaded profiles to omit the entire Topcoder Activity stats list in the application runtime. It also did not include the Data Science and configured rating-path ratings shown by Profiles.
Root cause (if identifiable)
app-bootstrapreplaces the global Promise with Bluebird. Bluebird'sallSettledreturns PromiseInspection objects instead of native{ status, value }records, so the earlier code passed undefined stats to the PDF mapper. The mapper also covered only Development, Design, Testing, and SRM.What was changed
allSettledhandling with Bluebird-compatible required-stats and optional-history resolution.Any added/updated tests
ProfileStats.test.jsto cover the reported track totals, Data Science/SRM separation, native and configured ratings, history-aware counts, Profiles ordering and tie-breaks, AI Engineering de-duplication, Bluebird/native Promise interoperability, optional-history fallback, and PDF text rendering.