Kevin Jahns
e9cb07da55
Failsafe when splitting surrogate pairs - fixes #248
2020-10-31 02:05:33 +01:00
Kevin Jahns
e17d661769
implemented first subdocuments draft #234
2020-09-10 01:54:16 +02:00
Kevin Jahns
6e3b708599
implement search-marker prototype (limited usage for now)
2020-07-15 22:03:02 +02:00
Kevin Jahns
6e8167fe51
integration refactor with stackHead magic
2020-07-13 17:38:39 +02:00
Kevin Jahns
6c2cf0f769
Implement experimental new encoder 🚀
2020-07-12 18:25:54 +02:00
Kevin Jahns
d7a11ccf4d
fix gc regression issue & add another breaking condition for the integration algorithm
2020-06-18 00:31:25 +02:00
Kevin Jahns
6dd26d3b48
reduce number of variables and sanity checks 😵
2020-06-09 23:48:27 +02:00
Kevin Jahns
6b0154f046
improve mem usage by conditional execution of the integration part (step throught the integration if there are conflicting items)
2020-06-09 16:34:07 +02:00
Kevin Jahns
5293ab4df1
Improve memory usage by omitting the ItemRef step and directly applying the Item
2020-06-09 00:53:05 +02:00
Kevin Jahns
0a0098fdfb
reuse item position references in Y.Text
2020-06-05 00:27:36 +02:00
Kevin Jahns
7b16d5c92d
implement pivoting in struct search
2020-06-04 18:14:41 +02:00
Kevin Jahns
e86d5ba25b
fix ref offset issue
2020-06-04 17:07:17 +02:00
Kevin Jahns
60fab42b3f
improve memory allocation ⇒ less "minor gc" cleanups
2020-06-02 23:20:45 +02:00
Kevin Jahns
f40e09d156
type fixes for breaking typescript@3.8.* release
2020-04-02 01:03:30 +02:00
Kevin Jahns
e3c59b0aa7
more options to gc data (undomanager.clear and tryGc)
2020-01-27 03:42:32 +01:00
Kevin Jahns
6cd9e2be32
lint
2020-01-22 16:42:16 +01:00
Kevin Jahns
7f0e25dcba
permanent user store writes updates in separate transaction
2019-12-10 17:18:57 +01: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
d1f5ff0f59
implement PermanentUserData storage prototype
2019-09-17 18:53:59 +02:00
Kevin Jahns
0e7da017fe
Use lib0/any-encoding instead of JSON
2019-08-09 01:15:46 +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
14df5b72af
fix consistency bug - ref.toStruct does not correctly create GC when offset is specified
2019-06-18 18:46:19 +02:00
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