From c22287d5e256f5b23528114c5efec63069f9c2b5 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Wed, 1 Apr 2026 11:52:40 -0500 Subject: fix: ensure projects in Home tab are sorted by last updated date --- Hutch/Models/Project.swift | 1 + Hutch/Networking/ProjectService.swift | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Hutch/Models/Project.swift b/Hutch/Models/Project.swift index e6726c2..2cd8e00 100644 --- a/Hutch/Models/Project.swift +++ b/Hutch/Models/Project.swift @@ -65,6 +65,7 @@ struct Project: Identifiable, Hashable, Sendable { let website: String? let visibility: Visibility let tags: [String] + let updated: Date let mailingLists: [MailingList] let sources: [SourceRepo] let trackers: [Tracker] diff --git a/Hutch/Networking/ProjectService.swift b/Hutch/Networking/ProjectService.swift index 2afb699..a76d1d7 100644 --- a/Hutch/Networking/ProjectService.swift +++ b/Hutch/Networking/ProjectService.swift @@ -20,6 +20,7 @@ private struct ProjectSummaryPayload: Decodable, Sendable { let website: String? let visibility: Visibility let tags: [String] + let updated: Date } private struct ProjectDetailResponse: Decodable, Sendable { @@ -92,6 +93,7 @@ struct ProjectService: Sendable { website visibility tags + updated } cursor } @@ -162,7 +164,7 @@ struct ProjectService: Sendable { for try await project in group { projects.append(project) } - return projects.sorted { $0.name.localizedCaseInsensitiveCompare($1.name) == .orderedAscending } + return projects.sorted { $0.updated > $1.updated } } } @@ -267,6 +269,7 @@ struct ProjectService: Sendable { website: project.website, visibility: project.visibility, tags: project.tags, + updated: summary.updated, mailingLists: deduplicate(mailingLists), sources: deduplicate(sources), trackers: deduplicate(trackers) -- cgit v1.2.3