-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
replace [twitter] badge with static fallback #8842
Conversation
I'd like to have a quick chat about this one before we proceed, will follow up in chat |
Twitter shut down the API that shields.io uses for dynamic follower count. See also: * badges/shields#8837 * badges/shields#8842
Actually will post here inline for transparency. I'll preface up front that I don't have a strong opinion one way or the other, mostly playing devils advocate to expand the rationalizations against other options
Finally, I recognize this Twitter API issue has had widespread impact given the popularity of the badge and while it's not my intent nor desire to hit the brakes on mitigation attempts, I do think it's worth noting that there are existing workarounds available for any users who prioritize getting a different/non-error badge, really any twitter badge, over anything else. Meanwhile, I think we're far more constrained in our ability to go back and forth on changes we force down on our users |
683643e
to
050f8bf
Compare
I think what makes this case different in my opinion is that when we follow the usual deprecation process in https://github.com/badges/shields/blob/master/doc/deprecating-badges.md it is usually because the upstream service has completely shut down (in fact, the existing wording in i.e: if you look through the last 5 deprecation PRs
the service has completely gone away so there's not really any reasonable expectation that our badges are going to work or much of a useful fallback we can provide. This badge is different because Twitter is still a thing that exists. We just can't use this API endpoint any more. If twitter had completely shut down, then I think we'd follow the usual process. Also I think in other situations where something like this happens again (service is still live but we can't provide a badge any more for..reasons) we should also consider doing something similar if possible.
The most important reason why I don't think we should replace it with a standard redirect at this stage is because when we issue a redirect we issue a Beyond that, there are a couple of less important considerations: The fallback I've done matches the style of the label for the existing badge and renders with no message. I'm not sure it is possible to construct a static badge which gives you a message-less output. i.e: I can do https://img.shields.io/badge/follow-@shields_io-blue?logo=twitter&style=social&link=https%3A//twitter.com/intent/follow%3Fscreen_name%3Dshields_io or https://img.shields.io/badge/follow%20@shields_io-blue?logo=twitter&style=social&link=https%3A//twitter.com/intent/follow%3Fscreen_name%3Dshields_io but I'm not sure we can construct a static badge URL that outputs I might be wrong? I don't think that's a deal-breaker though. Also we don't have a way to define an The most crucial point is I don't think we're ready to issue the 301 yet though.
I suspect if this endpoint was going to start working again it would have done it by now. Personally I don't plan to invest a lot of energy in monitoring or seeking alternative solutions. I suspect this service is popular enough that if it becomes possible again and anyone cares, someone will tell us in an issue.
Yes. I'd be happy to assume that most people would consider restoring the original functionality a fix. |
The other thing that occurs to me here is both these badges have no dynamic content, so we can cache them for longer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm sufficiently persuaded and agree with your analysis. Appreciate you taking the time to articulate things, I know I'll feel better about having this for posterity and being able to point back to it.
I'd like to continue part of the dialog around deprecation conditions, but that can certainly be done in parallel and doesn't need to block
closes #8837
Maybe there will be another way we could re-implement this in future, but lets do this at least as a stop-gap.