Skip to content

Prod release: deps, child/demo messages, fix submit race cond, participation eligibility bugs - #1955

Merged
becky-gilbert merged 7 commits into
masterfrom
develop
Oct 8, 2026
Merged

becky-gilbert merged 7 commits into
masterfrom
develop

Conversation

@becky-gilbert

@becky-gilbert becky-gilbert commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

This PR moves the following changes into production:

Ester0Awad and others added 3 commits September 22, 2026 13:20
…ildren list page (#1943)

* Add warning banner if demographic survey is absent (#1144)

* remove leading/trailing spaces from trans strings: does not affect rendering and keekps msgids clean for translators; fix if block indentation

* add tests for children-list view with and without demographics data/warning

---------

Co-authored-by: Becky Gilbert <[email protected]>
Bumps [soupsieve](https://github.com/facelessuser/soupsieve) from 2.8.4 to 2.9.
- [Release notes](https://github.com/facelessuser/soupsieve/releases)
- [Commits](facelessuser/soupsieve@2.8.4...2.9)

---
updated-dependencies:
- dependency-name: soupsieve
  dependency-version: '2.9'
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@becky-gilbert becky-gilbert self-assigned this Sep 29, 2026
@becky-gilbert becky-gilbert added Participant [Audience] Participant-facing Developer [Audience] Affects engineering/developers only dependencies Pull requests that update a dependency file Security labels Sep 29, 2026
* move trans text into blocktranslate tags and pass study_name as var: displays study name correctly and better for translation (complete sentence with study name placeholder, which allows reordering)

* replace missing demographics banner on demo/children pages with partial template for banner alerts, fix if statement on demographics page

* the note about continuing to study button has been moved into an alert

* add new template tags in web_extras: bold (for wrapping a string in strong tags) and alert_link (for building a link inside a bootstrap alert) - both allow passing strings into blocktranslate so that the html is not included in translation files

* rework participation alert partial template - use bold/alert_link template tags, add link to alert when not on the relevant page, missing demographic survey takes precedence over child-related alerts, put button labels and study names in bold, do not reference buttons that are not clickable yet, remove repeated text, use alert-sucess when child/survey info is complete

* remove repeated text, do not reference buttons that are not clickable

* remove duplicate text that is now covered by alerts, always show text about editing/updating child info, do not reference buttons that are not clickable

* add a back to children list button on child-add form (matches the child-update form)

* update existing tests, add tests for participation alert logic and text on demographics and children-list pages
… sign-ups (#1959)

* add new DuplicateUsernameSignupMixin for gracefully handling multiple-submit race conditions where duplicate username is missed in validaton and then the second throws an integrity error, add mixin to ResearcherRegistrationView and ParticipantSignupView

* add tests for race-condition/duplicate signup submissions: when the form submission gets past validation but the username already exists, it should show as a form error rather than throwing, and other integrity errors should still throw

* add submit-once.js, load in web/base.html, add data-submit-once to forms: web/study-detail (participate now), participant/researcher registration, demographic update, add child, password reset, participant contact (messaging), lab create, study create (also remove the study-create.js code that disables the submit button - same thing but without the spinner and recovery from cache)

* add comments above forms that should not use submit-once.js / data-submit-once
@becky-gilbert becky-gilbert changed the title Prod release: dependencies, missing demographic survey warning Prod release: dependencies, improve child/demo page messages, fix submit race cond Oct 5, 2026
* the must have/not have participated checks should use the same participation criteria for all internal studies (EFP and jsPsych): response exists and sequence is not empty

* add tests for must have/not have participated criteria with jspsych studies: a response is not counted if the sequence is empty
@becky-gilbert becky-gilbert changed the title Prod release: dependencies, improve child/demo page messages, fix submit race cond Prod release: deps, child/demo messages, fix submit race cond, jspsych participation bug Oct 5, 2026
@becky-gilbert becky-gilbert added the Bug [Work Type] An issue with the program label Oct 6, 2026
…mails (#1965)

* the must have/not have participated checks should use the same participation criteria for all internal studies (EFP and jsPsych): response exists and sequence is not empty

* add tests for must have/not have participated criteria with jspsych studies: a response is not counted if the sequence is empty

* update eligibility participation criteria: responses to internal studies must have a consent frame to be counted as participated

* update eligible/participated responses in tests: the response now needs to have completed_consent_frame=True (also update sequence to be consistent and avoid confusion)

* update all response object test fixtures to explicitly define completed_consent_frame and sequence values - necessary for checking change in participation criteria

* add parameterized tests to cover all combinations of study type, response sequence, completed_consent_frame, and whether it should count as participation (overlaps with some existing tests but I decided not to remove any for now)

* add tests for child eligibility for study that includes itself in must not have participated criteria - children should be ineligible if they have a response and complete the consent frame and still eligible otherwise
@sonarqubecloud

sonarqubecloud Bot commented Oct 6, 2026

Copy link
Copy Markdown

@becky-gilbert becky-gilbert changed the title Prod release: deps, child/demo messages, fix submit race cond, jspsych participation bug Prod release: deps, child/demo messages, fix submit race cond, participation eligibility bugs Oct 6, 2026
@becky-gilbert
becky-gilbert merged commit af5cfc6 into master Oct 8, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug [Work Type] An issue with the program dependencies Pull requests that update a dependency file Developer [Audience] Affects engineering/developers only Participant [Audience] Participant-facing Security

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants