vimeo / VIMNetworking

The Vimeo iOS SDK
MIT License
58 stars 25 forks source link

VIM-4027: vimaccountnew → vimaccount #184

Closed huebnerob closed 8 years ago

huebnerob commented 8 years ago

Ticket(s)

https://vimean.atlassian.net/browse/VIM-4027

Ticket Summary

We currently have two model objects that represent accounts: an old VIMAccount and the modern VIMAccountNew. This is due to a change made in version 5.5 of the app (approximately June 2015 vintage) where we wanted to seamlessly and invisibly migrate user's accounts over so they didn't need to log in again.

Well, app versions lower than v5.5 account for less than half of a percent of our daily sessions now (under 1000 users), so I think it's safe to move past this compatibility bridge, especially as we're now rethinking our networking library.

On the off chance that any of these legacy users actually migrate to a newer version in the future, account retrieval will fail silently and the user will have to log in again.

Implementation Summary

Login, logout

alfiehanssen commented 8 years ago

@huebnerob looks like we'll release this into the wild well before VimeoNetworking, nice

alfiehanssen commented 8 years ago

@huebnerob I don't think we can delete VIMAccountNew, we'll run into the same problem.

VIMAccountNew is what's archived in every user out there, which means that if we delete that class we won't be able to unarchive those accounts, pretty sure everyone will be logged out, right?

huebnerob commented 8 years ago

@alfiehanssen Good catch! I overlooked the sensitivity of NSCoding to class names. I've added a fix that sets the newly renamed VIMAccount class as the target for unarchiving "VIMAccountNew" objects.

@nicolelehrer ready for review!

nicolelehrer commented 8 years ago

@huebnerob DWR 👍