Mallory
2e17a11426
unnecessary
2024-07-12 16:04:18 -04:00
modeco80
e28bb3a9d7
remove connect/view gating (for now)
2024-07-11 20:49:49 -04:00
modeco80
ddf4d97511
qemu: more refactoring
...
qmp client is now much more robust (and doesn't fight over itself as much). this should
hopefully completely eliminate the case where display connects but qmp is half connected.
i also forgot QemuDisplay actually emits an event on connection, so we can just use that to
wait for when the display connects. which allows us to set the started state there instead of praying
when the qmp client connects that we are connected to the display roughly at the same time.
i also gated some stuff to require vm state in the server. this is a bit rickity, but does seem to work.
2024-07-11 20:33:50 -04:00
modeco80
7423c62957
re-add magic timeouts
...
also remove a problematic line that broke more than it helped
2024-07-11 03:39:00 -04:00
modeco80
25b32b23b7
qemu: More fun refactoring
...
The QMP client has been refactored slightly, mostly just to clean up its
edges slightly.
QemuVM however has seen a big refactor, especially connecting to QMP.
Flattening out this logic is something I should have done a long time ago.
This seemingly has finally hammered out the bugs, although time will tell.
2024-07-11 03:24:22 -04:00
modeco80
0b59c6d8be
QMP client now buffers lines properly
2024-07-11 02:29:26 -04:00
modeco80
227a171110
qemu: Completely rewrite QMP client from scratch
...
It sucked. The new one is using Sans I/O principles, so it does not
directly do I/O or talk to a net.Socket directly (instead, QemuVM implements
the layer to do I/O). This means in the future this library could actually
be tested, but for now, I'm not bothering with that.
There's also some other cleanups that were bothering me.
2024-07-10 22:20:12 -04:00
modeco80
048f08b00b
actually make vm swich displays properly or whatever
2024-07-10 18:43:35 -04:00
modeco80
bee25b5381
Fix the ability for IPData refcount to go negative
2024-07-10 18:32:05 -04:00
Elijah R
a2f450b374
move binprotocol to submodule (server)
2024-06-25 21:24:08 -04:00
Elijah R
3384e47e20
use msgpackr instead of @ygoe/msgpack
2024-06-25 20:09:34 -04:00
Elijah R
fe830afdeb
add support for binary JPEG (server)
2024-06-25 19:56:28 -04:00
modeco80
8369de53ba
qemu: log QEMU stderr as logger messages
...
Mostly for nicity, but also to make debugging start errors an actual possibility.
2024-06-23 02:56:17 -04:00
modeco80
2cc2c6ddf2
cvmts: "fix" panics in cvm-rs
2024-06-23 02:55:05 -04:00
modeco80
0df56cb5a4
qemu: cleanup/fix reset
2024-06-23 02:40:13 -04:00
Elijah R
1a5a0cd407
add geoip country flag support
2024-06-23 02:24:03 -04:00
Elijah R
85a86327f4
add missing XFF warning, remove ipdata check from WSServer because CollabVMServer already does that
2024-06-23 02:24:03 -04:00
modeco80
286f3eec62
cvm-rs: Actually throw Error on guac decode errors
...
we were throwing String or something before..
2024-06-23 02:11:23 -04:00
Elijah R
020c6310ec
some fixes and improvements to build
...
- change .yarn/ gitignore to include subprojects
- add nodejs-rfb to build (and bump it)
- add clean script
2024-06-22 22:57:01 -04:00
Elijah R
014650991c
bump rfb
2024-06-22 21:52:20 -04:00
Elijah R
d100721a64
update yarn.lock
2024-06-22 21:50:29 -04:00
modeco80
183b17194e
chore(README): cargo is usually a default part of a complete Rust toolchain so just specify "A Rust toolchain"
2024-06-22 21:46:37 -04:00
Elijah R
5a67deb59b
add --needed and -y flag to pacman command
2024-06-22 21:44:22 -04:00
Elijah R
1079a847a8
remove npm from arch deps (thought corepack was provided by npm, it's actually provided by nodejs itself)
2024-06-22 21:43:46 -04:00
Elijah R
47dae01d3e
add dependencies to README, remove not-so-frequently-asked questions
2024-06-22 21:39:01 -04:00
modeco80
dda72cad91
cvmts: quth => auth
2024-06-22 21:27:28 -04:00
modeco80
09d41617ed
prettier reformat for merge (and remove jpeg-turbo Again)
2024-06-22 21:26:49 -04:00
Elijah R
b0829d5bcf
add just-install dev dependency
2024-06-22 21:24:41 -04:00
modeco80
b8ed177885
cvm-rs: merge guac and jpeg libs together into one
...
doesn't really need to be two seperate libraries. also preperation for other funnies
the build script has been replaced with a much saner justfile which uses much saner "yarn workspace" invocations instead of blindly cding all over the place
2024-06-22 21:14:05 -04:00
modeco80
87a377a10f
cvmts: replace jpeg-turbo native module with new rust module
...
This module also does threadpooling internally, so we don't need Piscina anymore (which I'm pretty sure was actually bottlenecking.)
2024-06-20 03:20:56 -04:00
modeco80
39521a4b1d
misc stuff from production
...
(also refactors qemu a bit)
2024-06-19 23:30:29 -04:00
modeco80
97de887518
cvmts: Actually unref ipdata on disconnect
2024-06-19 18:26:27 -04:00
modeco80
fa23aa7432
cvmts: nope I have to fix it properly
2024-06-19 18:20:41 -04:00
modeco80
e798ff5c86
bandaid fix time
2024-06-19 18:16:16 -04:00
modeco80
0d34bb1c8e
cvmts/qemu: support snapshots properly
2024-06-19 18:03:10 -04:00
modeco80
b485e7f689
cvmts: reimplement connection limit using ipdata
2024-06-19 17:56:55 -04:00
modeco80
ba8743f461
guac-rs: remove commented dead code
...
gits a SCM.
2024-06-19 02:34:38 -04:00
modeco80
b342d4874f
remove license cargo key
2024-06-19 02:14:57 -04:00
modeco80
eefde464b4
why is yarn so picky
2024-06-19 01:49:12 -04:00
modeco80
d9ee611bc5
guac-rs: reformat im stupid
2024-06-19 01:37:17 -04:00
modeco80
4e50106585
cvmts: replace guacamole decoder with a node native module written in rust
2024-06-19 01:36:07 -04:00
Elijah R
a4247bbcc3
Merge branch 'master' into crusttest-refactoring
...
yes i know this is an ugly empty merge commit, I could NOT get it to rebase without creating massive vomit
2024-06-11 14:23:57 -04:00
Elijah R
794b801628
add VNCVM
2024-06-11 13:46:24 -04:00
Elijah R
1c0ee235dd
add global build script
2024-06-11 12:44:39 -04:00
Elijah R
565bf7d9b5
improve on connection logging
2024-05-27 00:10:56 -04:00
Elijah R
8add016b60
implement TCP server, reimplement maxConnections except it now kicks the oldest connection
2024-05-27 00:06:05 -04:00
Elijah R
7053973205
abstract websocket to allow additional transport layers
2024-05-26 23:19:55 -04:00
modeco80
173ee8149f
auth: Make more resilant to backend failures
2024-05-26 16:33:35 -04:00
modeco80
e184bfb085
qemu: fix qmp disconnection semi properly
...
this is actually something i need to push to crusttest as well, because
this will affect it as well, though not as badly because it will only break certain buttons
2024-05-22 17:56:04 -04:00
modeco80
2e05504e4a
hastily hand merge yellowcode vote patch thing
...
Co-Authored-By: yellows111 <ice_ice@email.com >
2024-05-01 08:08:43 -04:00