You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
e.g. VS Code extensions defined in the repo's main package.json are downloaded at build time using @theia/cli -provided download-plugins.ts. That script uses npm unzip-stream to unzip the .vsix. That library does not support restoring filesystem premissions.
In consequence, vscode extensions that rely on e.g. execute permission on some of the contained files will not work correctly. It's the case for the yangster extension, that has a language server startup script that does not work without this permission ( server/bin/yang-language-server).
Steps to Reproduce:
Add the yangster extension to root package.json, under theiaPluginsDir: "yangster": "https://open-vsx.org/api/typefox/yang-vscode/2.0.3/file/typefox.yang-vscode-2.0.3.vsix"
Build example application: e.g yarn or if already build do yarn download:plugins
Look under the extensions' folder like so: ls -al plugins/yangster/extension/server/bin/ and confirm that file yang-language-server does not have execute permission.
Start the example application and open a .yangster file. Confirm that the LS does not start - there should be a toaster about this and an entry in the Output view:
reset the theia repo to a clean master state and rebuild the example application. This time install yangster from the extensions view. It will be unzipped by the Plugins system which works correctly.
confirm that the LS has exec permission. e.g.: ls -al ~/.theia/extensions/typefox.yang-vscode-2.0.3/extension/server/bin/ and confirm the LS has execute permission
7 If you'd like, start the example app and open a .yang file to confirm that the LS now works
Bug Description:
e.g. VS Code extensions defined in the repo's main
package.json
are downloaded at build time using@theia/cli
-provideddownload-plugins.ts
. That script uses npmunzip-stream
to unzip the.vsix
. That library does not support restoring filesystem premissions.In consequence, vscode extensions that rely on e.g. execute permission on some of the contained files will not work correctly. It's the case for the yangster extension, that has a language server startup script that does not work without this permission (
server/bin/yang-language-server
).Steps to Reproduce:
package.json
, undertheiaPluginsDir
:"yangster": "https://open-vsx.org/api/typefox/yang-vscode/2.0.3/file/typefox.yang-vscode-2.0.3.vsix"
yarn
or if already build doyarn download:plugins
ls -al plugins/yangster/extension/server/bin/
and confirm that fileyang-language-server
does not have execute permission..yangster
file. Confirm that the LS does not start - there should be a toaster about this and an entry in theOutput
view:yangster
from theextensions
view. It will be unzipped by the Plugins system which works correctly.ls -al ~/.theia/extensions/typefox.yang-vscode-2.0.3/extension/server/bin/
and confirm the LS has execute permission7 If you'd like, start the example app and open a
.yang
file to confirm that the LS now worksAdditional Information
Someone suggests using extract-zip instead to fix the issue.
The text was updated successfully, but these errors were encountered: