-
Notifications
You must be signed in to change notification settings - Fork 334
Launching ydoc-server together with language-server #13178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
lib/java/ydoc-server/src/main/java/org/enso/ydoc/server/YdocServerImpl.java
Outdated
Show resolved
Hide resolved
… at the same port.
Update on Oct 6, 2025
|
LGTM. After adjusting exposed port in Dockerfile all should be fixed. Lemme know when its merged and done in nightly so I can test in the cloud |
9b70bb2
to
76a0265
Compare
jsonAddress: ipWithSocketToAddress(cachedProject.languageServerJsonAddress), | ||
binaryAddress: ipWithSocketToAddress(cachedProject.languageServerBinaryAddress), | ||
ydocAddress: null, | ||
ydocAddress: backend.Address('ws://localhost:5976'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- before this change I had to specify the Ydoc port for unpacked AppImage manually:
enso/dist/ide/linux-unpacked/enso --engine.ydocUrl=http://localhost:5976
- the AppImage connects to internal Ydoc server automatically
- here is a proof internal Ydoc server (with WebSocket emulated via Helidon library) is used
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The JS part LGTM
Otherwise the release workflow will fail because the nodejs ydoc package was removed.
@JaroslavTulach I pushed the commit that fixes nightly build and scheduled nigthly release to verify. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The nightly looks fine
…to wip/jtulach/YdocInBackend9862
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't like that we have this hardcoded port copied over and over in multiple places. But it has been there before.
But I do mind the extra logs/print err we seem to add when starting YDoc Server. Approving, but please consider the changes.
@ExportMessage | ||
boolean isMemberInvocable(String member) { | ||
return "addPath".equals(member); | ||
return "addPath".equals(member) || "findLibraries".equals(member) || "close".equals(member); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it be just easier to read with a list and check with contains
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- consistency among various
InteropLibrary
messages is subject to may innovation - alas usually it is subject to clueless evolution (like in this case)
- it starts simple
return "addPath".equals(member);
and then it gets more and more convoluted - you'd like a change to
enso/engine/runtime/src/main/java/org/enso/interpreter/runtime/data/EnsoFile.java
Line 215 in a20924d
private static final String[] MEMBERS = - yeah, that may be better
- anyway consistency among various implementations spread around the code base would remain a problem
lib/java/ydoc-server-registration/src/main/java/module-info.java
Outdated
Show resolved
Hide resolved
...ydoc-server-registration/src/main/java/org/enso/ydoc/server/registration/YdocServerImpl.java
Show resolved
Hide resolved
lib/java/ydoc-server/src/main/java/org/enso/ydoc/server/Main.java
Outdated
Show resolved
Hide resolved
lib/java/ydoc-server/src/main/java/org/enso/ydoc/server/Main.java
Outdated
Show resolved
Hide resolved
Co-authored-by: Hubert P <[email protected]>
Co-authored-by: Hubert P <[email protected]>
Co-authored-by: Hubert P <[email protected]>
|
…ng no longer used code
Pull Request Description
ydoc-server
running in theenso
processydoc-server
again in theenso
executableenso
image sizeydoc-server
in the same process we are one step closer to remove Akka networking layerChecklist & TODO
Inception review has happened on May 28, 2025 and based on that following action items (related to this PR) were identified:
Scala,
Java,
enso
executable size - doneydoc-server
project into "dual native library"ydoc-server-nodejs
source code - doneydoc-server-nodejs
docker image - done - there still isydoc-server-polyglot
docker image, in case we need 1:1 replacement for the docker image--ydoc-port <number>
option tolanguage-server
- kinda done by Launching ydoc-server together with language-server #13178 (comment)Expand project/open to provide alsoydoc-port
valuecorepack pnpm dev:gui
to use this GraalVM based Ydoc server: done.AppImage
& co. are OK using the embeddedydoc-server
- works since 76a0265ydoc-server