Commit graph

62 commits

Author SHA1 Message Date
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