9e977adcdd
chore: cargo fmt
2024-10-10 12:52:25 +02:00
ce8dcc8b8c
chore: cleanup
2024-10-10 12:52:25 +02:00
560a634499
chore: split TextChange and Cursor
...
so that sending/receiving parts are different rather than Option<?>
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-10-10 12:52:25 +02:00
d5518a7b48
chore: updated send methods (+format)
2024-10-10 12:52:25 +02:00
907a0329d3
feat!: ackable changes for buffer cntrls, sync send
2024-10-10 12:52:25 +02:00
8225524cb3
chore: fixed imports
2024-10-03 04:05:58 +02:00
535de6c2fc
Merge branch 'dev' into feat/workspace-receiver
2024-10-03 03:52:42 +02:00
400d87cdb1
chore: cargo fmt
2024-10-01 16:07:09 +02:00
1b16d4af59
chore: split controller trait in 2 sides
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-09-28 03:33:32 +02:00
4d418c814e
fix: use Weak refs to prevent leaky cycles
2024-09-26 02:29:13 +02:00
cschen
f6c0b878cb
feat: add specific feature flag to specify building python without abi.
...
This is needed because if we want to ship to sublime, having the `pyo3/abi-*`
feature enabled will result in a wheel that needs the `python3.dll` (f****g windows)
which sublime does not ship. This works fine for Linux and Mac Os, but
for windows we will need to build without abi and for Python3.8 directly
for sublime specifically and also with the abi for the generic python wheel to be
used everywhere else.
2024-09-19 21:32:46 +02:00
5a8b4ae800
chore: bump versions, fix docs
2024-09-18 16:11:12 +02:00
ac94fb86fd
chore: rename feature to py for consistency
2024-09-13 22:21:53 +02:00
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