summaryrefslogtreecommitdiff
path: root/Hutch/Views/Builds
Commit message (Collapse)AuthorAgeFilesLines
* fix: more sonarqube quality fixesv3.1.5Christian Cleberg2026-04-131-2/+3
|
* fix: sonarqube code smell fixesv3.1.4Christian Cleberg2026-04-132-6/+6
|
* feat(theme): AMOLED true-black rows via themedRow()Christian Cleberg2026-04-132-1/+38
| | | | | | | | | | Apply listRowBackground(Color.black) per row in AMOLED mode using ThemedRowStyle and themedRow() across Lists and Forms. Use themedList() for scroll/grouped backgrounds. Treat segmented and clear list rows with isAMOLED-aware listRowBackground where Color.clear was required. Removes reliance on UIKit appearance for list cells on iOS 16+. Implements: https://todo.sr.ht/~ccleberg/hutch/24
* fix: mercurial parity and graphql handlingv3.0.4Christian Cleberg2026-04-131-41/+46
| | | | | | | | | | - implements consistent UX between repo types - ensures centralized services and routes are used between repo types - graphql error handling is centralized - error messages are consistent Implements: https://todo.sr.ht/~ccleberg/hutch/58 Implements: https://todo.sr.ht/~ccleberg/hutch/59
* perf: cache filtered collections and add equatable row viewsChristian Cleberg2026-04-133-9/+29
| | | | | | | | | | | | | | | | 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
* perf: reduce redundant fetches and improve list render efficiencyChristian Cleberg2026-04-131-1/+3
| | | | | | | | | | | | | | | | - Remove no-op per-row task from RepositoryListView; loadMoreIfNeeded is a stub for repos so each row was allocating a Task that did nothing - Fix BuildListView auto-refresh stopping permanently after navigating away; startAutoRefresh now runs unconditionally on task so it restarts on every reappear, not just first load - Add lastRefreshed tracking to HomeViewModel with a needsRefresh(after:) helper; HomeView and WorkView scene-activation handlers now skip loadDashboard() if the data is less than 60 seconds old - Add 120-second TTL to repository build status refresh; statuses are no longer re-fetched on every tab appear, only when stale or when the user explicitly pulls to refresh (forceRefresh: true) Implements: https://todo.sr.ht/~ccleberg/hutch/56
* release: v3.0.0 — navigation overhaul, Work view, and multi-pin supportv3.0.0Christian Cleberg2026-04-131-0/+17
| | | | | | | | | | | | | | | | | | | | Reworks the app's core navigation and home screen for v3.0.0: - Replace Inbox with Work view: unified dashboard showing unread threads and assigned tickets, with All/Unread/Assigned scope picker - Overhaul Home screen: redesigned with pinned items grid (trackers, repos, mailing lists, users), recent activity section, and system status banner; backed by HomePinStore supporting all resource types - Simplify navigation bars across list screens: default toolbar shows only the primary action (+) and an overflow menu (…); pin, share, and select moved into the overflow menu; selection mode gets its own nav bar with Cancel / "N Selected" / All - Consolidate repo detail toolbars: pin and share moved into the existing actions menu for both Git and Mercurial detail views - Add recent activity tracking via RecentActivityStore - Add work and inbox deep link aliases (hutch://work, hutch://inbox) Implements: https://todo.sr.ht/~ccleberg/hutch/55
* feat: add power user actionsChristian Cleberg2026-04-134-9/+144
| | | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/52 Implements: https://todo.sr.ht/~ccleberg/hutch/53 Implements: https://todo.sr.ht/~ccleberg/hutch/54
* feat: add multi-account supportChristian Cleberg2026-04-121-2/+2
| | | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/49 Implements: https://todo.sr.ht/~ccleberg/hutch/50 Implements: https://todo.sr.ht/~ccleberg/hutch/51
* feat: add search and recent queriesChristian Cleberg2026-04-122-12/+68
| | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/47 Implements: https://todo.sr.ht/~ccleberg/hutch/48
* feat: add ticket saved filters and label filteringChristian Cleberg2026-04-121-2/+2
| | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/32 Implements: https://todo.sr.ht/~ccleberg/hutch/33
* feat: add build artifact listingChristian Cleberg2026-04-122-0/+65
| | | | Implements: https://todo.sr.ht/~ccleberg/hutch/31
* feat: add build log search and jump-to-error navigationChristian Cleberg2026-04-121-26/+391
| | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/29 Implements: https://todo.sr.ht/~ccleberg/hutch/30
* feat: add theme and high-density display modesChristian Cleberg2026-04-122-0/+2
| | | | | Refs: https://todo.sr.ht/~ccleberg/hutch/24 Implements: https://todo.sr.ht/~ccleberg/hutch/25
* fix: polish build retry and cancel actionsChristian Cleberg2026-04-122-14/+50
| | | | fixes: https://todo.sr.ht/~ccleberg/hutch/19
* feat: add builds auto-refresh and repo filteringChristian Cleberg2026-04-122-4/+120
| | | | | implements: https://todo.sr.ht/~ccleberg/hutch/17 implements: https://todo.sr.ht/~ccleberg/hutch/18
* feat: improve Home structure and navigationv2.16.0Christian Cleberg2026-04-121-0/+38
| | | | | | implements: https://todo.sr.ht/~ccleberg/hutch/14 implements: https://todo.sr.ht/~ccleberg/hutch/15 implements: https://todo.sr.ht/~ccleberg/hutch/16
* chore: clean up debug loggingv2.15.1Christian Cleberg2026-04-121-4/+0
|
* improve home attention flows and cross-linkingv2.14.0Christian Cleberg2026-04-123-2/+82
|
* chore: rename unused protocol params to _ across UIKit representablesChristian Cleberg2026-03-241-2/+2
|
* fix: add nested comments to satisfy sonar rule swift:S1186Christian Cleberg2026-03-241-1/+3
|
* Present build logs in a live-updating sheetChristian Cleberg2026-03-231-33/+95
|
* Add scoped auto-refresh to build detailChristian Cleberg2026-03-232-17/+168
|
* feat: swipe actions on tickets, pastes, builds, and home dashboardChristian Cleberg2026-03-222-0/+38
|
* feat: add search to builds, trackers, tickets, pastes, mailing lists, and inboxChristian Cleberg2026-03-222-1/+38
|
* feat: replace inline task log expansion with a full-screen log viewChristian Cleberg2026-03-222-55/+82
|
* v2.1: bundled polish and fixesChristian Cleberg2026-03-193-8/+9
|
* stabilize build task identity and log cache keysChristian Cleberg2026-03-182-8/+13
|
* v1.0Christian Cleberg2026-03-175-0/+1161