Skip to content

Prod - August 2026 Release 1 - #143

Merged
jmgasper merged 11 commits into
masterfrom
develop
Aug 5, 2026
Merged

Prod - August 2026 Release 1#143
jmgasper merged 11 commits into
masterfrom
develop

Conversation

@jmgasper

@jmgasper jmgasper commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

jmgasper added 11 commits July 30, 2026 20:39
What was broken

Challenge detail and listing responses counted multiple Design concepts from one member as a single submission, so the Community App displayed an incorrect submissions total.

Root cause

Challenge API recomputed both final and checkpoint counters with the submitting member ID as the distinct identity for every challenge track.

What was changed

Use the submission ID as the distinct counter identity for Design challenges while preserving member-based counting for all other tracks. Apply the rule to both checkpoint and non-checkpoint submissions.

Any added/updated tests

Added regression coverage for multiple final and checkpoint Design concepts from one member across challenge detail and listing responses. Preserved the existing Development-track deduplication coverage.
What was broken

The challenge API schema described submissionsViewable as an additional prerequisite for Design winning-submission downloads.

Root cause

Swagger documentation still reflected the obsolete Design-specific authorization gate.

What was changed

Removed the obsolete submissionsViewable prerequisite from the winning-download metadata descriptions in create, update, patch, and response schemas.

Any added/updated tests

No tests were changed because this is a documentation-only contract correction; existing metadata validation tests continue to cover exact values and omission.
What was broken

Manual phase changes published one shared email with raw timestamps for all challenge resources, without honoring each resource's phase-notification preference or member timezone.

Root cause

The manual phase update path built one common template payload and did not load recipient profile locations, so the timestamp and subject could not be personalized.

What was changed

Filter to opted-in resources and publish one external.action.email event per unique recipient. Resolve profile locations in bounded batches, default unresolved locations to UTC, format times as MMMM DD, YYYY HH:mm z, and add localized_time and phase_change while preserving the legacy template fields. Removed member profile response logging from the lookup used by this flow.

Any added/updated tests

Added phase service coverage for individual delivery, preference filtering, email deduplication, local and UTC timestamps, country fallback, open and closed payloads, and reopen wording.
What was broken

The Challenge API hid assigned checkpoint winners until the entire challenge was completed, so the review app could not identify winners after Checkpoint Review.

Root cause

Winner response sanitization removed both final-placement and checkpoint winner data for every non-completed challenge.

What was changed

- Expose checkpoint winners for active challenges only after Checkpoint Review has opened and closed.
- Continue hiding final-placement winners until challenge completion.
- Document when checkpoint winners are returned.

Any added/updated tests

- Added detail and listing coverage for open and closed Checkpoint Review states.
- Verified placement winners remain hidden while checkpoint winners become visible.
PM-5761: Count every design submission concept
PM-5754: update winning download metadata docs
PM-5763: Send localized phase notifications
PM-5775: expose active checkpoint winners
@jmgasper
jmgasper merged commit b7bde89 into master Aug 5, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant