Skip to content

DEV: Add jsDiff dependency #32833

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
merged 2 commits into from
May 21, 2025
Merged

DEV: Add jsDiff dependency #32833

merged 2 commits into from
May 21, 2025

Conversation

keegangeorge
Copy link
Member

For use in Discourse AI (discourse/discourse-ai#1355)

@keegangeorge keegangeorge marked this pull request as ready for review May 21, 2025 15:09
@SamSaffron SamSaffron merged commit 3b0889f into main May 21, 2025
16 checks passed
@SamSaffron SamSaffron deleted the js-diff-dependency branch May 21, 2025 21:22
SamSaffron added a commit to discourse/discourse-ai that referenced this pull request May 21, 2025
Previously we attempted to add a diff streaming animation to the AI composer helper: #1332, but it resulted in issues despite attempted fixes (#1338) so we temporarily suppressed the diff animation (#1341).

This update makes a second attempt at implementing the diff streaming animation. Instead of creating a custom diff algorithm, we make use of a third-party library [`jsDiff`](https://github.com/kpdecker/jsdiff) (which we added to core here: discourse/discourse#32833). While streaming, the diff animation often struggles with markdown links and images, so we make use of `markdown-it` parser to detect those cases and prevent breaking the animation.

---------

Co-authored-by: Sam Saffron <sam.saffron@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants