summaryrefslogtreecommitdiff
path: root/Hutch.xcodeproj/project.pbxproj
Commit message (Collapse)AuthorAgeFilesLines
* feat: user-defined time period for recent builds cardChristian Cleberg2026-04-201-4/+4
| | | | | | | | | - limit Home failed-build counts to a configurable lookback window and add the setting under Behavior. - make the Recent and Builds rows fully tappable across the entire cell and add coverage for the new failed-build filtering. Fixes: https://todo.sr.ht/~ccleberg/hutch/67
* fix: change failed builds card on home tab to navigate to builds tab instead ↵Christian Cleberg2026-04-201-8/+8
| | | | | | of implementing its own view Fixes: https://todo.sr.ht/~ccleberg/hutch/66
* fix: Sonar issues in BundleUserAgentTests and accept README URL path joinv3.1.11Christian Cleberg2026-04-191-8/+8
|
* fix: finish half-completed storekit implementationChristian Cleberg2026-04-191-8/+10
|
* fix: fixes dead relative links in md/org with a new single-file viewer when ↵Christian Cleberg2026-04-151-8/+8
| | | | | | tapped Fixes: https://todo.sr.ht/~ccleberg/hutch/63
* feat: add custom hutch user-agent to api callsChristian Cleberg2026-04-151-8/+8
| | | | Implements: https://todo.sr.ht/~ccleberg/hutch/64
* bump version for IAPsv3.1.7Christian Cleberg2026-04-141-8/+8
|
* fix: remove prototype screens from developer menuv3.1.6Christian Cleberg2026-04-141-8/+8
| | | | | | | | - removed prototype screens - limited Recent section to 3 items - added initial support for tips Fixes: https://todo.sr.ht/~ccleberg/hutch/65
* fix: more sonarqube quality fixesv3.1.5Christian Cleberg2026-04-131-8/+8
|
* fix: sonarqube code smell fixesv3.1.4Christian Cleberg2026-04-131-8/+8
|
* fix: centralize URLs, tighten models, and polish SwiftUI bindingsv3.1.3Christian Cleberg2026-04-131-8/+8
| | | | | | | | | | | | | | | | | | | | - Add shared HutchDeepLinkURL constants for app, widgets, and tests. - Bump marketing version to 3.1.2 and build to 70 (app + widget extension). - Point Hutch stats default base URL at HutchStatsAPI; add SRHTWebURL status incident feed and reuse it from SystemStatusService. - Group Project into Metadata and Resources; split ContributionStatsResponse into StatsWindow and StatsTotals with updated decoding and tests. - Replace @Bindable usage with explicit Bindings in Profile, Projects list, and repository ACL flows; simplify Home pinned-item helper; add no-op bodies on cancel alert buttons where the compiler requires a statement. - Move repository row build-status indicator next to the relative-updated caption and reserve a fixed 8×8 slot so the row does not jump when status loads. - Use NSString.lastPathComponent for build artifact filenames; collapse duplicate ACL error branches; minor HutchStats HTTP and XMLParserDelegate cleanups. - Point widgets at HutchDeepLinkURL helpers; align tests with the new response and URL types.
* fix(tickets): load all pages on tracker open for accurate Open tabChristian Cleberg2026-04-131-8/+8
| | | | | | | | todo.sr.ht only exposes cursor-based `tracker.tickets` (no status filter), so client-side Open filtering missed older open tickets when only the first page was loaded. Paginate until the cursor is exhausted in loadTickets(). Fixes: https://todo.sr.ht/~ccleberg/hutch/62
* feat(theme): AMOLED true-black rows via themedRow()Christian Cleberg2026-04-131-8/+8
| | | | | | | | | | 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
* feat: redesign paste detail view as full-screen file viewerChristian Cleberg2026-04-131-2/+2
| | | | | | | | | | | | Replaces the list-based layout with a full-screen viewer that matches the repository file tree pattern. File contents are now the primary focus using CodeFileTextView (line numbers, wrap toggle). A compact sticky header shows the filename, visibility badge, owner, date, and abbreviated hash. Paste metadata moves to a Details sheet accessible via the bottom toolbar. Duplicate share buttons are consolidated: link sharing lives in the ··· menu and content sharing is in the toolbar. Fixes: https://todo.sr.ht/~ccleberg/hutch/13
* fix: suppress false "network request failed" error on ticket list scrollChristian Cleberg2026-04-131-6/+6
| | | | | | | | | | | | | | When scrolling through a large tracker, SwiftUI's .task modifier cancels in-flight pagination requests as rows leave the screen. URLSession responds with URLError(-999), which was being surfaced to the user as "The network request failed. Please try again." — even though the cancellation is expected and benign. Guard against Task.isCancelled in the catch block so cancellations are silently ignored; isLoadingMore is still reset unconditionally so the next scroll attempt retries from the same cursor position. Fixes: https://todo.sr.ht/~ccleberg/hutch/61
* fix: show empty state for bare git repos instead of an errorChristian Cleberg2026-04-131-8/+8
| | | | | | | | | | | git.sr.ht returns "internal system error" from the references query and "reference not found" from the log/readme queries when a repo has no commits. Broaden isEmptyRepositoryError to cover missingReference, unknownRevision, noRows, notFound, and those two message strings, then apply the same silent-empty treatment to loadReferences and loadArtifacts (which previously surfaced any error directly to the user). Fixes: https://todo.sr.ht/~ccleberg/hutch/60
* fix: mercurial parity and graphql handlingv3.0.4Christian Cleberg2026-04-131-8/+8
| | | | | | | | | | - 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-131-8/+8
| | | | | | | | | | | | | | | | 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-8/+8
| | | | | | | | | | | | | | | | - 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
* feat: add power user actionsChristian Cleberg2026-04-131-8/+8
| | | | | | 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 search and recent queriesChristian Cleberg2026-04-121-8/+8
| | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/47 Implements: https://todo.sr.ht/~ccleberg/hutch/48
* feat: add ticket label management and bulk actionsChristian Cleberg2026-04-121-8/+8
| | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/45 Implements: https://todo.sr.ht/~ccleberg/hutch/46
* feat: add repo settings managementChristian Cleberg2026-04-121-8/+8
| | | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/42 Implements: https://todo.sr.ht/~ccleberg/hutch/43 Implements: https://todo.sr.ht/~ccleberg/hutch/44
* feat: add repository acl managementChristian Cleberg2026-04-121-8/+8
| | | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/39 Implements: https://todo.sr.ht/~ccleberg/hutch/40 Implements: https://todo.sr.ht/~ccleberg/hutch/41
* feat: polish read-only project views and home integrationChristian Cleberg2026-04-121-8/+8
| | | | | | Refs: https://todo.sr.ht/~ccleberg/hutch/36 Refs: https://todo.sr.ht/~ccleberg/hutch/37 Refs: https://todo.sr.ht/~ccleberg/hutch/38
* feat: add build log search and jump-to-error navigationChristian Cleberg2026-04-121-8/+8
| | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/29 Implements: https://todo.sr.ht/~ccleberg/hutch/30
* feat: add projects list, detail view, and home pinningChristian Cleberg2026-04-121-8/+8
| | | | | | Implements: https://todo.sr.ht/~ccleberg/hutch/26 Implements: https://todo.sr.ht/~ccleberg/hutch/27 Implements: https://todo.sr.ht/~ccleberg/hutch/28
* feat: add theme and high-density display modesChristian Cleberg2026-04-121-8/+8
| | | | | 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-121-8/+8
| | | | fixes: https://todo.sr.ht/~ccleberg/hutch/19
* feat: add builds auto-refresh and repo filteringChristian Cleberg2026-04-121-8/+8
| | | | | 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-9/+9
| | | | | | implements: https://todo.sr.ht/~ccleberg/hutch/14 implements: https://todo.sr.ht/~ccleberg/hutch/15 implements: https://todo.sr.ht/~ccleberg/hutch/16
* fix: ensure looked-up users' bios render correctlyChristian Cleberg2026-04-121-8/+8
|
* feat: add prioritization of polling hutch-stats for logged in userChristian Cleberg2026-04-121-6/+6
|
* chore: clean up debug loggingv2.15.1Christian Cleberg2026-04-121-8/+8
|
* add shortcuts widgets and power-user workflowsv2.15.0Christian Cleberg2026-04-121-8/+8
|
* improve home attention flows and cross-linkingv2.14.0Christian Cleberg2026-04-121-8/+8
|
* harden system status and app reliabilityv2.13.1Christian Cleberg2026-04-121-8/+8
|
* bump semverv2.13.0Christian Cleberg2026-04-111-8/+8
|
* chore: bump version to 2.12.1Christian Cleberg2026-04-111-8/+8
|
* bump version and update new privacy policy locationChristian Cleberg2026-04-101-32/+8
|
* chore: rename unused coder param to _ in CodeFileUIViewChristian Cleberg2026-04-031-8/+8
|
* Fixed extraneous srht.site link in MoreViewv2.10.1Christian Cleberg2026-04-031-8/+8
|
* feat: add in-app man pages browserChristian Cleberg2026-04-031-8/+8
| | | | | | | | | | | | | | Add a native Man Pages section to the More tab with in-app browsing for man.sr.ht documentation and srht.site pages. - add ManPageService for fetching and extracting public docs content - add ManPageBrowserView and ManPageDetailView - add More tab navigation for Man Pages - support in-place navigation for internal documentation links - allow HTMLWebView to intercept internal links and use a base URL - support man.sr.ht and srht.site content extraction - remove heading permalink "#" anchors from man page rendering - fix relative links, fragment links, and srht.site CTA/icon layout
* Implement search history for Look Up pageChristian Cleberg2026-04-021-8/+8
|
* feat: browse user repositories and trackers from profilev2.9.0Christian Cleberg2026-04-021-8/+8
|
* bump versionv2.8.2Christian Cleberg2026-04-011-8/+8
|
* feat: show commit dates in Refs tabv2.8.1Christian Cleberg2026-04-011-8/+8
|
* feat: add Look Up screen and restrict management actions to ownersv2.8.0Christian Cleberg2026-04-011-8/+8
| | | | Implements: https://todo.sr.ht/~ccleberg/Hutch/4
* add API docsv2.7.1Christian Cleberg2026-04-011-0/+44
|
* standardize nav labelsChristian Cleberg2026-04-011-8/+8
|