From 815f2b45c6c9924173d76bc1273f0d2dbcbdeedd Mon Sep 17 00:00:00 2001 From: JBYoshi <12983479+JBYoshi@users.noreply.github.com> Date: Fri, 5 Apr 2024 23:39:38 -0500 Subject: [PATCH] Fix challenge sort order to match the server-side ordering. The app was sorting the challenges by decreasing member count, but the server returns challenges in order of creation date (with official challenges overriding the ordering). This should fix the challenges jumping around. Fixes HabitRPG/habitica-ios#1307. --- .../Habitica Database/Repositories/SocialLocalRepository.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Habitica Database/Habitica Database/Repositories/SocialLocalRepository.swift b/Habitica Database/Habitica Database/Repositories/SocialLocalRepository.swift index e5fbc3c22..757683468 100644 --- a/Habitica Database/Habitica Database/Repositories/SocialLocalRepository.swift +++ b/Habitica Database/Habitica Database/Repositories/SocialLocalRepository.swift @@ -310,7 +310,7 @@ public class SocialLocalRepository: BaseLocalRepository { query = RealmChallenge.findAll() } // swiftlint:disable:next force_unwrapping - return query!.sorted(key: "memberCount", ascending: false).reactive().map({ (value, changeset) -> ReactiveResults<[ChallengeProtocol]> in + return query!.sorted(by: [SortDescriptor(keyPath: "official", ascending: false), SortDescriptor(keyPath: "createdAt", ascending: false)]).reactive().map({ (value, changeset) -> ReactiveResults<[ChallengeProtocol]> in return (value.map({ (challenge) -> ChallengeProtocol in return challenge }), changeset) }) }