[PR #18692] feat: improve embedded chatbot styles #28975

Closed
opened 2026-02-21 20:44:37 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/18692

State: closed
Merged: Yes


Summary

Close https://github.com/langgenius/dify/issues/18686 .

This PR implements the expand/collapse functionality for the iframe, using postMessage to communicate between the iframe and the parent page to trigger state transitions.

It also modifies the logic of resetIframePosition to determine the docking edge based on the viewport center and button center, and attempts to use CSS variables for positioning in all cases to reduce style conflicts.

Will not affect the chat/[id] and chatbot/[id] pages displayed by non-button triggers.

Screenshots

Before

image

After

image

image

**Original Pull Request:** https://github.com/langgenius/dify/pull/18692 **State:** closed **Merged:** Yes --- # Summary <!-- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. > [!Tip] > Close issue syntax: `Fixes #<issue number>` or `Resolves #<issue number>`, see [documentation](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) for more details. --> Close https://github.com/langgenius/dify/issues/18686 . This PR implements the expand/collapse functionality for the iframe, using postMessage to communicate between the iframe and the parent page to trigger state transitions. It also modifies the logic of resetIframePosition to determine the docking edge based on the viewport center and button center, and attempts to use CSS variables for positioning in all cases to reduce style conflicts. Will not affect the `chat/[id]` and `chatbot/[id]` pages displayed by non-button triggers. # Screenshots Before ![image](https://github.com/user-attachments/assets/6ed0a6d4-dc84-46e3-aca2-fb1572b095fe) After ![image](https://github.com/user-attachments/assets/95eacd8f-a146-4b3e-bdef-0f9e30eb28c8) ![image](https://github.com/user-attachments/assets/f8ee8267-3d98-45f2-a281-5fb8f4eef90c) <video src="https://github.com/user-attachments/assets/3ee1a16e-afe5-416b-a01f-269811ca812a" /> # Checklist > [!IMPORTANT] > Please review the checklist below before submitting your pull request. - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:44:37 -05:00
yindo closed this issue 2026-02-21 20:44:37 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#28975