Skip to content

Conversation

BenjaminCharmes
Copy link
Contributor

@BenjaminCharmes BenjaminCharmes commented Sep 5, 2025

Closes #1232

Migrates from TinyMCE to QuillJS.
Supports all previous features and adds support for markdowns.

Add component for backward compatibility with existing TinyMCE, will be removed in the future with either:

  • making QuillJS capable of handling data from old descriptions
  • creating a script to migrate old descriptions to a format supported by Quills

It seems that for the moment the only issue is with TinyMCE tables.

Support for Mermaids #1345 and cross-referencing will be added in future PRs.

Copy link

codecov bot commented Sep 5, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.05%. Comparing base (e5a78e7) to head (9f80639).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1343   +/-   ##
=======================================
  Coverage   80.05%   80.05%           
=======================================
  Files          70       70           
  Lines        4729     4729           
=======================================
  Hits         3786     3786           
  Misses        943      943           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@BenjaminCharmes BenjaminCharmes force-pushed the bc/migrate-to-quillJS branch 2 times, most recently from b0dadd9 to c4a1593 Compare September 8, 2025 12:22
Copy link

cypress bot commented Sep 8, 2025

datalab    Run #3863

Run Properties:  status check passed Passed #3863  •  git commit 5300dec654 ℹ️: Merge 9f8063938bd17a3bfc5c7569baded791164d1f8d into 986d3b3153b58a952cd2ecd7bfe3...
Project datalab
Branch Review bc/migrate-to-quillJS
Run status status check passed Passed #3863
Run duration 06m 50s
Commit git commit 5300dec654 ℹ️: Merge 9f8063938bd17a3bfc5c7569baded791164d1f8d into 986d3b3153b58a952cd2ecd7bfe3...
Committer Ben Charmes
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 0
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 168
View all changes introduced in this branch ↗︎

@BenjaminCharmes BenjaminCharmes force-pushed the bc/migrate-to-quillJS branch 4 times, most recently from b5f542b to 2ae6fe2 Compare September 8, 2025 15:20
Add QuillJS to package.json

Add QuillJS to package.json

Add data-testid to EditorTransition.vue for cypress

Add data-testid to EditorTransition.vue for cypress

Add data-testid to EditorTransition.vue for cypress

Add data-testid to EditorTransition.vue for cypress

Add data-testid to EditorTransition.vue for cypress

Add data-testid to EditorTransition.vue for cypress
@jdbocarsly
Copy link
Member

If you haven't already, can you look a little into how custom tags would be handled in Quill? We would like to be able to type @ and select another item to link to. The editor would then insert in the colored badge according to item type. Ideally this would even be handled by just inserting the vue component, but inserting a vue component into the editor's environment may or may not be possible (I think this was very hard when I tried to do it in TinyMCE).

These tags don't have to be implemented in this PR, but it would be good to make sure we have a path towards getting the tags in QuillJS

@BenjaminCharmes
Copy link
Contributor Author

BenjaminCharmes commented Sep 16, 2025

Thanks for the feedback @jdbocarsly. We've already discussed this feature with @ml-evs and it's planned for a follow-up PR.

I already intentionally removed Mermaid support from this PR to focus on testing Quill and basic Markdown support first, ensuring the TinyMCE migration works smoothly before adding more complex features.

Cross-referencing with @ tags (as mentioned in issue #1232) is definitely on our roadmap. I'll take a quick look at how Quill handles custom tags and components to make sure we have a viable path forward.

I can also try other editors if necessary; it's really quick to set up. I've seen that TipTap seems to be used quite a lot in vue3 projects.

I will get back to you as soon as I have any news!

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.

Migrate away from TinyMCE
2 participants