insidegui / WWDC

The unofficial WWDC app for macOS
https://wwdc.io
BSD 2-Clause "Simplified" License
8.6k stars 777 forks source link

Displaying all content in schedule, removed special handling based on session type #686

Closed insidegui closed 1 year ago

insidegui commented 1 year ago

We were relying on the content's type property for a lot of things with hardcoded types in the app, but Apple hasn't been using type as an enum for a good while.

NOTE: I believe there's a lot more that can be removed from the app with the removal of this special handling for different session types, but I chose to keep this PR as small as possible

NOTE 2: there's a bit of special handling on the backend because Article and Collection are also session types from Apple's API, but we don't support those, so our proxy is filtering them out

NOTE 3: there's a significant migration upon running this version because it will delete all current SessionInstance objects; there's no user data associated with that object so it should be fine (famous last words), but because of that the Schedule tab might be empty for several seconds while content is fetched and indexed (we definitely need to move away from Realm)