Operating System
MacOS Sonoma
VSCode Version
Version: 1.88.0-insider (Universal)
Extension Version
v1.0.8
Issue
After uninstalling an extension, in this case ShipitSmarter.sops-edit
, when we trigger manual push to a remote repo, this payload gets pushed:
{
"identifier": "ShipitSmarter.sops-edit",
"version": "1.0.0",
"enabled": false
}
and upon restart, said extension is reinstalled, and a manual push to remote repo will send this:
{
"identifier": "ShipitSmarter.sops-edit",
"version": "1.0.0",
"enabled": true
}
However, this is not correct. The extension should not be disabled to begin with, it should be uninstalled and the whole stanza should be completely deleted from extensions.json
. Instead, it is only marked as "enabled": false
.
This causes a major problem: if an extension is uninstalled in vscode but in a git commit pushed by Settings Repository it is marked only as disabled, it will be actually reinstalled by Settings Repository next time vscode is launched. This will make it installed and active: "enabled": true
. This process will always bring back uninstalled extensions, resulting in endless circle of manual extension removal and automatic reinstallation after vscode restart.
N.B.: I am running vscode-insiders, could be a factor here.
How to replicate
Install extension
Push to Settings Repository remote repo
Close vscode
Start vscode
See uninstalled extension be automatically installed again (because it is only marked as "enabled": false)
Extension is installed again
Uninstall, repeat the whole process and see it installed again.
Log
No response
Additional information
Version: 1.88.0-insider (Universal)
Commit: 8c2b09c0443b94d75a73819ed35610f7e09375ae
Date: 2024-02-28T18:55:25.510Z (4 hrs ago)
Electron: 28.2.2
ElectronBuildId: 26836304
Chromium: 120.0.6099.276
Node.js: 18.18.2
V8: 12.0.267.19-electron.0
OS: Darwin x64 23.3.0