Inconsistent Course Sort Order on Grades Tab Between iOS and Android Mobile Apps
What are your findings?
The issue was reproduced on the demo database using iPhone 15, iOS 18.6.2, app version 2.4.24 at Flex Soaring HS (School 894). The server-side API is functioning correctly — it pre-sorts courses by FlexPeriodStartTime (chronological class start time) for Flex scheduling schools before returning the response. The root cause is in the iOS mobile app client-side code. The Period property returned by the API is populated with MST.FSQ (Flex Period Sequence Number), which is an arbitrary integer assigned when the Flex Period was created and does not reflect display order. The iOS app re-sorts the course list by this Period integer, causing courses to display out of chronological order when Flex Periods were not created sequentially. Android correctly preserves the server-provided sort order or re-sorts by StartTime and displays courses in the correct order.
Based on your findings, what are your recommendations?
The iOS mobile app needs to be updated to sort courses on the Grades tab by StartTime (DateTime) instead of Period (Integer) when the school uses Flex scheduling, or to preserve the server-provided sort order without re-sorting. This will align iOS behavior with Android and with the intended daily class schedule. As a longer-term improvement, an explicit SortOrder property could be added to the API response to make the intended display order unambiguous to both mobile platforms.
