fix(plugins): install plugin packages from a .zip (#896)

Root cause: Install Plugin from Disk only opened a folder picker and the host could only copy folders, so a zipped plugin could not be installed. The picker now accepts a .zip or a package's plugin.toml, and the host's install_from_path unpacks a zip to a temporary folder and runs it through the existing install_from_dir validation. The package may sit at the archive root or in its only folder (archiver metadata such as __MACOSX is ignored). Archives with unsafe paths or symbolic links, more than 10,000 entries or over 1 GB unpacked are refused, and a zip without plugin.toml (e.g. an IntelliJ plugin) gets a clear error.

Fixes #892

Co-authored-by: florentvdry <[email protected]>
Цей коміт міститься в:
Florent Vтаflorentvdry authored and GitHub committed 2026-11-03 01:44:28 +08:00
1 джерело eb633f6ca6
коміт db5251efe6
12 files changed
+208 -21

No files matched your search

+2 -1
Переглянути файл
@@ -523,7 +523,8 @@
"Could not install plugin": "无法安装插件",
"Could not invalidate caches": "无法清除缓存",
"Could not open project": "无法打开项目",
"Could not open the folder picker": "无法打开文件夹选择器",
"Could not open the file picker": "无法打开文件选择器",
"Plugin package": "插件包",
"Could not reach GitHub": "无法连接到 GitHub",
"Could not save": "无法保存",
"Coverage": "覆盖率",