Commit Graph

42 Commits

Author SHA1 Message Date
Kevin Jahns 1aac245b93 New types dont fire events - fixes #155 2019-06-18 17:41:19 +02:00
Kevin Jahns 7e7c9d5b11 add relevant type information 2019-06-05 14:53:00 +02:00
Kevin Jahns 2192aa5821 Use generic Item with typed content to reduce cache misses 2019-05-28 14:18:20 +02:00
Kevin Jahns c80f446b5f README: update provider tutorial 2019-05-12 11:18:43 +02:00
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 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 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 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 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 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 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 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 585265e9a5 refactor and remove dependency circles 2019-03-13 00:04:19 +01:00
Kevin Jahns 39cee7c6e7 refix array tests and switch to lib0 2019-03-10 23:26:53 +01:00
Kevin Jahns 75f4a0a5f0 restructuring the project 2019-03-01 23:28:11 +01:00