Commit Graph

768 Commits

Author SHA1 Message Date
Kevin Jahns 8c36f67f0b rework and document api 2019-05-07 13:44:23 +02:00
Kevin Jahns 20005eecdb Merge deleted items more efficiently.
Previously deleted items were simply added to transaction._mergeStructs. But this inherently inefficient as it will splice the struct store for every item.

Now Yjs iterates over transaction.ds and tries to merge structs. It iterates from right to left so merging should be more efficient that before. But more work needs to be done.

For example we could set structs[i] = null and filter the structs after merging is done.
2019-04-28 17:20:35 +02:00
Kevin Jahns c9dda245bf v13 api docs 2019-04-28 02:53:25 +02:00
Kevin Jahns 32c4c09072 update parent._map when splitting an item 2019-04-26 19:54:00 +02:00
Kevin Jahns 8c5a06bbf8 fix gc when item is deleted in observer call 2019-04-26 18:37:38 +02:00
Kevin Jahns a336cc167c order observer and transaction cleanups after one another 2019-04-26 13:31:00 +02:00
Kevin Jahns 21d86cd2be Delete all children of ItemType when it is deleted 2019-04-26 12:29:28 +02:00
Kevin Jahns 1d0f9faa91 AbstractItem.mergeWith helper outsourced into separate function 2019-04-24 18:10:33 +02:00
Kevin Jahns 45237571b7 gc more efficiently 2019-04-23 20:51:32 +02:00
Kevin Jahns fa3c92f44c change parameter order of transaction events 2019-04-19 23:36:00 +02:00
Kevin Jahns 07a6a0044b simplify exposed APi 2019-04-12 20:04:07 +02:00
Kevin Jahns 07ac1d03e3 fix jsdoc 2019-04-11 23:34:56 +02:00
Kevin Jahns 31ff7ac78c improve jsdoc comments 2019-04-11 13:22:59 +02:00
Kevin Jahns ed3b31e58f jsdoc fixes 2019-04-11 00:49:07 +02:00
Kevin Jahns 759ecb21f7 rename transaction._replacedItems to transaction._mergeStructs 2019-04-11 00:31:43 +02:00
Kevin Jahns 9c29d820c8 rename AbstractRef to AbstractStructRef 2019-04-11 00:26:42 +02:00
Kevin Jahns 2ef11a5344 splitting an item must always happen inside a transaction, because we always need to check if we can merge it back 2019-04-11 00:23:08 +02:00
Kevin Jahns 9fe47e98d5 type._map points to the last element instead to enable merging of deletes in Map 2019-04-10 21:01:59 +02:00
Kevin Jahns 654510f3ff read struct refs as array 2019-04-10 18:52:22 +02:00
Kevin Jahns 52ec698635 implement some of the commented todos 2019-04-09 04:01:37 +02:00
Kevin Jahns 1b06f59d1c fixed remaining tests 2019-04-09 00:48:24 +02:00
Kevin Jahns 12bcc4d080 fix remaining random tests 2019-04-09 00:31:28 +02:00
Kevin Jahns e1a9f314a7 fixed part of split/merge logic 2019-04-08 13:41:28 +02:00
Kevin Jahns 7a111de186 refactor read/write of structs 2019-04-07 23:08:08 +02:00
Kevin Jahns 90b3fa9dd9 fixed merging and adapted writeStructs to write end of message 2019-04-07 12:47:04 +02:00
Kevin Jahns c635963747 Compare origin ids in item.integrate 2019-04-06 15:55:20 +02:00
Kevin Jahns 1b17b5e400 fixed 10 tests 2019-04-06 13:00:32 +02:00
Kevin Jahns 61d9d96d15 fix replace with delete 2019-04-05 21:06:43 +02:00
Kevin Jahns 7d0c048708 Items accept origins as IDs 2019-04-05 19:46:18 +02:00
Kevin Jahns 8a7416ad50 Create Structs based on offset, if necessary
implement offset parameter in Ref.toStruct
2019-04-05 12:38:02 +02:00
Kevin Jahns e56899a02c after refactor - some tests are working again 2019-04-05 00:37:09 +02:00
Kevin Jahns 30bf3742c9 add internals file and use it to organize imports 2019-04-04 19:35:38 +02:00
Kevin Jahns 8dbd2c4696 restructure EventHandler 2019-04-04 13:50:00 +02:00
Kevin Jahns 6578727c9c fixed all type issues 2019-04-03 13:23:27 +02:00
Kevin Jahns 92ca001cdc implement getMap, getArray, getXml, .. 2019-04-03 03:08:10 +02:00
Kevin Jahns 415de1cc4c all YArray.tests type fixes 2019-04-03 02:30:44 +02:00
Kevin Jahns e23582b1cd more type fixes and rethinking writeStructs 2019-04-02 23:08:58 +02:00
Kevin Jahns 73c28952c2 fix all types but yxmlelement 2019-03-30 11:00:54 +01:00
Kevin Jahns 1bc1e88d6a fix y-text 2019-03-30 01:08:09 +01:00
Kevin Jahns c188f813a4 fixed YMap 2019-03-29 13:49:13 +01:00
Kevin Jahns ff981a8697 fixed YArray 2019-03-29 01:03:02 +01:00
Kevin Jahns d9ab593b07 prelim refactor commit 2019-03-26 01:14:15 +01:00
Kevin Jahns 293527e62b fix a few tsc errors (96 remaining) 2019-03-13 02:15:43 +01:00
Kevin Jahns 040808300c clean up build script - no more warnings 2019-03-13 01:16:31 +01:00
Kevin Jahns 585265e9a5 refactor and remove dependency circles 2019-03-13 00:04:19 +01:00
Kevin Jahns 3a7411f9e8 reworked some ymap tests (a few are running again) 2019-03-11 00:00:41 +01:00
Kevin Jahns 39cee7c6e7 refix array tests and switch to lib0 2019-03-10 23:26:53 +01:00
Kevin Jahns 0a5753c191 decode items before they are decoded. fixes lots of y-array tests 2019-03-07 18:57:39 +01:00
Kevin Jahns 76b7d0b651 fixed some issues in random tests 2019-03-06 13:29:16 +01:00
Kevin Jahns 93ee4ee287 converted first y-array test to funlib/testing 2019-03-04 14:28:18 +01:00