4 ms·
I want that feature too, but in reality, many non-trivial extensions require the execution of binaries such as language servers. Applying capability models to t
by oofsa 3y ago
I want that feature too, but in reality, many non-trivial extensions require the execution of binaries such as language servers. Applying capability models to these executables will require OS support or containerization, but the overhead for memory and disk will be huge. In fact, even an extension to auto-complete paths in .gitignore files requires running a language server written in Rust [1], and it has the real benefit of supporting multiple editors with ease. If the "prettiest java" or "python-vscode" extensions in the article insisted on needing full permissions for Java or Python execution, I believe users would be convinced and end up installing them.
[1] https://github.com/quentinguidee/gitignore-ultimate-vscode https://github.com/quentinguidee/gitignore-ultimate-vscode
- rascul 3y agoA language server for gitignore is not what I was expecting to come across this morning. https://github.com/quentinguidee/gitignore-ultimate-server https://github.com/quentinguidee/gitignore-ultimate-server
- fwlr 3y agoThis… is a very strong objection and I think you’re right that users would be convinced. I didn’t think capabilities would be a panacea but I did think they would be pretty close, I have to revise that down somewhat.
- codedokode 3y ago> Applying capability models to these executables will require OS support or containerization, but the overhead for memory and disk will be huge. This is because most OSes use outdated security model where the app gets all privileges by default and poor users have to build containers to revoke them, that's why there is an overhead. If the extension only has access to project files then all applications launched by it should inherit its restrictions.
- PoignardAzur 3y agoCouldn't you just run the language server in webassembly?