Remix.run Logo
gbalduzzi an hour ago

I have seen lately a number of new productivity suite.

How is the Microsoft Office compatibility managed by these tools? There is a popular SDK providing the compatibility? I can't imagine everyone reimplementing the full compatibility layer

nathanstitt an hour ago | parent [-]

Good question, TinyCld does uses docx/xlsx files on the drive package as the native storage for text/calc. Drive is exported via webdav so doing so lets native clients load the files as well. Locking is used though so web & native _hopefully_ do not conflict.

Text uses https://github.com/ZeroHawkeye/wordZero to read/write the docx, parse it into a y-prosemirror and served with yjs to clients using https://github.com/skyterra/y-crdt

And Calc uses https://github.com/xuri/excelize using the same techniques but uses plain Yjs Y.Map/Y.Array using a sparsely populated table