8b704fa668
feat: impl so no longer needed from::
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-15 22:48:03 +02:00
79f132236f
feat(lua): impl all methods, add callback
...
this uses mlua beta but whatev api is so much better
2024-08-15 22:19:08 +02:00
a8ce56bcc0
feat: callback gets the controller itself as arg
2024-08-15 20:41:53 +02:00
c0d586df90
feat: Clone+Debug on api::Event
2024-08-15 20:15:37 +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
cschen
e732e6a938
feat(python): adapted glue to latest changes, still todo workspace events.
2024-08-15 17:58:02 +02:00
b51e55570f
fix(lua): return error with context
...
maybe wasteful? but i really want this to show error strings
2024-08-15 03:45:50 +02:00
f1b8d83bac
fix: don't clone at the end of select_buffer
2024-08-15 03:42:48 +02:00
889f745dd4
feat(lua): .event(), userdata for WorkspaceEvent
2024-08-15 03:42:25 +02:00
3e37d4ffe3
fix: don't send anything if change is a noop
2024-08-14 23:53:51 +02:00
e43105b919
fix: textchange can be both delete and insert
2024-08-14 23:46:16 +02:00
a5502d1f1f
fix(java): use ext::hash() instead
2024-08-14 19:17:25 +02:00
39f69cc418
feat(java): xxh3 hash checking
2024-08-14 19:09:48 +02:00
fcd2b9f1c9
chore(java): async send
2024-08-14 18:51:34 +02:00
24f5bdf2a7
feat(lua): expose hash field in text change
2024-08-14 18:07:26 +02:00
2d20887509
chore: removed prelude imports and fixed glue exports
2024-08-14 18:00:12 +02:00
b46914528a
chore: updated js glue to have async send/recv
2024-08-14 17:25:23 +02:00
8806941a13
feat(lua): expose hash fn
2024-08-14 17:16:58 +02:00
cschen
c58d1db58b
fix: proper translation from dt::Operation to Textchange
...
Co-authored-by: alemi <me@alemi.dev>
2024-08-14 17:16:05 +02:00
97b7504098
feat: hash is a public ext
2024-08-14 17:12:36 +02:00
cschen
d22446ee10
fix: this time is the good one
2024-08-14 16:31:28 +02:00
cschen
6c30699acc
Revert "(to alemi: always has been) fix: try now lmao."
...
This reverts commit 1b5b9e74bf
.
2024-08-14 16:15:42 +02:00
cschen
1b5b9e74bf
(to alemi: always has been) fix: try now lmao.
2024-08-14 16:07:19 +02:00
2916848165
fix(lua): its all async now
2024-08-14 15:56:36 +02:00
4bed9d7432
fix: cursor controller backpressure
...
Co-authored-by: cschen <cschen@codemp.dev>
2024-08-14 15:56:10 +02:00
413247f9b4
fix: update local version on send
...
also keep a branch on which we merge editor's changes, which kind of
solves our race condition thing
Co-authored-by: cschen <cschen@codemp.dev>
2024-08-14 15:55:18 +02:00
3346f1c526
feat: Controller::send is now async
...
needed because we want this to be acked, no longer a "fire and forget"
action
Co-authored-by: cschen <cschen@codemp.dev>
2024-08-14 15:55:06 +02:00
cschen
ef9da1740a
chore: explaining an extra thing
2024-08-14 13:34:01 +02:00
cschen
4d65b2db7d
fix: error in the worker that merged more operations than needed.
2024-08-14 13:32:18 +02:00
bd6423856b
chore(java): try_recv async
2024-08-14 00:27:26 +02:00
a9d713fd75
feat: async try_recv, delta_request
...
Co-authored-by: alemi <me@alemi.dev>
2024-08-14 00:24:32 +02:00
ada6ed49c1
fix(java): async content(), moved select_buffer
2024-08-13 21:58:40 +02:00
ab9c6530cd
fix: better try_recv mutex logic for cursor ctrl
2024-08-13 18:05:46 +02:00
2a016a6619
fix: add .content() back
...
except now its async and can fail and basically requests the worker to
generate the content for us on demand
Co-authored-by: zaaarf <me@zaaarf.foo>
Co-authored-by: cschen <cschen@codemp.dev>
2024-08-13 18:03:20 +02:00
8874f31eeb
fix: add from error for oneshot channel
...
this is getting a bit overused...
Co-authored-by: zaaarf <me@zaaarf.foo>
Co-authored-by: cschen <cschen@codemp.dev>
2024-08-13 18:00:17 +02:00
cschen
9acb7b6007
wip: Some attempts at getting DT to work with buffer controller and buffer worker!
...
This attempt doesn't use a ref to the crdt! But uses an extra channel!
2024-08-13 00:36:09 +02:00
781a130c62
chore: moved tools into ext
2024-08-10 16:13:16 +02:00
9c6036da56
chore: export CodempEvent
2024-08-10 16:12:28 +02:00
6bf541028d
feat(java): replace all expect/unwrap with throwing JNIException
2024-08-10 02:45:20 +02:00
53503ae117
feat(java): glue for workspace events
2024-08-09 14:11:13 +02:00
cschen
264dd319d3
fix(python): fixed the type hints, adapted glue to latest workspace, uniformed names in the glue
...
chore: forgot a file
2024-08-09 09:14:35 +02:00
29ffba3309
chore: remove unused deps and imports
2024-08-09 00:49:31 +02:00
61be0009ba
fix: removed InternallyMutable::wait
...
its broken in weird ways, just dont use it that way
2024-08-09 00:40:46 +02:00
a8b4eab445
feat: api struct for event
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-09 00:40:33 +02:00
07dd964466
fix: improved workspace events channel
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-09 00:39:58 +02:00
cschen
ad881ab067
chore(python): remove old monolithic ffi
2024-08-09 00:01:56 +02:00
cschen
99cbebb4f8
fix(python): stragglers files
2024-08-09 00:00:21 +02:00
cschen
7e8a46f9b8
feat(python): new leaner glue, up to date
2024-08-08 23:58:45 +02:00
754b88fd73
feat: javascript glue
...
Co-authored-by: alemi.dev <me@alemi.dev>
2024-08-08 23:25:02 +02:00
f699d2e8fe
feat: jank workspace event poll/get
2024-08-08 22:01:08 +02:00
f2be80427a
chore: move stuff around
...
im not sure about getters on Services, nor names, but ehh
2024-08-08 21:58:20 +02:00
f6edc2cbb0
feat(lua): add runtime driver stop control
2024-08-08 21:56:36 +02:00
0ca5165b73
feat: improve InternallyMutable
2024-08-08 21:55:52 +02:00
f14a8c40a5
feat: add codemp user to api
...
super stub but whatev
2024-08-08 21:55:43 +02:00
0aa7690533
feat: lua leave, detach, delete
2024-08-08 04:42:11 +02:00
e736646b8c
feat: add close_client helper in lua
2024-08-08 04:14:24 +02:00
898ab22e22
feat: add fn to get all workspace names
2024-08-08 04:14:13 +02:00
793cebb787
feat: add static client store for lua
...
so we can access clients across lua threads
2024-08-08 04:02:56 +02:00
775cde1d7f
feat: CodempClient is also an inner Arc<>
2024-08-08 03:59:28 +02:00
e1ba683fd0
fix: updated lua ffi
...
now the client is given to lua
2024-08-08 02:48:31 +02:00
a9bab2bb03
feat: java glue leave_workspace, detach, new connect
2024-08-08 02:45:52 +02:00
893c3d31e0
feat: better auth: multiworkspace, proper flow
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 02:30:34 +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
515cab331c
chore: cleanup, reorganizing java glue
2024-08-08 00:29:54 +02:00
487422eb99
feat: added detach buffer and leave workspace
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 00:28:35 +02:00
6e9727128d
feat: controllers now implement stop
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 00:28:15 +02:00
cd8f7cd5c5
feat: internally mutable
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 00:27:24 +02:00
4de09cb164
chore: de-arced a bit
...
Co-authored-by: zaaarf <me@zaaarf.foo>
2024-08-08 00:25:22 +02:00
ffa8d8ea82
Updated Javascript Glue with Napi
...
Co-authored-by: alemi.dev <me@alemi.dev>
2024-08-07 23:06:33 +02:00
e4b6e82485
docs: fix pic
2024-08-07 17:34:46 +02:00
6212718e99
feat: recv, buffer_list, tweaks, gradle
2024-08-07 10:22:01 +02:00
84996489e1
feat: working glue
...
Co-authored-by: alemi <me@alemi.dev>
2024-08-07 02:43:25 +02:00
4bb35f1727
feat: buffer controller, cleanup
2024-08-07 01:44:27 +02:00
329287df53
feat: more work on java ffi glue
...
easy when you todo() the hard vec<string>
2024-08-07 01:34:13 +02:00
490670b8bc
feat: try_recv CursorController
...
Co-authored-by: alemi <me@alemi.dev>
2024-08-07 00:38:45 +02:00
7d90793467
feat: get_buffer, get_cursor, get_workspace_id
2024-08-07 00:00:24 +02:00
72e86a8079
fix: lua use try_init for logging
2024-08-06 23:56:28 +02:00
13f862a0e8
chore: some glue code for jni
...
made the simple ones :p
2024-08-06 23:55:57 +02:00
e2ae53b35f
feat: initial work on jni-rs java glue
2024-08-06 23:30:16 +02:00
cschen
df95b20728
Merge remote-tracking branch 'origin/glue' into glue
2024-08-06 23:28:39 +02:00
cschen
bdbd94879b
feat: added maturin wheel building config as completely separate "project",
...
feat: added stubs for python glue, bundled in the wheel,
feat: the python glue now uses less stupid names.
2024-08-06 23:28:09 +02:00
2cc23f2ec2
feat: lua logger improvements
...
distinct fn for setup and get, setup is idempotent
2024-08-06 23:02:28 +02:00
cd9a2d6247
fix: lib name is codemp_lua, override addr via env
...
use CODEMP_SERVER_ADDRESS
2024-08-06 23:01:44 +02:00
05a4c88967
fix: controller with 1 generic
2024-08-06 23:00:45 +02:00
e85833a40f
chore: migrate errors to thiserror
2024-08-06 23:00:04 +02:00
95ece68ae6
fix: removed filler error
2024-08-06 00:16:52 +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
b75caaf959
fix: lua glue uses structs directly
2024-08-05 19:16:17 +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
Camillo Schenone
25e56f9894
fix: python glue works (only tested on mac though)
2024-03-16 15:42:36 +01:00
Camillo Schenone
859baf6572
fix: whops forgot the actual python glue xD version bump
2024-03-16 15:38:09 +01:00
Camillo Schenone
13a4163d1e
feat: added python glue, still needs some tweaking in the building of the dylib
2024-03-16 14:36:41 +01:00
f0003f04bd
chore: leftover lua lib.rs
2024-03-10 13:13:11 +01:00
c748f49941
feat:added js glue
2024-03-10 12:42:56 +01:00
830ef1fa9b
fix: made lua glue work
...
Co-authored-by: alemi <me@alemi.dev>
2024-03-10 02:18:54 +01:00
074c88feee
feat: added lua ffi bindings
...
broken because no proper build target but whatev for now ig
2024-03-10 01:39:08 +01:00
73fc3005c4
chore: renamed glue module
2024-03-10 01:36:50 +01:00