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