Reduce onboarding and submission friction#698
Open
nopara73 wants to merge 187 commits into
Open
Conversation
.NET test coverage
|
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_8d9b669f-9534-4d86-8695-140eef6ccdc9) |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_4737839f-c3b8-43fd-a6a1-3c287478129d) |
3cb61f7 to
eba4e5a
Compare
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_0d8e12d5-c194-4d86-bf59-1f96a54fd50e) |
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 changed
Latest batch:
Earlier batches in this PR reduced onboarding and submission friction by hardening duplicate-submit guards, proof/profile image upload recovery, storage handoffs, contact email reuse, payment handoffs, validation feedback, application-stage listener registration, calculator step reset after handoff, bioage handoff capture for filled fields, athlete picker display-name matching, display-name-aware application duplicate checks, final application identity revalidation, proof-file format screening, profile-picture format screening, proof picker filtering, contact email normalization, partial bioage handoff cleanup, existing-athlete payment-offer storage, first-time join payment-offer storage, partial bioage update submission, stored review-invoice recovery, stored birthday validation, stored biomarker-date presence, stored birthday range validation, stored biomarker-date range validation, stored biomarker value validation, boolean biomarker value rejection, structured biomarker value rejection, blank proof-entry handling, full-application contact email normalization, null biomarker-row validation, minimized interview-request email exposure, Challenge email-link normalization, optional
www.personal-link normalization, blank selected-athlete handoff recovery, full-application bootstrap fetch fallbacks, edit-profile athlete-fetch fallback, malformed bioage handoff cleanup, payment-offer shape validation, strict selected-athlete submit guards, over-limit proof-batch recovery, mixed proof-file selection recovery, edit-profile Enter-key submission, stored age-difference sanitization, and exact-match athlete selection on Enter.Why it matters
Applicants and returning athletes are less likely to get stuck by bad handoff metadata or unexpected athlete contact fields while submitting application, result, or edit requests.
Verification
dotnet test LongevityWorldCup.Tests\LongevityWorldCup.Tests.csproj --filter "FullyQualifiedName~ApplicationOnboardingPageTests|FullyQualifiedName~ProofUploadPageTests|FullyQualifiedName~EditProfilePageTests"dotnet test LongevityWorldCup.Tests\LongevityWorldCup.Tests.csprojgit diff --checkResidual risk
Low. The change only rejects malformed non-string email inputs client-side before existing email validation; valid string emails keep the same behavior.
Batch update - 2026-06-22: bracketed contact email normalization
What changed:
Applicant Ada <athlete@example.test>andApplicant Ada <mailto:athlete@example.test?subject=Longevity>in onboarding, result-upload, edit-profile, application-review, and server-side application/payment handling.Why it matters:
Verification:
dotnet test LongevityWorldCup.Tests\LongevityWorldCup.Tests.csproj --filter "FullyQualifiedName~ApplicationControllerValidationTests|FullyQualifiedName~ApplicationOnboardingPageTests|FullyQualifiedName~ApplicationReviewPageTests|FullyQualifiedName~ProofUploadPageTests|FullyQualifiedName~EditProfilePageTests"dotnet test LongevityWorldCup.Tests\LongevityWorldCup.Tests.csprojgit diff --checkResidual risk:
Batch update - 2026-06-22: underscored athlete contact fallback
What changed:
Why it matters:
Verification:
dotnet test LongevityWorldCup.Tests\LongevityWorldCup.Tests.csproj --filter FullyQualifiedName~ApplicationControllerValidationTestsdotnet test LongevityWorldCup.Tests\LongevityWorldCup.Tests.csprojgit diff --checkResidual risk:
Current batch
Why it matters
Verification
dotnet test LongevityWorldCup.Tests\LongevityWorldCup.Tests.csproj --filter FullyQualifiedName~BioageStoredBiomarkerTestsdotnet test LongevityWorldCup.Tests\LongevityWorldCup.Tests.csprojgit diff --checkResidual risk