{"comment":{"created_at":"2011-10-20T22:11:02Z","body":"What happens if you and I are both owners of 'Foo' package and you start uploading 1.0 then leave the in-progress thing. Am I blocked from publishing Foo 1.0 separately? or can I also upload it and the first one to verify wins? My vote is first one to verify wins. It really should be like a transient temporary state.\r\n\r\nSo if I verify mine first, then you verify yours, you'll get a message saying Foo 1.0 already exists.","updated_at":"2011-10-20T22:11:02Z","url":"https://api.github.com/repos/NuGet/NuGetGallery/issues/comments/2475116","id":2475116,"user":{"avatar_url":"https://secure.gravatar.com/avatar/b6c90ac513527fee84c67032f82ebc21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b6c90ac513527fee84c67032f82ebc21","url":"https://api.github.com/users/Haacked","id":19977,"login":"Haacked"}},"action":"created","issue":{"number":131,"created_at":"2011-10-16T05:35:33Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Repro steps:\r\n\r\n1. Upload a new package\r\n1. Instead of clicking Verify in step 2, navigate to the My Contributions listing\r\n\r\nExpected: The package that I haven't yet verified isn't displayed\r\nActual: It is displayed, and it's in a wonky, broken state (i.e., will throw errors if you try to do anything with it)\r\n\r\nThoughts:\r\nSince we've switched from the idea of \"publishing\" a package to whether a package is \"listed\", it seems wrong for a package to ever be put into the system if I haven't verified it. Here's what I'm thinking we should do:\r\n\r\n1. When a package is uploaded, it gets copied to a folder/blob for \"uploads\". A given user can only have one package upload in progress\r\n1. After uploading, the user is redirected to the verify action\r\n1. The verify action reads the uploaded package file; the verification user experience doesn't change\r\n   * If the user cancels, the uploaded package is deleted\r\n   * If the user verifies, the package is created, just as it is now\r\n   * If the user leaves the page without cancelling or verifying, the uploaded package is waiting there for them to come back. We could display a global message letting them know they have a package upload in progress, and at the least, if they try to upload a new package, they first have to either cancel or verify the current one\r\n\r\nThis keeps the user experience pretty much the way it is now, but without the odd behavior of what happens if you don't verify. It keeps things simple (I can't have packages in limbo; I have to either cancel or verify an upload before I can start a new one).  If my browser does crash or whatever, it's sitting there waiting for me when I come back.\r\n\r\n","comments":1,"title":"Not verifying a package upload leaves the package in a broken state","updated_at":"2011-10-20T22:11:02Z","url":"https://api.github.com/repos/NuGet/NuGetGallery/issues/131","id":1920565,"assignee":null,"milestone":{"number":1,"created_at":"2011-08-19T21:35:37Z","due_on":"2011-10-17T07:00:00Z","title":"NuGet 1.6 \"Hershey\"","creator":{"avatar_url":"https://secure.gravatar.com/avatar/b6c90ac513527fee84c67032f82ebc21?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"b6c90ac513527fee84c67032f82ebc21","url":"https://api.github.com/users/Haacked","id":19977,"login":"Haacked"},"url":"https://api.github.com/repos/NuGet/NuGetGallery/milestones/1","open_issues":13,"closed_issues":22,"description":"Minimal set of must fix issues for the first release.","state":"open"},"closed_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/bbb34860bfa13b64ddcb81a9586fb669?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"bbb34860bfa13b64ddcb81a9586fb669","url":"https://api.github.com/users/anglicangeek","id":21165,"login":"anglicangeek"},"html_url":"https://github.com/NuGet/NuGetGallery/issues/131","labels":[{"name":"bug","url":"https://api.github.com/repos/NuGet/NuGetGallery/labels/bug","color":"e10c02"}],"state":"open"},"legacy":{"issue_id":1920565,"comment_id":2475116}}