Skip to content

[lexical-playground]Bug Fix: Image links lose link state when dragged#7693

Merged
lilshady merged 1 commit intomainfrom
yunclu/image_drop
Jul 24, 2025
Merged

[lexical-playground]Bug Fix: Image links lose link state when dragged#7693
lilshady merged 1 commit intomainfrom
yunclu/image_drop

Conversation

@lilshady
Copy link
Copy Markdown
Contributor

Description

I guess this is kind of an edge case: When the image is wrapped within a Link Node, toggle the link upon drop

Closes #7692

Test plan

Before

Screen.Recording.2025-07-15.at.14.34.19.mov

After

Screen.Recording.2025-07-15.at.14.20.56.mov

@vercel
Copy link
Copy Markdown

vercel bot commented Jul 15, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
lexical ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 15, 2025 6:35am
lexical-playground ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 15, 2025 6:35am

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jul 15, 2025
@lilshady lilshady added the extended-tests Run extended e2e tests on a PR label Jul 15, 2025
Copy link
Copy Markdown
Contributor

@takuyakanbr takuyakanbr left a comment

Choose a reason for hiding this comment

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

Would be good to add a test case in Images.spec.mjs

$setSelection(rangeSelection);
editor.dispatchCommand(INSERT_IMAGE_COMMAND, data);
if (existingLink) {
editor.dispatchCommand(TOGGLE_LINK_COMMAND, existingLink.getURL());
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

might be worth preserving the other link attributes too, TOGGLE_LINK_COMMAND can take an object with url, target, rel, title (although there's currently no utility function to extract a ({url: string} & LinkAttributes) object from a LinkNode.

@lilshady lilshady added this pull request to the merge queue Jul 24, 2025
Merged via the queue into main with commit de08902 Jul 24, 2025
72 of 75 checks passed
@lilshady lilshady deleted the yunclu/image_drop branch July 24, 2025 02:27
@etrepum etrepum mentioned this pull request Aug 7, 2025
GermanJablo added a commit to payloadcms/payload that referenced this pull request Sep 3, 2025
Fixes #13386

Below I write a clarification to copy and paste into the release note,
based on our latest upgrade of Lexical [in
v3.29.0](https://github.com/payloadcms/payload/releases/tag/v3.29.0).

## Important
This release upgrades the lexical dependency from 0.28.0 to 0.34.0.

If you installed lexical manually, update it to 0.34.0. Installing
lexical manually is not recommended, as it may break between updates,
and our re-exported versions should be used. See the [yellow banner
box](https://payloadcms.com/docs/rich-text/custom-features) for details.

If you still encounter richtext-lexical errors, do the following, in
this order:

- Delete node_modules
- Delete your lockfile (e.g. pnpm-lock.json)
- Reinstall your dependencies (e.g. pnpm install)

### Lexical Breaking Changes

The following Lexical releases describe breaking changes. We recommend
reading them if you're using Lexical APIs directly
(`@payloadcms/richtext-lexical/lexical/*`).

- [v.0.33.0](https://github.com/facebook/lexical/releases/tag/v0.33.0)
- [v.0.30.0](https://github.com/facebook/lexical/releases/tag/v0.30.0)
- [v.0.29.0](https://github.com/facebook/lexical/releases/tag/v0.29.0)

___

TODO:
- [x] facebook/lexical#7719
- [x] facebook/lexical#7362
- [x] facebook/lexical#7707
- [x] facebook/lexical#7388
- [x] facebook/lexical#7357
- [x] facebook/lexical#7352
- [x] facebook/lexical#7472
- [x] facebook/lexical#7556
- [x] facebook/lexical#7417
- [x] facebook/lexical#1036
- [x] facebook/lexical#7509
- [x] facebook/lexical#7693
- [x] facebook/lexical#7408
- [x] facebook/lexical#7450
- [x] facebook/lexical#7415
- [x] facebook/lexical#7368
- [x] facebook/lexical#7372
- [x] facebook/lexical#7572
- [x] facebook/lexical#7558
- [x] facebook/lexical#7613
- [x] facebook/lexical#7405
- [x] facebook/lexical#7420
- [x] facebook/lexical#7662

---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
  - https://app.asana.com/0/0/1211202581885926
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. extended-tests Run extended e2e tests on a PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: Non-text links lose link state when dragged

4 participants