io7m / android

The Android client for Library Simplified
Other
0 stars 0 forks source link

Adobe credentials are a mess #12

Closed io7m closed 6 years ago

io7m commented 6 years ago

The previously immutable AccountCredentials type has been transformed into a mutable type with six Option fields. Those fields have causal relationships between each other; when you have one of them, you must also have at least two more, but as they're encoded as a pile of unrelated optional fields, the type system can't tell you this and can't enforce that fact. This leads to a lot of unpleasant checks throughout the code, and it's unclear without a detailed study of the execution path of the program when some fields can be set and not others. I've managed to work out the relationships, so this type needs to be completely replaced with an immutable credentials type as part of the accounts/profiles update.

io7m commented 6 years ago

This is essentially done.