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

Repo status: has this been abandoned? Are there active forks? #122

Open
derekperkins opened this issue Dec 9, 2021 · 3 comments
Open

Repo status: has this been abandoned? Are there active forks? #122

derekperkins opened this issue Dec 9, 2021 · 3 comments

Comments

@derekperkins
Copy link

We're about 2.5 years out from the last commit. There are seemingly viable PRs to be merged, but no activity from maintainers. Is there an active fork somewhere?

@williamstein
Copy link

Hi @derekperkins for what it is worth I care about this library and use it in production for all realtime sync for https://cocalc.com. I maintain a slightly modified dmp.js here

https://github.com/sagemathinc/cocalc/blob/master/src/packages/util/dmp.js

with some minor fixes for edge cases I've hit. I may end up creating a fork at some point to revive this project. I've also been thinking about writing a new implementation of the algorithm in zig (+compiled to wasm), but we'll see if that makes sense, as Javascript is pretty fast.

@burnit66
Copy link

burnit66 commented Oct 18, 2022

Hi @williamstein I'm curious what edge cases you've run into? I am encountering an issue when comparing superscripts. Interested to see if this case is covered in your modifications.

Text 1
(I(X))u
Text 2
(I(X))<sub>u</sub>
Compare output
(I(X))<ins><s</ins>u<ins>b>u</sub></ins>

As you can see, the html tag for subscript has been flagged as a diff the return is broken html

@williamstein
Copy link

I'm curious what edge cases you've run into?

They were issues involving the timeout implementation, and I think also some really bad performance in edge cases, e.g., shifting a 1MB string over by 1. When using this algorithm in production, especially on a server, these become important.

Thanks for sharing your example. It would be easier for me to test my code on it if you could give a snippet of javascript using dmp that I can just run, importing my slightly modified dmp instead of the official one. If it really is a bug, I'll be very interested in that and hopefully maybe have an idea how to fix it.

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

No branches or pull requests

3 participants