trunk.cocoapods.org icon indicating copy to clipboard operation
trunk.cocoapods.org copied to clipboard

Successful trunk version deletion redirects to pod page

Open orta opened this issue 9 years ago • 23 comments
trafficstars

Successful pod version deletions redirect to pod page

screen shot 2016-01-27 at 15 44 42

2016-01-27T15:43:30.715035+00:00 app[web.2]: 95.146.99.151 - - [27/Jan/2016 15:43:30] "DELETE /api/v1/pods/OrtaDeletePodTest/0.1.1 HTTP/1.1" 303 - 6.4462
[...]
2016-01-27T15:43:31.245835+00:00 app[web.1]: 95.146.99.151 - - [27/Jan/2016 15:43:31] "GET /OrtaDeletePodTest/versions/0.1.1 HTTP/1.1" 404 6199 0.0495

From my terminal:

opening connection to trunk.cocoapods.org:443...
opened
starting SSL for trunk.cocoapods.org:443...
SSL established
<- "DELETE /api/v1/pods/OrtaDeletePodTest/0.1.1 HTTP/1.1\r\nContent-Type: application/json; charset=utf-8\r\nAccept: application/json; charset=utf-8\r\nUser-Agent: CocoaPods/1.0.0.beta.2\r\nAuthorization: Token XXXX \r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nHost: trunk.cocoapods.org\r\n\r\n"
-> "HTTP/1.1 303 See Other\r\n"
-> "Date: Wed, 27 Jan 2016 15:43:30 GMT\r\n"
-> "Connection: keep-alive\r\n"
-> "Strict-Transport-Security: max-age=31536000\r\n"
-> "Content-Type: application/json\r\n"
-> "Location: https://trunk.cocoapods.org/OrtaDeletePodTest/versions/0.1.1\r\n"
-> "Content-Length: 0\r\n"
-> "X-Content-Type-Options: nosniff\r\n"
-> "Server: thin 1.6.2 codename Doc Brown\r\n"
-> "Via: 1.1 vegur\r\n"
-> "\r\n"
reading 0 bytes...
-> ""
read 0 bytes
Conn keep-alive
opening connection to trunk.cocoapods.org:443...
opened
starting SSL for trunk.cocoapods.org:443...
SSL established
<- "GET /OrtaDeletePodTest/versions/0.1.1 HTTP/1.1\r\nContent-Type: application/json; charset=utf-8\r\nAccept: application/json; charset=utf-8\r\nUser-Agent: CocoaPods/1.0.0.beta.2\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nHost: trunk.cocoapods.org\r\n\r\n"
-> "HTTP/1.1 404 Not Found\r\n"
-> "Date: Wed, 27 Jan 2016 15:43:30 GMT\r\n"
-> "Connection: keep-alive\r\n"
-> "Strict-Transport-Security: max-age=31536000\r\n"
-> "Content-Type: text/html;charset=utf-8\r\n"
-> "X-Cascade: pass\r\n"
-> "Content-Length: 6199\r\n"
-> "X-Xss-Protection: 1; mode=block\r\n"
-> "X-Content-Type-Options: nosniff\r\n"
-> "X-Frame-Options: SAMEORIGIN\r\n"
-> "Server: thin 1.6.2 codename Doc Brown\r\n"
-> "Via: 1.1 vegur\r\n"
-> "\r\n"
reading 6199 bytes...
-> "<!DOCTYPE html><html><head><title>CocoaPods Trunk</title><link href=\"/assets/app.css\" media=\"screen, projection\" rel=\"stylesheet\" type=\"text/css\" /><link href=\"/claims/claims.css\" media=\"screen, projection\" rel=\"stylesheet\" type=\"text/css\" /><link rel=\"shortcut icon\" href=\"https://cocoapods.org/favicons/favicon.ico\" type=\"image/x-icon\" /><link rel=\"apple-touch-icon\" href=\"https://cocoapods.org/favicons/apple-touch-icon.png\" /><link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\"https://cocoapods.org/favicons/apple-touch-icon-57x57.png\" /><link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\"https://cocoapods.org/favicons/apple-touch-icon-60x60.png\" /><link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"https://cocoapods.org/favicons/apple-touch-icon-72x72.png\" /><link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"https://cocoapods.org/favicons/apple-touch-icon-76x76.png\" /><link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"https://cocoapods.org/favicons/apple-touch-icon-114x114.png\" /><link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"https://cocoapods.org/favicons/apple-touch-icon-120x120.png\" /><link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\"https://cocoapods.org/favicons/apple-touch-icon-144x144.png\" /><link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"https://cocoapods.org/favicons/apple-touch-icon-152x152.png\" /><meta charset=\"utf-8\" /><meta content=\"cocoapods objective-c objc swift package manager libraries documentation search pods podspec podfile cocoa apple ios library\" name=\"keywords\" /><meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" /><meta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\" /><meta content=\"The Dependency Manager for iOS & Mac projects\" name=\"description\" /><meta content=\"CocoaPods Dev Team\" name=\"author\" /><meta content=\"summary\" name=\"twitter:card\" /><meta content=\"@CocoaPods\" name=\"twitter:site\" /><meta content=\"@CocoaPods\" name=\"twitter:creator\" /><meta content=\"CocoaPods.org\" name=\"twitter:title\" /><meta content=\"The Dependency Manager for iOS & Mac projects.\" name=\"twitter:description\" /><meta content=\"https://www.cocoapods.org/\" name=\"twitter:url\" /></head><body><nav class=\"navbar navbar-static-top\" role=\"navigation\"><section class=\"container\"><div class=\"navbar-header\"><button class=\"navbar-toggle\" data-target=\".navbar-header-collapse\" data-toggle=\"collapse\" type=\"button\"><span class=\"sr-only\">Toggle navigation</span><span class=\"glyphicon glyphicon-plus\"></span></button><a class=\"navbar-brand\" href=\"https://cocoapods.org\"></a></div><div class=\"collapse navbar-collapse navbar-header-collapse\"><ul class=\"nav navbar-nav navbar-right\"><li><a href=\"https://cocoapods.org/about\">About</a></li><li><a href=\"https://guides.cocoapods.org\">Guides</a></li><li><a href=\"https://blog.cocoapods.org\">Blog</a></li></ul></div></section></nav><div class=\"headline\"><section class=\"container\"><div class=\"row\"><header class=\"col-md-12 headline index\"></header></div></section></div><div id=\"content-wrapper\"><section class=\"container\"><div class=\"row\"><article class=\"col-md-12\" id=\"trunk-content\"><h2>Hello there, looks like you're lost.</h2><h3>Technically its a 404, but we're not too fussed.</h3></article></div></section></div><footer class=\"page-footer\"><section class=\"container\"><div class=\"row\"><article class=\"col-md-8 col-lg-8 col-sm-12 col-md-offset-2 col-lg-offset-2 col-xs-12\"><h4>CocoaPods is a project from</h4><p class=\"contributors\"> <a href=\"http://buegling.com\">Boris B\xC3\xBCgling</a>, <a href=\"http://mariusrackwitz.de\">Marius Rackwitz</a>, <a href=\"http://orta.io\">Orta Therox</a>, <a href=\"http://segiddins.me\">Samuel Giddins</a>, and <a href=\"https://cocoapods.org/about#team\">The CocoaPods Dev Team</a> with contributions from <a href=\"https://github.com/CocoaPods/Specs/graphs/contributors\">many, many others</a>.</p><h4>Lovingly sponsored by</h4><p class=\"sponsors\"><a href=\"http://artsy.net\">Artsy</a>, <a href=\"http://www.usebutton.com\">Button</a>, <a href=\"http://www.capitalone.io\">Capital One</a>, <a href=\"http://discontinuity.eu\">Discontinuity</a>, <a href=\"http://www.fngtps.com\">Fingertips</a>, <a href=\"https://www.heroku.com\">Heroku</a>, <a href=\"http://www.rubymotion.com\">RubyMotion</a>, <a href=\"https://www.sauspiel.de\">Sauspiel</a>, <a href=\"https://www.slack.com\">Slack</a>, <a href=\"https://www.soundcloud.com\">SoundCloud</a>, <a href=\"https://www.stripe.com\">Stripe</a> and <a href=\"http://www.technologyastronauts.ch\">Technology&nbsp;Astronauts</a>.</p></article></div></section></footer><footer class=\"footer-links\"><section class=\"container\"><div class=\"row\"><article class=\"col-md-8 col-lg-8 col-sm-12 col-md-offset-2 col-lg-offset-2 col-xs-12\"><a class=\"cocoapods-small-logo\" href=\"https://cocoapods.org\"></a><ul><li class=\"col-md-3 col-sm-3 col-xs-6\"><a href=\"https://guides.cocoapods.org/using/troubleshooting.html\">Support</a></li><li class=\"col-md-3 col-sm-3 col-xs-6\"><a href=\"https://github.com/CocoaPods/CocoaPods\">GitHub Repo</a></li><li class=\"col-md-3 col-sm-3 col-xs-6\"><a href=\"https://status.cocoapods.org\">Web Properties Status</a></li><li class=\"col-md-3 col-sm-3 col-xs-6\"><a href=\"https://twitter.com/CocoaPods\">@CocoaPods</a></li><li class=\"col-md-3 col-sm-3 col-xs-6\"><a href=\"http://groups.google.com/group/cocoapods\">Mailing List</a></li><li class=\"col-md-3 col-sm-3 col-xs-6\"><a href=\"https://cocoapods.org/about\"><span class=\"visible-lg-span\">CocoaPods</span> Dev Team</a></li><li class=\"col-md-3 col-sm-3 col-xs-6\"><a href=\"https://guides.cocoapods.org/syntax/podfile.html\">Podfile Doc<span class=\"hidden-lg-span\">s</span><span class=\"visible-lg-span\">umentation</span></a></li><li class=\"col-md-3 col-sm-3 col-xs-6\"><a href=\"https://cocoapods.org/legal\">Legal / Conduct</a></li></ul></article></div></section></footer></body><script type=\"text/javascript\">(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){\n(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),\nm=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)\n})(window,document,'script','//www.google-analytics.com/analytics.js','ga');\n\nga('create', 'UA-29866548-4', 'cocoapods.org');\nga('send', 'pageview');</script></html>"
read 6199 bytes
Conn keep-alive
[!] An unexpected error ocurred: <!DOCTYPE html><html><head><title>CocoaPods Trunk</title><link href="/assets/app.css" media="screen, projection" rel="stylesheet" type="text/css" /><link href="/claims/claims.css" media="screen, projection" rel="stylesheet" type="text/css" /><link rel="shortcut icon" href="https://cocoapods.org/favicons/favicon.ico" type="image/x-icon" /><link rel="apple-touch-icon" href="https://cocoapods.org/favicons/apple-touch-icon.png" /><link rel="apple-touch-icon" sizes="57x57" href="https://cocoapods.org/favicons/apple-touch-icon-57x57.png" /><link rel="apple-touch-icon" sizes="60x60" href="https://cocoapods.org/favicons/apple-touch-icon-60x60.png" /><link rel="apple-touch-icon" sizes="72x72" href="https://cocoapods.org/favicons/apple-touch-icon-72x72.png" /><link rel="apple-touch-icon" sizes="76x76" href="https://cocoapods.org/favicons/apple-touch-icon-76x76.png" /><link rel="apple-touch-icon" sizes="114x114" href="https://cocoapods.org/favicons/apple-touch-icon-114x114.png" /><link rel="apple-touch-icon" sizes="120x120" href="https://cocoapods.org/favicons/apple-touch-icon-120x120.png" /><link rel="apple-touch-icon" sizes="144x144" href="https://cocoapods.org/favicons/apple-touch-icon-144x144.png" /><link rel="apple-touch-icon" sizes="152x152" href="https://cocoapods.org/favicons/apple-touch-icon-152x152.png" /><meta charset="utf-8" /><meta content="cocoapods objective-c objc swift package manager libraries documentation search pods podspec podfile cocoa apple ios library" name="keywords" /><meta content="IE=edge" http-equiv="X-UA-Compatible" /><meta content="width=device-width, initial-scale=1.0" name="viewport" /><meta content="The Dependency Manager for iOS & Mac projects" name="description" /><meta content="CocoaPods Dev Team" name="author" /><meta content="summary" name="twitter:card" /><meta content="@CocoaPods" name="twitter:site" /><meta content="@CocoaPods" name="twitter:creator" /><meta content="CocoaPods.org" name="twitter:title" /><meta content="The Dependency Manager for iOS & Mac projects." name="twitter:description" /><meta content="https://www.cocoapods.org/" name="twitter:url" /></head><body><nav class="navbar navbar-static-top" role="navigation"><section class="container"><div class="navbar-header"><button class="navbar-toggle" data-target=".navbar-header-collapse" data-toggle="collapse" type="button"><span class="sr-only">Toggle navigation</span><span class="glyphicon glyphicon-plus"></span></button><a class="navbar-brand" href="https://cocoapods.org"></a></div><div class="collapse navbar-collapse navbar-header-collapse"><ul class="nav navbar-nav navbar-right"><li><a href="https://cocoapods.org/about">About</a></li><li><a href="https://guides.cocoapods.org">Guides</a></li><li><a href="https://blog.cocoapods.org">Blog</a></li></ul></div></section></nav><div class="headline"><section class="container"><div class="row"><header class="col-md-12 headline index"></header></div></section></div><div id="content-wrapper"><section class="container"><div class="row"><article class="col-md-12" id="trunk-content"><h2>Hello there, looks like you're lost.</h2><h3>Technically its a 404, but we're not too fussed.</h3></article></div></section></div><footer class="page-footer"><section class="container"><div class="row"><article class="col-md-8 col-lg-8 col-sm-12 col-md-offset-2 col-lg-offset-2 col-xs-12"><h4>CocoaPods is a project from</h4><p class="contributors"> <a href="http://buegling.com">Boris Bügling</a>, <a href="http://mariusrackwitz.de">Marius Rackwitz</a>, <a href="http://orta.io">Orta Therox</a>, <a href="http://segiddins.me">Samuel Giddins</a>, and <a href="https://cocoapods.org/about#team">The CocoaPods Dev Team</a> with contributions from <a href="https://github.com/CocoaPods/Specs/graphs/contributors">many, many others</a>.</p><h4>Lovingly sponsored by</h4><p class="sponsors"><a href="http://artsy.net">Artsy</a>, <a href="http://www.usebutton.com">Button</a>, <a href="http://www.capitalone.io">Capital One</a>, <a href="http://discontinuity.eu">Discontinuity</a>, <a href="http://www.fngtps.com">Fingertips</a>, <a href="https://www.heroku.com">Heroku</a>, <a href="http://www.rubymotion.com">RubyMotion</a>, <a href="https://www.sauspiel.de">Sauspiel</a>, <a href="https://www.slack.com">Slack</a>, <a href="https://www.soundcloud.com">SoundCloud</a>, <a href="https://www.stripe.com">Stripe</a> and <a href="http://www.technologyastronauts.ch">Technology&nbsp;Astronauts</a>.</p></article></div></section></footer><footer class="footer-links"><section class="container"><div class="row"><article class="col-md-8 col-lg-8 col-sm-12 col-md-offset-2 col-lg-offset-2 col-xs-12"><a class="cocoapods-small-logo" href="https://cocoapods.org"></a><ul><li class="col-md-3 col-sm-3 col-xs-6"><a href="https://guides.cocoapods.org/using/troubleshooting.html">Support</a></li><li class="col-md-3 col-sm-3 col-xs-6"><a href="https://github.com/CocoaPods/CocoaPods">GitHub Repo</a></li><li class="col-md-3 col-sm-3 col-xs-6"><a href="https://status.cocoapods.org">Web Properties Status</a></li><li class="col-md-3 col-sm-3 col-xs-6"><a href="https://twitter.com/CocoaPods">@CocoaPods</a></li><li class="col-md-3 col-sm-3 col-xs-6"><a href="http://groups.google.com/group/cocoapods">Mailing List</a></li><li class="col-md-3 col-sm-3 col-xs-6"><a href="https://cocoapods.org/about"><span class="visible-lg-span">CocoaPods</span> Dev Team</a></li><li class="col-md-3 col-sm-3 col-xs-6"><a href="https://guides.cocoapods.org/syntax/podfile.html">Podfile Doc<span class="hidden-lg-span">s</span><span class="visible-lg-span">umentation</span></a></li><li class="col-md-3 col-sm-3 col-xs-6"><a href="https://cocoapods.org/legal">Legal / Conduct</a></li></ul></article></div></section></footer></body><script type="text/javascript">(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-29866548-4', 'cocoapods.org');
ga('send', 'pageview');</script></html>

/Users/orta/.rvm/gems/ruby-2.1.3/gems/cocoapods-trunk-1.0.0.beta.1/lib/pod/command/trunk.rb:70:in `print_error'
/Users/orta/.rvm/gems/ruby-2.1.3/gems/cocoapods-trunk-1.0.0.beta.1/lib/pod/command/trunk.rb:30:in `request_url'
/Users/orta/.rvm/gems/ruby-2.1.3/gems/cocoapods-trunk-1.0.0.beta.1/lib/pod/command/trunk/delete.rb:60:in `delete'
/Users/orta/.rvm/gems/ruby-2.1.3/gems/cocoapods-trunk-1.0.0.beta.1/lib/pod/command/trunk/delete.rb:34:in `run'
/Users/orta/.rvm/gems/ruby-2.1.3/gems/claide-1.0.0.beta.1/lib/claide/command.rb:312:in `run'
/Users/orta/.rvm/gems/ruby-2.1.3/gems/cocoapods-1.0.0.beta.2/lib/cocoapods/command.rb:48:in `run'
/Users/orta/.rvm/gems/ruby-2.1.3/gems/cocoapods-1.0.0.beta.2/bin/pod:44:in `<top (required)>'
/Users/orta/.rvm/gems/ruby-2.1.3/bin/pod:23:in `load'
/Users/orta/.rvm/gems/ruby-2.1.3/bin/pod:23:in `<main>'
/Users/orta/.rvm/gems/ruby-2.1.3/bin/ruby_executable_hooks:15:in `eval'
/Users/orta/.rvm/gems/ruby-2.1.3/bin/ruby_executable_hooks:15:in `<main>'

orta avatar Jan 27 '16 15:01 orta

Tests imply this is known,

    it 'deletes the version, then responds' do
      lambda do
        delete @endpoint
      end.should.change { Commit.count }
      last_response.status.should == 302
      last_response.location.should == 'https://example.org/AFNetworking/versions/1.2.0'
      Pod.first(:name => spec.name).versions.map(&:deleted?).should == [true]
      Pod.first(:name => spec.name).versions.map { |v| v.last_published_by.specification_data }.should == ['{}']
    end

does this meant the cocoapods-trunk needs to be OK with the redirect?

orta avatar Jan 27 '16 15:01 orta

I think I just made it redirect to the wrong thing? I'll look into this.

segiddins avatar Jan 27 '16 16:01 segiddins

Just ran into this as well when deprecating MaterialMotionDirectManipulationFamily.

jverkoey avatar Nov 16 '16 23:11 jverkoey

#206 did not fix it alas and was reverted

orta avatar Dec 04 '16 10:12 orta

I think what we may need to do is redirect to the push jobs API endpoint?

segiddins avatar Dec 04 '16 16:12 segiddins

that 's what we do now I think, was thinking of adding an API route for whether a pod was deleted GET /api/v1/pod/:name/:version/deleted that can return {pod: "name", version: "1.0.3", deleted: true}

orta avatar Dec 04 '16 18:12 orta

I don't understand how to get rid of the error,please tell me in detail. @orta 😁

ripperhe avatar Mar 04 '17 07:03 ripperhe

@ripperhe to my understanding, the issue is still open, so you can't get rid of the error. But the deletion is still a success despite the error: i.e., if you attempt to delete a second time, it will tell you it's already deleted.

Coeur avatar Mar 04 '17 08:03 Coeur

@Coeur ok, I get it. thank you!

ripperhe avatar Mar 04 '17 12:03 ripperhe

Is this issue still open or fixed? I am almost to the same error and opened the same issue here.

hemangshah avatar May 30 '17 03:05 hemangshah

Yeah, there was something that came up that required more work than I had time for and I've not got back to it, so the issue still exists.

orta avatar Jun 06 '17 09:06 orta

the same error

lizuba avatar Aug 15 '17 13:08 lizuba

The issue still exists. Any chance this might be fixed as it essentially breaks any scripts (expecting a success response).

wuf810 avatar Nov 08 '18 18:11 wuf810

It's been an issue since 2016, so it's more likely that a script could break if someone fixes the issue.

orta avatar Nov 08 '18 18:11 orta

~Still an issue using cocoapods 1.7~

Actually, the deletion worked, but I got a big error message even though it worked.

Sajjon avatar Apr 09 '19 18:04 Sajjon

Same here, just ran pod trunk delete PODNAME PODVERSION and a "An unexpected error occurred:" message was returned along with a HTTP 400 error website.

tomacco avatar Jun 18 '19 15:06 tomacco

It's been an issue since 2016, so it's more likely that a script could break if someone fixes the issue.

@orta If I knew how to fix it, I would, and I would deal with the potentially broken script when/if reported.

Coeur avatar Jun 19 '19 09:06 Coeur

This is the error received:

[!] An unexpected error occurred: Toggle navigation About Guides Blog Hello there, looks like you're lost.

Technically its a 404, but we're not too fussed.

CocoaPods is a project from

Boris Bügling, Marius Rackwitz, Orta Therox, Samuel Giddins, and The CocoaPods Dev Team with contributions from many, many others.

Lovingly sponsored by

Artsy, Button, Capital One, Discontinuity, Fingertips, Heroku, RubyMotion, Sauspiel, Slack, SoundCloud, Stripe and Technology Astronauts.

Support GitHub Repo Web Properties Status @CocoaPods Mailing List CocoaPods Dev Team Podfile Docsumentation Legal / Conduct

zeinabch avatar Oct 11 '19 02:10 zeinabch

Bump :/

NSExceptional avatar Mar 30 '21 19:03 NSExceptional

I'm probably never going to look at this, so if there's no updates on this thread from someone else shipping a successful PR, then there's no point in bumping this thread

orta avatar Apr 01 '21 10:04 orta

@orta As someone else mentioned, if I knew how to fix it without breaking anything else, I would. That's why myself and others are asking the project team and experts to at least have a look.

If you actually mean that you don't know how to fix it also, then that is a different type of response.

wuf810 avatar Apr 01 '21 10:04 wuf810

No, I mean I'll probably never put the time in to look at the issue as it's generally unimportant to me and I don't want to spend my free time on it.

All open source is shared cultural heritage, you don't know how to do it right now - but anyone in this thread could learn how the site works and submit a PR if they wanted.

orta avatar Apr 01 '21 11:04 orta

No, I mean I'll probably never put the time in to look at the issue as it's generally unimportant to me and I don't want to spend my free time on it.

All open source is shared cultural heritage, you don't know how to do it right now - but anyone in this thread could learn how the site works and submit a PR if they wanted.

That is fair enough. However your point about anyone "in the thread could learn", means, to me at least, that there should be no issue with people bumping the thread to inform others that it is still an issue for people.

However I would agree that there are ways to "bump" a thread :-)

wuf810 avatar Apr 01 '21 11:04 wuf810