Skip to content

unpublish should require more confirmation than just a "y" #782

@alisonatwork

Description

@alisonatwork

Last night I accidentally made a critical mistake that destroyed 7-8 years of version history, installation count and reviews for an extension that I maintain. I was almost in tears for having destroyed so much work with a single keypress and still feel terrible today. It was my mistake and I take full responsibility, but I feel like the vsce tool didn't try hard enough to stop me from making the mistake. My workflow was this:

  1. I typed vsce publish to publish a new version
  2. Hit "y" twice to go past the prompts that appear every single time we need to release a version
  3. Immediately after publishing I realized I was in the wrong directory (different branch) and had published the wrong code
  4. Instinctively typed vsce unpublish to revert my change and reflexively hit ''y" because I have been trained to hit "y" a bunch of times for vsce to do anything

This blew away all the history of auiworks.amvim from the Marketplace. I immediately realized my mistake and tried to Ctrl-C out of it, but it was too late. For such an incredibly destructive operation, it feels like there should be more confirmation than just the short prompt and standard yes/no choice found for much more trivial confirmations in the rest of the app.

I propose that vsce follows the example of Github, where even just to delete a local fork of a repository you need to type the entire repository name out. I am quite certain that if vsce unpublish had prompted me to type the qualified name of the extension before going ahead with the removal, I would have realized my mistake and canceled out of it.

Related to microsoft/vsmarketplace#235

Metadata

Metadata

Assignees

Labels

feature-requestRequest for new features or functionality

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions