summaryrefslogtreecommitdiff
path: root/Hutch/Views/Builds/BuildListViewModel.swift
Commit message (Collapse)AuthorAgeFilesLines
* feat(cache): persist read-only API responsesv3.3.1Christian Cleberg2026-05-061-6/+17
| | | | | | | | | | | | Add a bounded stale-while-revalidate cache at the Sourcehut API boundary with stable keys, centralized TTLs, request coalescing, payload hashing, and LRU disk pruning. Cache high-value read-only repo, build, ticket, project, profile, paste, and Home/Work Queue data while keeping mutations network-only and invalidating related prefixes after successful writes. Add focused cache tests and implementation notes.
* fix: profile loading error and user-timeline prefs updatev3.2.1Christian Cleberg2026-04-231-3/+25
|
* fix: more sonarqube quality fixesv3.1.5Christian Cleberg2026-04-131-2/+3
|
* perf: cache filtered collections and add equatable row viewsChristian Cleberg2026-04-131-8/+27
| | | | | | | | | | | | | | | | Convert filteredJobs, filteredPastes, and filteredTickets from computed properties to stored properties updated via didSet on their inputs. Each update function guards with an equality check before assigning, so @Observable skips the notification when the filtered result hasn't changed — preventing list re-renders on auto-refresh when no visible data has actually changed. Add Equatable conformance to BuildRowView, PasteRowView, TicketRowView, and SelectableTicketRow, and apply .equatable() at each ForEach call site. When a list does re-render, SwiftUI now skips body evaluation for rows whose model value is identical to the previous pass. Implements: https://todo.sr.ht/~ccleberg/hutch/57
* feat: add search and recent queriesChristian Cleberg2026-04-121-9/+43
| | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/47 Implements: https://todo.sr.ht/~ccleberg/hutch/48
* feat: add builds auto-refresh and repo filteringChristian Cleberg2026-04-121-3/+63
| | | | | implements: https://todo.sr.ht/~ccleberg/hutch/17 implements: https://todo.sr.ht/~ccleberg/hutch/18
* improve home attention flows and cross-linkingv2.14.0Christian Cleberg2026-04-121-2/+33
|
* feat: swipe actions on tickets, pastes, builds, and home dashboardChristian Cleberg2026-03-221-0/+37
|
* feat: add search to builds, trackers, tickets, pastes, mailing lists, and inboxChristian Cleberg2026-03-221-0/+18
|
* v2.1: bundled polish and fixesChristian Cleberg2026-03-191-3/+3
|
* v1.0Christian Cleberg2026-03-171-0/+220