Commit Graph

484 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 e7280c7ae2 allow case sensitive yxml nodes 2019-06-14 15:59:00 +02:00
Kevin Jahns b4e5c5cc1f Correctly insert embed when using YText.applyDelta 2019-06-13 10:30:39 +02:00
Kevin Jahns 7e7c9d5b11 add relevant type information 2019-06-05 14:53:00 +02:00
Kevin Jahns ac3f672c80 Merge branch 'master' of github.com:y-js/yjs 2019-05-28 14:19:11 +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 70bb523005 Merge branch 'master' of github.com:y-js/yjs 2019-05-27 12:50:21 +02:00
Kevin Jahns 10ce6de57a import statement fix 2019-05-27 12:50:12 +02:00
Kevin Jahns 3fba4f25a5 Merge pull request #153 from calibr/124-text-embeds
process embeds in YText.toDelta
2019-05-25 13:04:10 +02:00
Kevin Jahns ef6c382e20 fix array iterator on merged content. fixes #152 2019-05-25 12:49:08 +02:00
calibr ee45b4fdd6 process embeds in YText.toDelta 2019-05-25 13:48:57 +03:00
Kevin Jahns 37a6d68543 implement support for boolean values. fixes #151 2019-05-25 03:12:56 +02:00
Kevin Jahns 72e470c5f0 Fix ytext event.delta - items that are synced and deleted
When items are added and deleted in the same transaction, event.delta would recognize them as added (though they are actually deleted). Now it just ignores them.
2019-05-19 20:42:53 +02:00
Kevin Jahns 4d12a02e2f fix offset in state vector 2019-05-16 12:31:53 +02:00
Kevin Jahns 4a7d6f0a2d fix sorting bug that only affects older node versions (probably because old sorting algorithms are not stable) 2019-05-14 15:21:34 +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 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