Skip to content

Fix: Reopen rollback status after conflict response - #8373

Open
CarolineDenis wants to merge 3 commits into
mainfrom
issue-8158
Open

Fix: Reopen rollback status after conflict response#8373
CarolineDenis wants to merge 3 commits into
mainfrom
issue-8158

Conversation

@CarolineDenis

@CarolineDenis CarolineDenis commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Fixes #

Checklist

  • Self-review the PR after opening it to make sure the changes look good and
    self-explanatory (or properly documented)
  • Add relevant issue to release milestone
  • Add pr to documentation list
  • Add automated tests
  • Add a reverse migration if a migration is present in the PR
  • Add migration function to
    def fix_schema_config(stdout: WriteToStdOut | None = None):

Testing instructions

Follow steps from #8158

  • Verify that the rollback dialog now opens with the "stop" button enabled and that the warning message is present

Summary by CodeRabbit

  • Bug Fixes
    • Improved rollback/unupload flow when the server returns an HTTP 409 conflict, so the UI behaves correctly during rollback confirmation.
    • The rollback status dialog now handles conflict responses more reliably, keeping the user in the right state to retry or review the action.
  • Tests
    • Added a Jest/React Testing Library test covering the rollback/unupload conflict scenario, including the dialog interaction and expected status updates.

@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown

Warning

One or more dependencies are approaching or past End-of-Life.
Please plan upgrades accordingly.

STATUS=WARNING
NODE_VERSION=20
NODE_CYCLE=20
EOL_DATE=2026-04-30
DAYS_REMAINING=-97

--- Node.js ---
Version: 20
EOL: 2026-04-30
Status: WARNING

STATUS=OK
PYTHON_VERSION=3.12
PYTHON_CYCLE=3.12
EOL_DATE=2028-10-31
DAYS_REMAINING=818

--- Python ---
Version: 3.12
EOL: 2028-10-31
Status: OK

STATUS=WARNING
DJANGO_VERSION=4.2
DJANGO_CYCLE=4.2
EOL_DATE=2026-04-07
DAYS_REMAINING=-120

--- Django ---
Version: 4.2
EOL: 2026-04-07
Status: WARNING


@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6ad510ee-143b-494f-8c3a-f0c855d932d4

📥 Commits

Reviewing files that changed from the base of the PR and between 6a0889a and 80cb709.

📒 Files selected for processing (1)
  • specifyweb/frontend/js_src/lib/components/WbActions/__tests__/WbRollback.test.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • specifyweb/frontend/js_src/lib/components/WbActions/tests/WbRollback.test.tsx

📝 Walkthrough

Walkthrough

Changes

Rollback conflict handling

Layer / File(s) Summary
Rollback error contract and validation
specifyweb/frontend/js_src/lib/components/WbActions/WbRollback.tsx, specifyweb/frontend/js_src/lib/components/WbActions/__tests__/WbRollback.test.tsx
The rollback request treats HTTP 409 responses as expected, and the test verifies status reopening, callback invocation, dialog dismissal, and console error cleanup.
🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main fix: reopening the rollback UI after a conflict response.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Automatic Tests ✅ Passed Yes—the PR adds an automated Jest/RTL test for WbRollback covering the 409 conflict rollback flow.
Testing Instructions ✅ Passed The instruction targets the rollback dialog behavior changed in WbRollback and matches the conflict/rollback flow covered by the new test.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch issue-8158

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@CarolineDenis
CarolineDenis requested a review from a team July 29, 2026 08:09
Triggered by 6a0889a on branch refs/heads/issue-8158

@emenslin emenslin left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Verify that the rollback dialog now opens with the "stop" button enabled and that the warning message is present

Looks good, I also verified that you can successfully rollback afterwards if you remove the linked record.

@emenslin
emenslin requested a review from a team August 20, 2026 14:47

@g1rly-c0d3r g1rly-c0d3r left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing instructions

Follow steps from #8158

  • Verify that the rollback dialog now opens with the "stop" button enabled and that the warning message is present

I also removed the new record then tried to roll back, and was able to.

@g1rly-c0d3r
g1rly-c0d3r requested a review from a team August 27, 2026 14:04
@rijulpoudel
rijulpoudel self-requested a review August 27, 2026 17:11

@rijulpoudel rijulpoudel left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Verify that the rollback dialog now opens with the "stop" button enabled and that the warning message is present

Working as expected, the stop button shows up with the warning message.

@kwhuber kwhuber left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Verify that the rollback dialog now opens with the "stop" button enabled and that the warning message is present

There is still a successful rollback dialogue box that should not appear if rollback is prevented.

Screen.Recording.2026-08-27.at.2.12.00.PM.mov

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 📋Back Log

Development

Successfully merging this pull request may close these issues.

Closing rollback failure dialog permanently blocks future rollbacks

5 participants