- Notifications
You must be signed in to change notification settings - Fork 3.2k
fix(ui): save button becomes disabled after failed save with draft validation #14584
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
DanRibbens merged 5 commits into main from fix/ui-draft-validation-save-button-disabled Nov 13, 2025
Merged
fix(ui): save button becomes disabled after failed save with draft validation #14584
DanRibbens merged 5 commits into main from fix/ui-draft-validation-save-button-disabled Nov 13, 2025
Conversation
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
Contributor
📦 esbuild Bundle Analysis for payloadThis analysis was generated by esbuild-bundle-analyzer. 🤖
Largest pathsThese visualization shows top 20 largest paths in the bundle.Meta file: packages/next/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_index.json, Out file: esbuild/index.js
Meta file: packages/payload/meta_shared.json, Out file: esbuild/exports/shared.js
Meta file: packages/richtext-lexical/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_client.json, Out file: esbuild/exports/client_optimized/index.js
Meta file: packages/ui/meta_shared.json, Out file: esbuild/exports/shared_optimized/index.js
DetailsNext to the size is how much the size has increased or decreased compared with the base branch of this PR.
|
DanRibbens requested changes Nov 13, 2025
Contributor
DanRibbens left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1 question here
DanRibbens approved these changes Nov 13, 2025
Contributor
| 🚀 This is included in version v3.64.0 |
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?
Fixed an issue where the Save Draft button becomes disabled after a failed save operation when draft validation is enabled, preventing users from retrying without making additional form changes.
Why?
When
versions.drafts.validateis enabled, if a draft save fails (due to validation errors, network issues, or server errors), the Save Draft button would become disabled. This is problematic because:The root cause:
setModified(false)is called early in the submit flow for ALL saves (line 365), which marks the form as "unmodified". When a draft save subsequently fails, the form remains marked as unmodified, which triggers the disabled state for the Save Draft button on update operations (sincedisabled = operation === 'update' && !modified).How
overridesFromArgs['_status'] === 'draft'and the save fails, callsetModified(true)to mark the form as modified againvalidateDraftsto the submit callback's dependency array to prevent stale closure issuesFixes #14227