glsp icon indicating copy to clipboard operation
glsp copied to clipboard

GLSPDiagramWidget is initialized with an Absolute Path instead of a URI

Open CamilleLetavernier opened this issue 3 years ago • 1 comments

When initializing a GLSPDiagramWidget, we send a RequestModelAction which expects a sourceUri option. For this option, GLSPDiagramWidget actually specifies a path (which isn't a URI):

this.requestModelOptions = {
    sourceUri: this.uri.path.fsPath(),
    ...definedOptions
};

While this doesn't break anything, this may cause confusion, as URI and Paths are not necessarily equivalent (They're only equivalent when using relative URI/Paths without any special characters). Since URIs are more flexible than Paths, I think it would make sense to actually keep the full URI in this option, rather than a path (Both will be properly handled by the Model Server anyway, so it "should" be a minor change with minimal actual impact).

CamilleLetavernier avatar Jun 02 '22 08:06 CamilleLetavernier

While this doesn't break anything, this may cause confusion, as URI and Paths are not necessarily equivalent (They're only equivalent when using relative URI/Paths without any special characters).

Actually, this seems to break the glsp-modelserver communication in some cases (node-glsp-server, Windows). The node-glsp-server sends the sourceUri (which is acutally an absolute Path) to the model server and the model server expects it to be an URI and does not parse it correctly.

I guess we should priorize this bug higher and fix it asap

tortmayr avatar Jul 13 '22 14:07 tortmayr