487422eb99
feat: added detach buffer and leave workspace
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 00:28:35 +02:00
4de09cb164
chore: de-arced a bit
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 00:25:22 +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
4694a01c9b
fix: don't borrow self as mut to join workspace
2024-03-09 17:20:40 +01:00
99a268185a
fix: increase channels buffer size
...
maybe helps? idk probably not actually
2024-02-07 21:24:31 +01:00
d78362c745
feat: getter for workspace
...
name doesn't really make sense: it's user-defined because we connect to
workspace contained inside token but store such connection with user
given name
2024-02-07 03:47:37 +01:00
948a1b4de5
feat: workspace streaming attach and lists
...
to join a workspace, attach to it. to leave a workspace, close the
channel. on such channel you get workspace events (new buffers, user
leave, ...). must fetch current buffers and users upon join. if
workspace doesn't exist, server should create it on attach
also dashmap everywhere to get/put simple
2024-02-07 01:12:05 +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
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
10e4a458ce
chore: more tests, imports
2023-11-30 03:01:59 +01:00
d562e406f2
fix: moved select_buffer out of client
...
due to instance mutexing it held the lock while awaiting for events,
which is undesirable!
2023-11-28 02:22:21 +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
175b9c945a
fix: new approach for select_buffer
...
this is definitely bloatier but should work and not deadlock?
2023-11-17 18:28:32 +01:00
8dc3538f32
feat: experimental select_buffer client api
2023-11-17 17:00:10 +01:00
39f2bd6ac2
docs: updated usage and references
2023-11-17 05:47:40 +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
ed151e2213
fix: docs, tests, leftovers
2023-09-10 04:23:39 +02:00
9040222570
docs: fix references
2023-09-10 03:06:47 +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
2ad5d4f6b0
docs: a ton of documentation
2023-08-20 00:46:55 +02:00
87a1c17599
feat: both sync and async instance, sync feat
2023-08-19 18:28: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
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
ca42874590
feat: refactored and improved operation controller
...
now polling for changes returns span and text so that it's possible to
edit just the changed region. greatly improved controller internal api
with crate-level traits keeping error handling localized
2023-07-09 03:44:27 +02:00
d086997053
feat!: start+end in cursor, merged cursor structs
2023-07-05 00:09:09 +02:00
38911bdc31
feat: reworked cursor handle mechanism
...
instead of storing cursors it just streams them as they happen. instead
of just getting cursors from the controller, now you also send your
operations into it, mimicking more the behavior used for text ops
2023-07-04 22:54:25 +02:00
43634acc2c
fix: remove unnecessary async, re-exported ot, refactor
2023-07-02 23:59:04 +02:00
b9ab3403dd
chore: aligned match case, renamed to unwrap_or_warn
2023-07-01 14:12:33 +02:00
107c4673ef
chore: separated modules in a cargo workspace
2023-04-21 18:47:10 +02:00
c213536c3b
feat: implemented connection and state managers
...
Co-authored-by: f-tlm <f-tlm@users.noreply.github.com>
2022-07-10 23:47:14 +02:00
6e26282faf
build: finished following tonic tutorial
2022-07-10 20:44:43 +02:00
65300edf90
build: initial commit with tonic stubs
2022-07-10 19:01:56 +02:00