3 ms·
Chances are, the initial function was written when the underlying auth backend only supported a single account (structurally), and most clients were using that
by lazide 1y ago
Chances are, the initial function was written when the underlying auth backend only supported a single account (structurally), and most clients were using that method.
Then later on, it was figured out that multiple accounts per credential set (?!?) needed to be supported, but the original clients still needed to be supported.
And either no one could afree on a sane convention if this happened (like returning the first from the list), or someone was told to ‘just do it’.
So they made the new call, migrated themselves, and put in a uncaught exception in the old place (can’t put any other type there without breaking the API) and blam - ticket closed.
Not that I’ve ever seen that happen before, of course.
Oh, and since the multi-account functionality is obviously new and probably quite rare at first, it could be years before anyone tracks down whoever is responsible, if ever.
- layer8 1y agoThere’s no good way to solve this, though. Returning an arbitrary account can have unpredictable consequences as well if it isn’t the expected one. It’s a compatibility break either way.
- lazide 1y agoExactly, which is probably why a better ‘back compatibility’ change couldn’t be agreed on. But there is a way that closes your ticket fast and will compile!
- layer8 1y agoSure, but not introducing the ability to be logged into multiple accounts isn’t the best choice as well. Arguably, throwing an exception upon multiple logins for the old API is the lesser evil overall.
- ToucanLoucan 1y ago> There’s no good way to solve this, though. Yes there is! Just get rid of it. It's useless. The re-implementation from using one to the other was barely a few moments of work, and even if you want to say "well that's a breaking change" I mean, yeah? Then break it. I would be far less annoyed if a function was just removed and Xcode went "hey this is pointed at nothing, gotta sort that" rather than letting it run in a way that turns the use of authentication functionality into a landmine.
- lazide 1y agoI take it you’ve never had to support a widely used publicly available API? You might be bound to support these calls for many, many years.