Commit graph

48 commits

Author SHA1 Message Date
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
Andrew Jeffery
d1934f2286 Add formatting config 2021-04-26 09:42:36 -07:00
Andrew Jeffery
aebfdc6572 Update patches with pending_changes 2021-04-24 14:25:31 -07:00
Andrew Jeffery
fc45ff09a3
Allow change to return value from users closure (#84)
* Allow change to return value from users closure

* Add closure_result field to OptimisticChangeResult
2021-04-15 10:49:04 +01:00
Andrew Jeffery
d17554dfc4 Remove rc on backend 2021-03-31 08:59:38 -07:00
Andrew Jeffery
239fe59090
Use grapheme clusters in Text instead of char (#72)
* Use grapheme clusters in Text instead of char

char is not what users typically expect as a 'letter' so we should use
grapheme clusters instead. These can't always be represented as single
rust char types so the Text now stores a Vec of single grapheme Strings.

* Add test for grapheme clusters in text

* Use debug_assert_eq instead of debug_assert
2021-03-28 21:32:03 +01:00
Andrew Jeffery
776aef660a
Fix alignment error on wasm32 (#71)
* Add failing alignment test case

* Add wasm-pack test to ci

* Box im_rc::Vector contents to satisfy alignment

This makes the frontend not have alignment issues on 32 bit
architectures (e.g. wasm32-unknown-unknown). The box provides a
consistent alignment for the Vector.
2021-03-28 21:28:18 +01:00
Alex Good
c103b0638e Ritual abasement at the altar of clippy 2021-03-02 19:35:00 +00:00
Alex Good
4f4674a4a1 Implement cursors in frontend 2021-03-02 16:07:52 +00:00
Orion Henry
c135b02a48 full document compression 2021-01-29 17:55:59 -05:00
Alex Good
ae4b9f8f94 Add some benchmarks and make some performance related tweaks 2021-01-25 13:49:38 +00:00
Alex Good
8516476db2 Fix handling of Unchanged diffs in StateTreeValue::new_from_diff 2021-01-19 14:55:54 +00:00
Alex Good
56750f68d1 Fix inserts at beginning of a text object 2021-01-19 14:20:09 +00:00
Alex Good
497372db99 Immutable frontend rewrite 2021-01-16 17:40:47 +00:00
Martin Kleppmann
5ec8408398 Replace all-zeros UUID with '_root'
Corresponding to automerge/automerge@10ec271cbd
2021-01-12 14:45:32 -05:00
Alex Good
d7560d88ed Start making errors more descriptive 2020-06-04 00:32:18 +01:00
Alex Good
2cf2835e76 Make Patch::clock keys ActorID rather than String 2020-05-30 01:44:00 +01:00
Alex Good
62345c2b5f Make Patch::actor an ActorID, not a string 2020-05-30 01:24:26 +01:00
Alex Good
a36a364443 Rename automerge_protocol::Value -> ScalarValue 2020-05-29 21:04:29 +01:00
Alex Good
baba6a75b6 rustfmt 2020-05-26 16:20:26 +01:00
Alex Good
03a786d608 Fix a few small bugs 2020-05-26 16:17:06 +01:00
Alex Good
baaebef6d1 Merge branch 'master' into two-level-objtype 2020-05-25 18:47:46 +01:00
Orion Henry
ab71d01487 internal types impl COPY 2020-05-25 09:43:28 -04:00
Alex Good
2443cdf860 Remove objtype wrapper for diffs 2020-05-24 11:06:23 +01:00
Alex Good
40c8f8f9b3 Move ObjType to two level hierarchy 2020-05-24 10:22:18 +01:00
Orion Henry
25393130e8 Merge remote-tracking branch 'origin/master' into bin_change 2020-05-22 19:11:52 -04:00
Orion Henry
87b44cf977 ChangeRequest->Request 2020-05-22 16:11:26 -04:00
Alex Good
2567efcc70 Port apply local patch tests 2020-05-22 15:11:42 +01:00
Alex Good
045656ac46 Port the backend concurrency tests 2020-05-21 18:40:36 +01:00
Alex Good
4738e3c52f Run rustfmt and clippy 2020-05-21 13:05:33 +01:00
Alex Good
c1af21e42e Port refuse to overwrite counter 2020-05-21 13:03:19 +01:00
Alex Good
11c9ad9ba9 Port counters inside lists test 2020-05-21 12:57:24 +01:00
Alex Good
425beb2f3f Port counters inside maps test 2020-05-21 12:47:41 +01:00
Alex Good
baf0bc4c0c Port delete in list elements test 2020-05-21 12:11:23 +01:00
Alex Good
42b2c02d3f Port a few more tests 2020-05-21 00:49:55 +01:00
Alex Good
ad6afb9e4d Port the delete keys in map frontend test 2020-05-20 21:25:13 +01:00
Scott Trinh
fb32dac173
protocol: Hex-encode random ActorID (#18)
* protocol: Hex-encode random ActorID

* protocol: Encode UUID bytes directly

* frontend: Remove redundant clone
2020-05-20 19:49:25 +01:00
Alex Good
c918da4d32 Port the update in nested maps frontend test 2020-05-20 18:26:07 +01:00
Alex Good
0e5ce40cff Fix tests 2020-05-16 02:20:52 +01:00
Alex Good
9bb374b492 Run rustfmt 2020-05-14 01:05:01 +01:00
Alex Good
6fd6d0f839 Port nested state creation test 2020-05-13 19:01:15 +01:00
Alex Good
c415d95c71 Merge branch 'performance' into frontend 2020-05-13 17:53:47 +01:00
Alex Good
dd650b0c38 Merge branch 'performance' into frontend 2020-05-09 13:04:44 +01:00
Alex Good
e3fe5b9d6d One more passing test 2020-05-08 00:24:34 +01:00
Alex Good
6ad3e13fc0 Tests passing with optimistic local diff application 2020-05-07 16:02:02 +01:00
Alex Good
65b2a056ac WIP 2020-04-27 19:38:32 +01:00
Alex Good
eca8af0d04 Add text rendering with no tests 2020-04-21 23:32:02 +01:00
Alex Good
43d14194d3
Loading initial state sans text 2020-04-21 23:17:36 +01:00