Commit graph

76 commits

Author SHA1 Message Date
3e37d4ffe3
fix: don't send anything if change is a noop 2024-08-14 23:53:51 +02:00
e43105b919
fix: textchange can be both delete and insert 2024-08-14 23:46:16 +02:00
cschen
c58d1db58b fix: proper translation from dt::Operation to Textchange
Co-authored-by: alemi <me@alemi.dev>
2024-08-14 17:16:05 +02:00
97b7504098
feat: hash is a public ext 2024-08-14 17:12:36 +02:00
cschen
d22446ee10 fix: this time is the good one 2024-08-14 16:31:28 +02:00
cschen
6c30699acc Revert "(to alemi: always has been) fix: try now lmao."
This reverts commit 1b5b9e74bf.
2024-08-14 16:15:42 +02:00
cschen
1b5b9e74bf (to alemi: always has been) fix: try now lmao. 2024-08-14 16:07:19 +02:00
413247f9b4
fix: update local version on send
also keep a branch on which we merge editor's changes, which kind of
solves our race condition thing

Co-authored-by: cschen <cschen@codemp.dev>
2024-08-14 15:55:18 +02:00
cschen
ef9da1740a chore: explaining an extra thing 2024-08-14 13:34:01 +02:00
cschen
4d65b2db7d fix: error in the worker that merged more operations than needed. 2024-08-14 13:32:18 +02:00
a9d713fd75
feat: async try_recv, delta_request
Co-authored-by: alemi <me@alemi.dev>
2024-08-14 00:24:32 +02:00
2a016a6619
fix: add .content() back
except now its async and can fail and basically requests the worker to
generate the content for us on demand

Co-authored-by: zaaarf <me@zaaarf.foo>
Co-authored-by: cschen <cschen@codemp.dev>
2024-08-13 18:03:20 +02:00
cschen
9acb7b6007 wip: Some attempts at getting DT to work with buffer controller and buffer worker!
This attempt doesn't use a ref to the crdt! But uses an extra channel!
2024-08-13 00:36:09 +02:00
781a130c62
chore: moved tools into ext 2024-08-10 16:13:16 +02:00
61be0009ba
fix: removed InternallyMutable::wait
its broken in weird ways, just dont use it that way
2024-08-09 00:40:46 +02:00
0ca5165b73
feat: improve InternallyMutable 2024-08-08 21:55:52 +02:00
59d8a4640d
fix: proper lifetime for cursor, renamed methods
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 02:29:45 +02:00
6e9727128d
feat: controllers now implement stop
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 00:28:15 +02:00
cd8f7cd5c5
feat: internally mutable
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 00:27:24 +02:00
ffa8d8ea82 Updated Javascript Glue with Napi
Co-authored-by: alemi.dev <me@alemi.dev>
2024-08-07 23:06:33 +02:00
6212718e99
feat: recv, buffer_list, tweaks, gradle 2024-08-07 10:22:01 +02:00
05a4c88967
fix: controller with 1 generic 2024-08-06 23:00:45 +02:00
Camillo Schenone
f9784e961d feat: updated to new glue, magic.
fix: added sublime junk to gitignore
2024-08-05 22:44:46 +02:00
39533ae086
feat: wrappers for Cursor and Op
so plugins dont need to interact directly with our underlying proto
struct, nor our underlying crdt ops. also for wrapping directly in glue
2024-08-05 19:15:30 +02:00
84c77eaca3
feat: inner Arc<T> on controllers
so we can wrap them directly in our glue
2024-08-05 19:14:35 +02:00
a38c28f401 feat: moved out proto + feature flag cleanup
Co-authored-by: alemi <me@alemi.dev>
2024-03-09 19:59:36 +01:00
c9a36ea8ec fix: cleaned up code, fixed multi-op change issues 2024-02-09 00:35:08 +01:00
1cf17dc151 chore: proto cleanup and simplification
reuse as much as possible, keep rpc messages close with their rpc,
helper struct for uuid with into() and from(). also replaced the simple
things, such as imports and struct fields
2024-02-07 01:09:28 +01:00
4ae31df3ff chore: moved select_buffer under buffer::tools
needed to more appropriately subdivide feature flags
2024-02-01 17:54:56 +01:00
741a074464 feat: implemented leave workspace and list buffer users, various fixes 2024-01-25 17:05:06 +01:00
94a7786812 feat: workspaces and new library structure
Co-authored-by: alemi <me@alemi.dev>
Co-authored-by: frelodev <frelodev@gmail.com>
2024-01-25 02:13:45 +01:00
7ad1da0f27 chore: updated docs, getter for buf name 2023-11-30 03:41:53 +01:00
9d349e1b1e fix: remove tracing 2023-11-30 03:08:22 +01:00
3197c083bf fix: discard empty textchanges, drain range 2023-11-30 03:04:26 +01:00
3881bb38ea chore: improved seen mechanism
instead of manually handling the mutex leave it to tokio and use a fancy
generic struct with update() and check()
2023-11-30 03:03:09 +01:00
1265f716d6 chore: packed clonable handles in sub struct 2023-11-27 14:55:46 +01:00
15ad6dba55 docs: documented select_buffer 2023-11-24 12:12:38 +01:00
488c22c0f1 fix: missing await, debug on ignorableErr, content 2023-11-24 10:43:37 +01:00
8df0b8ec41 feat: poll doesn't ever lock the RwLock
to make try_recv deadlocks way more rare
2023-11-23 20:45:43 +01:00
0ba2c5ccef fix: ouch mutexes are harddddd 2023-11-17 18:38:29 +01:00
152679669b feat: buffer controller exposes its name 2023-11-17 17:38:47 +01:00
9df4594408 feat: send granular changes, added deadlocked error 2023-11-17 05:47:57 +01:00
39f2bd6ac2 docs: updated usage and references 2023-11-17 05:47:40 +01:00
2ccb5c936b feat: moved TextChange into api, added from diff 2023-11-17 05:45:31 +01:00
5208ff65c0 fix: don't trigger on self change, smaller siteid
also set woot dep rev because cache
2023-11-17 03:30:39 +01:00
ca29ee3e0f fix: better api with TextChange, ugly fixes
it's pretty ugly but it kinda works? really need to do this better
2023-11-16 06:52:25 +01:00
e7ad2723ba fix: initialize woot with str, gen siteid from uid 2023-11-10 04:29:50 +01:00
8686715e9d feat: swap in our WOOT implementation
it's kinda crude and buggy but some things might just work?
2023-11-09 05:21:24 +01:00
9040222570 docs: fix references 2023-09-10 03:06:47 +02:00
5277eceb01 feat: reworked buffer controller
basically now calling recv assumes we have locked the editor state, and
no more operations will be enqueued. this allows to safely transform and
send server operations. the way local ops are transformed and sent is
still kinda buggy but it mostly works? "dead"locks sometimes until more
stuff arrives. also buffercontroller no longer implements operation
factory, you gotta make a factory yourself
2023-09-10 03:01:37 +02:00