Commit graph

118 commits

Author SHA1 Message Date
c0b8906043
chore: move ffi infos in root mod
because i actually dont want docs.rs to build with ffi flags anymore:
docs get "littered" with napi auto methods and pyo3 stuff, which is
annoying and needless noise when reading the doc. I would much rather
only have relevant stuff, to not make doc consumers hop around guessing
what is relevant and what not
2024-09-13 12:04:27 +02:00
2f68006d07
fix: glue for js and py 2024-09-11 18:07:55 +02:00
981e7218b5
fix(lua): actually still need userdata
what's up with weird userdata NULL ?? lets actually get serialized but
return userdata so we get best of all worlds. in the future we could
make overloads with multiple args which bypass serialization
2024-09-11 17:49:09 +02:00
6559fcd5f3
feat(java): use config struct for connect 2024-09-11 15:51:07 +02:00
123f11854c
fix(lua): normalize workspace method names
no _buffer
2024-09-11 15:50:05 +02:00
5e95ddde2a
feat(lua): add config, serialize/deserialize args
before we held all structs on the rust side, which probably means faster
passing and smaller objects but also very inconvenient because must be
constructed on the rust side. all api structs are now serialized back
and forth, which should become fast enough if jitted, allows for simpler
and smaller code and all around probably is a negligible overhead since
we were creating lua function tables and functions every time anyway.
could actually be faster to just serialize simple primitives rather than
creating a function to get it? idk lua api changed too btw
2024-09-11 15:46:05 +02:00
65721f3e6a
feat(lua): allow loading with many more names
codemp, libcodemp, codemp_native, codemp_lua all work now
2024-09-10 12:29:11 +02:00
e05e273ee2
fix(lua): use patched crate by us, add features
basically upstream lua pushed a change making `send` and `module`
features incompatible, which is not ok for us as we need the LuaFunction
to be sync to send it on the channel. Also added features for all lua
versions, it's a bit messy on the Cargo.toml but now we support really
all lua versions and can probably publish on luarocks
2024-09-10 12:12:59 +02:00
f6ee2f0806
fix(java): borked glue methods 2024-09-09 16:06:05 +02:00
cschen
f2a2892674 fix(python): fix macros also for client.rs 2024-09-08 11:25:33 +02:00
cschen
f116f27b39 fix(python): remove the macro_export and use pub(crate) instead so that it doesn't leak into the documentations. 2024-09-08 11:03:10 +02:00
b968945a37
chore: codemp.dev -> code.mp 2024-09-07 22:10:47 +02:00
cschen
c1c9902b45 feat(python): switched to abi3 mode to allow multiple python versions with single wheel.
abi3 does not support `PyFunction` so added workaround checking for `is_callable()`
2024-09-06 00:24:37 +02:00
fb5bb51e65
fix: uuid was copy, string is not 2024-09-06 00:12:31 +02:00
b8376a5ef8
fix: moved import, exclude dist from packaging 2024-09-05 03:28:46 +02:00
1fac27ebd5
fix(lua): use last published beta rather than git 2024-09-05 03:18:06 +02:00
cd8b0c64f4
chore(java): new error system 2024-09-05 02:45:33 +02:00
921a8ee69a
fix: updated js and py glues with new errors 2024-09-05 02:33:35 +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
8296b473bb
feat(lua): introduce callbacks channel
this means that lua must poll but at least they run on main thread and
dont segfault the main process
2024-09-01 03:13:03 +02:00
e50703fc77
chore(lua): module at the bottom 2024-09-01 03:11:43 +02:00
89dbc89225
feat(lua): allow printing tracing on stderr
for detached sessions
2024-09-01 03:10:40 +02:00
840da7bf5a
fix(lua): new errors 2024-09-01 03:09:35 +02:00
cschen
487a490887 fix(python): changed entry point. separated logger from driver. 2024-08-31 15:23:38 +02:00
cfab8ee148
fix(js): default url 2024-08-27 23:09:36 +02:00
6b7324d37f
feat: added new methods to java, js and py glues 2024-08-27 23:04:56 +02:00
e1da62f0c8
feat(lua): type annotations 2024-08-27 21:24:05 +02:00
30f692e6e1
feat(lua): new session methods 2024-08-27 21:24:05 +02:00
4a701818f2 feat(js): new glue hash function 2024-08-27 16:09:44 +02:00
fc9247c5a8 chore(js): updated callback functions names 2024-08-27 16:08:25 +02:00
6ea5a72b0c feat(js): Changed callbacks method to return Controller instead of Change 2024-08-24 17:46:05 +02:00
cschen
076128e1db chore(python): added name to buffer controller, small cleanup 2024-08-23 20:41:07 +02:00
cschen
88f4ace04a Merge remote-tracking branch 'origin/dev' into dev 2024-08-22 16:55:28 +02:00
cschen
0c9ea08d64 wip(python): try_recv doesn't return a promise. 2024-08-22 16:52:29 +02:00
cschen
472c33f734 feat(python): added callback support, reaching feature parity with the lib. 2024-08-22 15:22:51 +02:00
21f1948f04
fix(java): new filetree, mistake in create_buffer 2024-08-21 23:41:22 +02:00
cschen
4004f2011f Merge branch 'pyo3_bump' into dev 2024-08-21 18:21:48 +02:00
cschen
76f8058186 chore(python): final cleanup before merge into dev 2024-08-21 18:15:19 +02:00
ed3673b92a feat: buffer get name fn 2024-08-21 17:38:33 +02:00
cschen
dc7ae20b7d fix(python): release GIL when spawning stuff, we don't need to keep it and we risk
deadlocking
feat(python): added allow_thread in the macro
2024-08-21 17:20:12 +02:00
f29ea23c4e feat: new fn for controllers 2024-08-21 17:14:19 +02:00
cschen
fe2f2a3ae0 chore(python): cleaned up the leftovers 2024-08-21 15:45:24 +02:00
cschen
c0e090fe7a Merge branch 'dev' into pyo3_bump 2024-08-21 15:05:17 +02:00
cschen
e7272753e6 Merge branch 'dev' into pyo3_bump 2024-08-21 15:03:10 +02:00
cschen
a4eb58cd4b wip(python): moving the rest of the glue to promises (empty promises) 2024-08-21 15:02:44 +02:00
a99eee170d
feat: allow filtering workspace filetree 2024-08-21 14:57:07 +02:00
cschen
4a575c587f feat(python): fixed macro and expanded to workplace methods 2024-08-20 22:18:29 +02:00
cschen
feff54bcdf feat(python): switched to a "Promise" approach
chore(python): removed, commented out some of the earlier attempts
feat(python): reworked the logger and tokio runtime approach, now the logging
callback drives the runtime.
2024-08-20 21:09:10 +02:00
cschen
72896d87d6 feat(python): tentative of Promise based approach 2024-08-20 17:16:36 +02:00