Skip to content
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

Fix the issue where can() check returns false even when the command can be executed. #5741

Closed
wants to merge 4 commits into from

Conversation

guanriyue
Copy link

Changes Overview

Fix the issue where can() check returns false even when the command is actually executable.

Implementation Approach

When chainCommand is executed, multiple commands are run sequentially. The editor state used by later commands may depend on the preceding commands. Therefore, when executing can(), createChain must ensure that shouldDispatch is true to prevent skipping operations on tr.

This fix effectively reverts the code changes from the pull request #3026 and resolves the issue #3025 caused by the clearNodes error.

At the same time, it will also fix issue #3229 and issue #4057.

————————————————————————————————————————————————————

For more details, please refer to this issue #5721.

Testing Done

In the example default editor, add the disabled attribute to the heading and list action buttons. Before the change, if the cursor was positioned on a heading node, the list action buttons would remain disabled, even though the commands were actually available. After the change, the list action buttons will be displayed as enabled.

Verification Steps

None.

Additional Notes

Checklist

  • I have created a changeset for this PR if necessary.
  • My changes do not break the library.
  • I have added tests where applicable.
  • I have followed the project guidelines.
  • I have fixed any lint issues.

Related Issues

…().run()` because the state required by later commands may depend on the commands executed earlier.
…e`, otherwise `clearNodes` will throw an exception during execution.
Copy link

changeset-bot bot commented Oct 18, 2024

⚠️ No Changeset found

Latest commit: 072ef6d

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

netlify bot commented Oct 18, 2024

Deploy Preview for tiptap-embed ready!

Name Link
🔨 Latest commit 072ef6d
🔍 Latest deploy log https://app.netlify.com/sites/tiptap-embed/deploys/6715be03c730880008f2aac6
😎 Deploy Preview https://deploy-preview-5741--tiptap-embed.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@guanriyue guanriyue changed the title Fix/can clear nodes Fix the issue where can() check returns false even when the command can be executed. Oct 18, 2024
@guanriyue guanriyue closed this Oct 21, 2024
@guanriyue guanriyue deleted the fix/can-clearNodes branch October 21, 2024 02:56
@nperez0111
Copy link
Contributor

@guanriyue did you mean to close this? I hadn't had the chance to review it

@guanriyue
Copy link
Author

Yes, I confirm that I want to close this PR. I reevaluated the situation and created a new PR #5744, adding corresponding test cases to ensure that the changes are correct.

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.

3 participants