Commit graph

49 commits

Author SHA1 Message Date
917a6b96c2
feat: automatically map cursor uuids to names
not a fan of passing an Arc<DashMap> down to the cursor worker, but it
needs to access a mapping managed by the workspace so not sure if it can
be better. Into and From protocol types and Cursor are gone: do things
manually (since user is now a different thing, it can't be auto). Also
api::Cursor got changed: user field is Option<String> now
2024-09-05 23:59:05 +02:00
04e021f964
feat: don't use async-trait for api::Controller
make it still available via feature `async-trait` if it is necessary to
use auto traits downstream, however documentation should now be more
readable
2024-09-05 23:27:57 +02:00
d25e744a37
docs: improved cargo docs, rewrote readme
Co-authored-by: alemi <me@alemi.dev>
2024-09-05 01:45:48 +02:00
bfe84c45e0
docs: re-documented remaining members 2024-09-04 21:37:35 +02:00
cf1e910dcb
feat: reworked cursor worker/controller
now its more similar to buffer controller/worker and it behaves more
like an actor/service
2024-09-01 03:08:43 +02:00
b98be22a8b
feat: more capillar errors
so its clear that some functions wont return a transport error or an rpc
error
2024-09-01 02:46:03 +02:00
cschen
e7fa9f4a5b fix: Worker list_users_returns a Vec<User> instead of Vec<Identity>
chore: formatter going to town
2024-08-16 16:46:32 +02:00
8b704fa668
feat: impl so no longer needed from::
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-15 22:48:03 +02:00
a8ce56bcc0
feat: callback gets the controller itself as arg 2024-08-15 20:41:53 +02:00
d3ce714070
feat: rather than +Debug, make a newtype 2024-08-15 20:15:23 +02:00
7900ca08a7
feat: added back .callback() to controller api 2024-08-15 19:32:01 +02:00
2f955ecef4
chore: pub(crate) for cursor controller too 2024-08-15 19:31:34 +02:00
4bed9d7432
fix: cursor controller backpressure
Co-authored-by: cschen <cschen@codemp.dev>
2024-08-14 15:56:10 +02:00
a9d713fd75
feat: async try_recv, delta_request
Co-authored-by: alemi <me@alemi.dev>
2024-08-14 00:24:32 +02:00
ab9c6530cd
fix: better try_recv mutex logic for cursor ctrl 2024-08-13 18:05:46 +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
ffa8d8ea82 Updated Javascript Glue with Napi
Co-authored-by: alemi.dev <me@alemi.dev>
2024-08-07 23:06:33 +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
f61836e4ca chore: we don't need user_id this deep actually
it's stored in our token anyway
2024-02-07 01:11:36 +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
164e9887b8 fix: serialize uuid as string when sending 2024-02-01 03:19:27 +01:00
741a074464 feat: implemented leave workspace and list buffer users, various fixes 2024-01-25 17:05:06 +01:00
f7bd5849be fix: removed instance module, fixed prelude 2024-01-25 03:25:45 +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
39f2bd6ac2 docs: updated usage and references 2023-11-17 05:47:40 +01:00
8267e1b890 fix: other way around... 2023-11-16 06:50:55 +01:00
5812dea19a feat: swap cursor start/end if needed when sending 2023-09-10 23:20:07 +02:00
b2520898b5 chore: moved factory under api, restructured 2023-09-10 03:00:47 +02:00
1034f0482c chore: moved controller under api module 2023-09-03 23:04:08 +02:00
9f8245a9a4 fix: ignore cursor events from self 2023-08-21 03:53:57 +02:00
5f1f43e645 feat: derive Debug for controllers 2023-08-21 02:47:52 +02:00
0cce1d1ea0 feat: added poll/try_recv to controller, fixes
added Default derive to TextChange, added docs for poll and try_recv
methods, implemented new functionality in controllers, using a watch
channel (or reusing if available). Fixed global being always active and
wrongly imported when inactive.
2023-08-21 02:35:56 +02:00
464d58f0ee feat: added some gifs, explained async_trait fn 2023-08-20 04:00:52 +02:00
2ad5d4f6b0 docs: a ton of documentation 2023-08-20 00:46:55 +02:00
1e05af6d79 feat: sync send in controller, docs, better import 2023-08-19 21:44:27 +02:00
bd6132dc1e feat: stop worker when dropping controller, unwraps 2023-08-19 04:02:21 +02:00
fecd28165a feat: plainer names and prefixed prelude 2023-08-17 02:58:55 +02:00
b8578a89a4 fix: inaccessible fields, pub(crate) constructor 2023-08-17 00:04:37 +02:00
f8e77f0827 feat: reworked client, added static instance 2023-08-16 23:09:47 +02:00
96217d1a1a feat: standardized Controller and ControllerWorker 2023-08-16 18:58:42 +02:00
74faca0f25 chore: cleaned up server and lib after split 2023-08-16 18:58:11 +02:00
37e6268f0c chore: buffer(controller->handle, client->controller) 2023-08-11 15:33:40 +02:00
5cddb27b98 feat: initial features splitting, added singleton 2023-07-30 22:58:24 +02:00
02b2588073 feat: major restructure, workspace rework, tweaks
all controllers use internal mutability so that they can all be put
behind Arcs
2023-07-30 17:48:55 +02:00