Orion Henry
ffa49c8aca
off by one
2021-06-19 13:29:59 -04:00
Orion Henry
ca74c33dcc
finished basic seek_to_op + test + bugs
2021-06-18 19:20:52 -04:00
Orion Henry
0cd13e0c10
more mark2
2021-06-18 19:11:33 -04:00
Orion Henry
781aab84b8
missing mark2/mod.rs
2021-06-18 19:11:33 -04:00
Orion Henry
eb69472e25
mark2
2021-06-18 19:11:33 -04:00
Vedant Roy
ea35a7f6cf
Rebase + clippy
2021-06-18 11:25:39 -04:00
Vedant Roy
6c4623592b
Satisfy clippy
2021-06-18 11:14:42 -04:00
Vedant Roy
f55c91c5d1
Tests pass
2021-06-18 11:14:42 -04:00
Vedant Roy
b304ba3ce3
Fix bug in tests? (Pretty sure it was a bug)
2021-06-18 11:14:42 -04:00
Vedant Roy
71306777d4
condense_insert_ops failing
2021-06-18 11:14:42 -04:00
Vedant Roy
5dc37464af
Remove F32
2021-06-18 11:13:46 -04:00
Vedant Roy
858392062f
Ensure values have same type when constructing MultiElementInsert
2021-06-18 11:13:10 -04:00
Andrew Jeffery
ff8b8613d5
Flatten objtype ( #175 )
...
* Flatten object type
* Use separate construct functions
* Use separate gen_*_diff functions
* Remove maptype and seqtype from Diffs
* Preallocate ops in new_map_or_table
* More preallocations
2021-06-17 20:06:10 +01:00
Andrew Jeffery
79239cc6a4
Improve load performance when no cursors are present ( #171 )
...
* Add save and load to benchmarks
* Improve load performance when no cursors are found
2021-06-16 11:50:49 +01:00
Andrew Jeffery
8b3938c2e7
Rename UncompressedChange to Change ( #173 )
...
It wasn't really uncompressed as we have compressed and uncompressed
changes in the backend. It is just not encoded into the binary format.
The module separation (protocol vs backend) should help with the
distinction.
2021-06-16 11:50:26 +01:00
Andrew Jeffery
71b59dea68
Set levels for instrument ( #164 )
2021-06-14 23:34:35 +01:00
Orion Henry
647b8d2af2
fix deflate column decode order
2021-06-12 15:01:38 -07:00
Orion Henry
d8a56d966e
added binary search to doc decode for big speedup
2021-05-29 13:34:03 -07:00
Andrew Jeffery
e98ed15582
Sort predecessors during encoding
2021-05-25 11:29:25 +01:00
Orion Henry
72d15bfe99
a few things broke in the merge
2021-05-24 16:27:05 -04:00
Vedant Roy
aaccefcb11
Switch back to using Vec<u8>
2021-05-24 13:17:37 -07:00
Vedant Roy
bc249bb630
Fix serialization + add test
2021-05-24 13:17:37 -07:00
Vedant Roy
22af56b059
Internal representation = base64 string
2021-05-24 13:17:37 -07:00
Vedant Roy
41021f398f
Add bytes type
2021-05-24 13:17:37 -07:00
Vedant Roy
73bc44edbc
Add comments from JS version
2021-05-24 13:15:20 -07:00
Vedant Roy
e694370733
Fix inverted bool + return correct data + remove serde
2021-05-24 13:15:20 -07:00
Vedant Roy
2c51761d01
Implement getAddedChanges
2021-05-24 13:15:20 -07:00
Orion Henry
6ebb63bfdd
Merge branch 'main' into implement-new-sequence-patch-format
2021-05-24 15:50:19 -04:00
Orion Henry
17b0d2eb38
cleanup for clippy
2021-05-24 15:07:13 -04:00
Orion Henry
3465517ab3
handle conflicts in list parent modifications
2021-05-24 14:59:09 -04:00
Andrew Jeffery
c2f2ded69f
Make encoding and decoding errors public
2021-05-21 14:00:17 +01:00
Andrew Jeffery
d5dfefb704
Fix backend panics ( #141 )
...
* Fix a panic when indexing the bytes
* Fix leb failing to read enough bytes
* Fix another panic out of bounds
* Use get rather than checking
* Check addition with arbitrary val
* Add backend load fuzzing
* Handle no ops sub
* Fix another index out of bounds
2021-05-20 11:24:23 +01:00
Andrew Jeffery
46ff9eabee
Apply clippy suggestion
2021-05-19 22:10:09 +01:00
Andrew Jeffery
37717f2798
Cargo fmt
2021-05-19 19:10:47 +01:00
Alex Good
87410e4c8f
Add comment explaining why it doesn't work
2021-05-17 19:53:36 +01:00
Alex Good
9bbaf7cbd5
Merge branch 'main' into implement-new-sequence-patch-format
2021-05-17 13:03:57 +01:00
Andrew Jeffery
426ccbc818
Expose event handler id ( #132 )
2021-05-16 20:16:54 +01:00
Andrew Jeffery
5637956895
Add custom RootDiff type
...
This ensures that the patch starts with the right diff type statically
and will give an error to js during deserialization.
2021-05-16 14:02:57 +01:00
Andrew Jeffery
30a89cb49d
Fix clippy lints
2021-05-16 13:10:28 +01:00
Andrew Jeffery
2e07e93e72
Change patches diffs to be non-optional
2021-05-16 13:01:37 +01:00
Andrew Jeffery
f2025028cf
Fix elem_id in get_patch test
2021-05-15 19:38:11 +01:00
Andrew Jeffery
553bf1f8ef
Handle overwriting inserts with updates from the same actor
2021-05-15 19:14:16 +01:00
Andrew Jeffery
96eef611d0
Default head to index 0
2021-05-15 18:05:25 +01:00
Andrew Jeffery
7c4858e686
Fix obtaining index for set operation
2021-05-15 18:01:03 +01:00
Alex Good
6eb96f2816
Split patch generation out of OpSet
2021-05-14 21:56:24 +01:00
Andrew Jeffery
641fd11703
Change init to new and add defaults ( #130 )
...
Structs should use `new` for the constructor name and implement
`Default` where they can.
2021-05-14 21:35:09 +01:00
Alex Good
df3770477b
Move initial patch generation to patches::from_scratch_diff
2021-05-14 21:13:07 +01:00
Alex Good
7d3e0ccc37
Move pending diffs into new patches module
2021-05-14 20:42:04 +01:00
Andrew Jeffery
d82e2ed217
Improve filter_changes for sync ( #126 )
...
* Improve filter_changes for sync
This helps to avoid traversing the entire graph when we get a successive
change that we know can't be a predecessor of the heads.
Also filter_changes shouldn't be globally public.
2021-05-14 20:20:27 +01:00
Andrew Jeffery
f6f874439b
Move decoding to a new module and separate errors ( #129 )
2021-05-14 20:20:05 +01:00