Commit Graph

223 Commits

Author SHA1 Message Date
Kevin Jahns ef5c71bd8b PermanentUserData fixes 2020-01-23 04:58:02 +01:00
Kevin Jahns 6cd9e2be32 lint 2020-01-22 16:42:16 +01:00
Kevin Jahns 22917bca19 fix gc & proper options typings for Y.Doc, fixes #176 2019-12-10 17:51:49 +01:00
Kevin Jahns 7f0e25dcba permanent user store writes updates in separate transaction 2019-12-10 17:18:57 +01:00
Kevin Jahns 18c9010b63 Merge branch 'master' of github.com:y-js/yjs 2019-11-26 13:02:49 +01:00
Kevin Jahns c3edac62ef doc typo 2019-11-26 13:02:43 +01:00
Kevin Jahns f53dff5043 delay errors in observe callbacks to throw after cleanup is done 2019-10-25 23:44:09 +02:00
Kevin Jahns aeb23dbaa9 follow redone items to prevent some undo-redo issues. Fixes #162 2019-10-08 18:31:56 +02:00
Kevin Jahns 303138f309 sanitize items before undoing. fixes #165 2019-10-08 17:36:00 +02:00
Kevin Jahns ece4841b5c update stackItem.meta doc 2019-10-03 22:06:07 +02:00
Kevin Jahns 66d500f08d YEvent: consider case that item was added & removed in the same transaction 2019-09-30 11:10:03 +02:00
Nik Graf b38a8d99e5 fix absolute position calculation 2019-09-23 11:05:50 +02:00
Kevin Jahns d1f5ff0f59 implement PermanentUserData storage prototype 2019-09-17 18:53:59 +02:00
Kevin Jahns bb1c0b809f implement snapshot & event.changes 2019-09-03 16:33:29 +02:00
Kevin Jahns 8bcff6138c Y.Text snapshot support (toDelta) 2019-08-31 22:42:18 +02:00
Kevin Jahns 251c8aaefc UndoManager configuration to filter deletes 2019-08-20 22:28:49 +02:00
Kevin Jahns 36203af88e should not rely on all deconstructing features because not all parsers support it 2019-06-29 14:47:34 +02:00
Kevin Jahns 463065ac21 UndoManager: keep item before item is deleted (fixes some edge cases of followRedo) 2019-06-25 11:56:41 +02:00
Kevin Jahns d064e6e96e UndoManager accepts an array of types as scope. Implements #156 2019-06-25 02:26:18 +02:00
Kevin Jahns e376b5d472 UndoManager fixes 2019-06-24 23:04:53 +02:00
Kevin Jahns 03458dc641 Port Undo/Redo approach with a clean API 2019-06-23 13:04:14 +02:00
Kevin Jahns 1aac245b93 New types dont fire events - fixes #155 2019-06-18 17:41:19 +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 10ce6de57a import statement fix 2019-05-27 12:50:12 +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 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 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