microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.43k stars 28.95k forks source link

Users of zombie Vue extension cannot get migrated to the new version #225398

Closed johnsoncodehk closed 1 month ago

johnsoncodehk commented 2 months ago

Type: Bug

This issue was supposed to be fixed in https://github.com/microsoft/vscode/issues/211702, but we have recently received complaints from some users regarding this.

I counted the first 50 issues with Vue extension installed in https://github.com/microsoft/vscode/issues, and 25 users are using 1.8.27 ~ 2.0.10 (2.0.10 was released 4 months ago ), only 19 users are using the latest version (2.0.22 ~ 2.0.28).

Numbers:

Since some versions in 2.0.0~2.0.10 may have serious problems, this is probably the reason why the Vue extension has continued to receive negative reviews on the Marketplace and VSCode has continued to receive bug reports about the Vue extension for several months.

I found a Windows computer with Vue.volar 2.0.7 installed and was able to reproduce the issue of not being able to update the version. The following is the content of .vscode/extensions/extensions.json. (Formatted for easier reading)

[
    {
        "identifier": {
            "id": "vue.volar",
            "uuid": "a5223b43-8621-4351-a14e-3d560f85f277"
        },
        "version": "2.0.7",
        "location": {
            "$mid": 1,
            "fsPath": "c:\\Users\\87156\\.vscode\\extensions\\vue.volar-2.0.7",
            "_sep": 1,
            "external": "file:///c%3A/Users/87156/.vscode/extensions/vue.volar-2.0.7",
            "path": "/c:/Users/87156/.vscode/extensions/vue.volar-2.0.7",
            "scheme": "file"
        },
        "relativeLocation": "vue.volar-2.0.7",
        "metadata": {
            "id": "a5223b43-8621-4351-a14e-3d560f85f277",
            "publisherId": "49983e2f-38ad-4441-beea-d678b53d0549",
            "publisherDisplayName": "Vue",
            "targetPlatform": "undefined",
            "isApplicationScoped": false,
            "updated": true,
            "isPreReleaseVersion": false,
            "installedTimestamp": 1711131971789,
            "preRelease": false
        }
    }
]

And I can reproduce the problem of not being able to update by overwriting the above metadata to the .vscode/extensions/extensions.json file of another macbook.

Steps to Reproduce

  1. If Vue.volar is installed, uninstall it and then close VSCode and reopen it.
  2. Download Vue.volar 2.0.7 from https://open-vsx.org/extension/Vue/volar/2.0.7 and install it to VSCode, VSCode can normally prompt that Vue extension needs to be updated.
  3. Open ~/.vscode/extensions/extensions.json and modify the metadata of the last Vue.volar extension to:
    {
    "identifier": {
        "id": "vue.volar",
        "uuid": "a5223b43-8621-4351-a14e-3d560f85f277"
    },
    "version": "2.0.7",
    "location": {
        "$mid": 1,
        "fsPath": "c:\\Users\\87156\\.vscode\\extensions\\vue.volar-2.0.7",
        "_sep": 1,
        "external": "file:///c%3A/Users/87156/.vscode/extensions/vue.volar-2.0.7",
        "path": "/c:/Users/87156/.vscode/extensions/vue.volar-2.0.7",
        "scheme": "file"
    },
    "relativeLocation": "vue.volar-2.0.7",
    "metadata": {
        "id": "a5223b43-8621-4351-a14e-3d560f85f277",
        "publisherId": "49983e2f-38ad-4441-beea-d678b53d0549",
        "publisherDisplayName": "Vue",
        "targetPlatform": "undefined",
        "isApplicationScoped": false,
        "updated": true,
        "isPreReleaseVersion": false,
        "installedTimestamp": 1711131971789,
        "preRelease": false
    }
    }
  4. Reload VSCode will find that the Vue extension cannot detect newer versions.

VS Code version: Code 1.92.1 (eaa41d57266683296de7d118f574d0c2652e1fc4, 2024-08-07T20:16:39.455Z) OS version: Darwin arm64 23.1.0 Modes:

johnsoncodehk commented 2 months ago

cc @isidorn

isidorn commented 2 months ago

I just checked our telemetry for the most popular combinations of VS Code version and Vue extension version and here's what I see. This proves that vue version 2.0.8 and 2.0.10 are indeed not getting properly updated. The root cause of this is the fact the vue extension, unpublished from the Marketplace and published again the same name (thus exposing a bug in the Marketplace) as explained here https://github.com/vuejs/language-tools/issues/4227 We still want to help transition your users, and I will go ahead and move this issue to the VS Code repo and Sandeep will investigate next week once he is back from vacation. Thank you 🙏

Image

sandy081 commented 1 month ago

Update is not detected automatically. It is detected only when user is searching for the extension.

sandy081 commented 1 month ago

Sorry about this inconvenience caused. Fixed it - We will now detect the update automatically.

vs-code-engineering[bot] commented 1 month ago

This bug has been fixed in the latest release of VS Code Insiders!

@johnsoncodehk, you can help us out by commenting /verified if things are now working as expected.

If things still don't seem right, please ensure you're on version e81aceaa07bab1ccdc94deae04168c8bd062f0de of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.

Happy Coding!

johnsoncodehk commented 1 month ago

I just tested it and confirmed it's fixed in the latest insiders version, thanks a lot!

sandy081 commented 1 month ago

Adding verified label based on above comment