Conversation
What was broken Completed point challenges generated finance winnings, but winning member profiles retained an empty challengePoints summary, so Profiles hid the Points section. Root cause Autopilot calls the member challenge-points endpoint with its refresh:member_stats M2M scope. The endpoint accepted only update:user_profiles or all:user_profiles, so automatic synchronization was rejected before point rows could be stored. What was changed Allowed refresh:member_stats on the challenge-points update route while preserving the existing profile scopes. Restricted user-token access to administrators and updated the README and Swagger authorization contract. Any added/updated tests Added a route contract regression test for the accepted M2M scopes and admin-only user access. Focused route and challenge-point persistence tests, lint, and build pass. The full suite reports 205 passing tests and 28 unrelated existing failures caused by missing bus credentials and outdated Joi error-message expectations.
What was broken Downloaded profiles showed activity totals that differed from Profiles, including a separate Quality Assurance row and Competitive Programming activity that the UI did not display. Root cause (if identifiable) The download flow recalculated activity from challenge winner and resource rows. That logic used different win, submission, grouping, and Data Science rules from the member stats and history data used by Profiles. What was changed The download now reads member stats and history through StatisticsService and maps the Development, Design, Testing, and SRM-based Competitive Programming rows with the same grouping and history fallbacks used by Profiles. A history lookup failure falls back to aggregate stats so profile generation can continue. Any added/updated tests Added unit coverage for the PM-5793 profile totals, SRM-only Competitive Programming visibility, and overlapping AI Engineering history. The focused tests, lint, and build pass. The full suite has 218 passing tests and the same 17 pre-existing Joi message assertion failures as origin/develop, which has 215 passing tests and those 17 failures.
PM-5793: Align downloaded profile activity stats
PM-5788: Allow Autopilot to sync profile points
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.
PM-5793: Restore downloaded profile ratings
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.
https://topcoder.atlassian.net/browse/PM-5788
https://topcoder.atlassian.net/browse/PM-5793