Skip to content

Support migrating storage for extensions adopting pre-release #140088

Description

Support migrating storage for extensions adopting pre-release

Migration includes following:

  • Uninstall the nightly/insiders extension
  • Install (with optional storage migration) the Pre-release extension only if
    • it is not installed
    • or it is a release version and the nightly/insiders extension is enabled.

Activity

  1. sandy081 commented on Jan 11, 2022

    @sandy081
    MemberAuthor

    Joyce Er (@joyceerhl) added following embedder API to support extension storage migration

    type MarketplaceExtension = ExtensionId | { readonly id: ExtensionId, preRelease?: boolean, migrateStorageFrom?: ExtensionId };

    This will be available from tomorrow's insiders

  2. added a commit that references this issue on Jan 11, 2022
  3. joyceerhl commented on Jan 11, 2022

    @joyceerhl
    Contributor

    Tested migrateStorageFrom API in Code-OSS + vscode.dev + RemoteHub, migration works like a charm and uncommitted changes in RemoteHub workspaces are preserved. Here's what I did to verify that the API works as expected:

    1. Reset VS Code web storage (since storage migration is only done once and skipped thereafter)
    2. Start Code-OSS web out of sources
    3. Start vscode.dev out of sources bundling GitHub.remotehub-insiders
    4. Make a change to a file in the microsoft/vscode repo using GitHub.remotehub-insiders
    5. Apply change to vscode.dev to bundle prerelease GitHub.remotehub and migrateStorageFrom GitHub.remotehub-insiders
    6. Reload vscode.dev
    7. Verify that the change made in step 4 is still there
    8. Verify that pre-release of GitHub.remotehub is installed, not GitHub.remotehub-insiders

    Will repeat this tomorrow with the VS Code Insiders build, but so far looking good. Thanks for the quick turnaround on this!

  4. added 2 commits that reference this issue on Jan 11, 2022
  5. joyceerhl commented on Jan 12, 2022

    @joyceerhl
    Contributor

    API is looking good in Insiders with the following steps:

    1. Start vscode.dev out of sources bundling GitHub.remotehub-insiders
    2. Access vscode.dev/github/microsoft/vscode?vscode-quality=insiders
    3. Make a change to a file (and repeat steps 2 and 3 with a couple more repos for completeness)
    4. Apply change to vscode.dev to bundle prerelease GitHub.remotehub and migrateStorageFrom GitHub.remotehub-insiders
    5. Reload vscode.dev
    6. Verify that the change made in step 3 is still there and that all other changes are accessible from Remote Explorer
    7. Verify that pre-release of GitHub.remotehub is installed, not GitHub.remotehub-insiders
  6. added a commit that references this issue on Jan 12, 2022
  7. added a commit that references this issue on Jan 12, 2022
  8. sandy081 commented on Jan 24, 2022

    @sandy081
    MemberAuthor

    Joyce Er (@joyceerhl) Can you please verify this or mark this verified as you adopted this?

  9. joyceerhl commented on Jan 24, 2022

    @joyceerhl
    Contributor

    Marked as verified since I have adopted this in vscode.dev as of two weeks ago.

  10. locked and limited conversation to collaborators on Feb 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

extensionsIssues concerning extensionsfeature-requestRequest for new features or functionalityverification-neededVerification of issue is requestedverifiedVerification succeeded

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions