-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Fixes Publicize connection flow #10378
Conversation
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.
Nice fix. 🎉
Do we have any insight about whether this will change in the future:
the only service supporting this parameter is Facebook
I am wondering if it makes sense (in a separate PR) to modify the end-point to follow the robustness principle. I was looking around here but I didn't spend a lot of time digging, and I'm not certain that's the right place. Anyway, it's outside the scope of this PR, but I wanted to comment for posterity in case a future change brings up a similar issue.
Thank you for the review! ;)
Tbh I'm a fan of the fail fast principle. Perhaps this is a case where it's on the edge, but I kind of like that the API fails right away and tells you what is wrong. Imagine you would be sending |
I'm also a fan of fail-fast, and you bring up a good point. I suppose in a case like this, these principles are somewhat at odds with one another, and my feeling is more-or-less to be guided by the relative stability of the (external) APIs in question. Robustness may be a maintenance win, whereas fail-fast enforces more strictly defined interfaces, often with more predictable behavior. In this particular case, we "fail fast", but we have all the information we need at that moment to not fail. I suppose ultimately, it may be a question of where such heuristics belong. I don't have a strong opinion, but definitely think there may be value in considering whether it could make sense for that logic to exist server-side (probably informed by how often these external APIs change). |
Fixes #10252
This line of code was introduce in #8115. The server responds with Http Error code 400 when we pass
external_user_ID
parameter to a service which doesn't support it. However, the only service supporting this parameter is Facebook. Therefore the PR mentioned above broke connecting flows to all the other services.Our users mostly connect Facebook (which works) and Twitter accounts. We introduce a workaround for Twitter in #9629. However, we didn't realize other connections might be also broken due to the same bug.
This PR fixes this issue once and for all by making sure we send
external_user_ID
to Facebook only.To test:
Perform the same steps for Tumblr and Twitter.
Update release notes:
RELEASE-NOTES.txt
.