summaryrefslogtreecommitdiff
path: root/Hutch
Commit message (Collapse)AuthorAgeFilesLines
* feat: add Look Up screen and restrict management actions to ownersv2.8.0Christian Cleberg2026-04-0110-12/+527
| | | | Implements: https://todo.sr.ht/~ccleberg/Hutch/4
* add confirmation to repo renameChristian Cleberg2026-04-011-7/+21
|
* fix copy throughout repoChristian Cleberg2026-04-017-18/+17
|
* standardize nav labelsChristian Cleberg2026-04-013-3/+3
|
* reverse order of swipe actions for user acls in trackersChristian Cleberg2026-04-011-8/+7
|
* Add tracker management (delete/update, ACLs, labels)v2.7.0Christian Cleberg2026-04-017-215/+1739
| | | | | | | | | | | | | - Add swipe actions (delete/edit) to tracker list - Add tracker settings menu on detail screen - Implement updateTracker and deleteTracker mutations - Implement ACL management (updateUserACL, updateTrackerACL, deleteACL) - Implement label management (createLabel, updateLabel, deleteLabel) - Add dedicated UI flows for ACLs and labels - Ensure state refresh after mutations - Handle loading, errors, and destructive confirmations Implements: https://todo.sr.ht/~ccleberg/Hutch/12
* Fix several bugs ahead of 2.6.1v2.6.1Christian Cleberg2026-04-015-17/+32
| | | | | | | | | | | | | | | | | | | | | | | | | FileTreeView: when wrap is OFF, activate an explicit width constraint on the code container derived from the widest line, giving the horizontal scroll view a defined content size. Previously the constraint was deactivated with nothing to replace it, making horizontal scrolling unreliable. Also set horizontalScrollView.isScrollEnabled = !wrapLines to prevent gesture conflicts when wrap is ON. InboxView: remove the unnecessary loadThreads() network call fired after markAllThreadsRead(). The threads array is already updated optimistically and read state is persisted via InboxReadStateStore, so the refetch was redundant and caused a brief loading flash. HomeView: add scenePhase onChange handler to refresh dashboard data when the app returns to the foreground, matching the existing pattern in InboxView. DiffView: wrap DiffBlockView content in a horizontal ScrollView so long diff lines are readable. Switch inner VStack to LazyVStack for better performance on large diffs. SettingsView: replace direct UserDefaults access in behaviorSection with @AppStorage, consistent with the rest of the app.
* Rewrite file viewer with pinned gutter, syntax highlighting, and toolbarChristian Cleberg2026-04-012-50/+517
| | | | | | | | | | | | | | | | | | | | | | Replace the SwiftUI-only CodeFileTextView with a UIViewRepresentable backed by CodeFileUIView. The previous approach could not support a fixed line number gutter while independently scrolling code content horizontally. Changes: - Gutter is pinned outside the horizontal scroll view and never scrolls left - Vertical scroll is handled by a single outer UIScrollView shared by both the gutter and code content, keeping them in sync - Line numbers are right-aligned in a fixed-width gutter calculated from the total line count - Syntax highlighting via Splash for .swift files, with plain monospaced rendering as fallback for unsupported file types - Wrap toggle persisted via AppStorage (wrapRepositoryFileLines) - Bottom toolbar replaces the floating Share button, adding Copy All and Wrap toggle actions - Copy All shows a brief checkmark confirmation that resets after 2 seconds - Font fixed at SFMono-Regular 12pt, not scaled with Dynamic Type Implements: https://todo.sr.ht/~ccleberg/Hutch/7
* fix: fixed inbox's inconsistent UX and adds a Mark All Read buttonChristian Cleberg2026-04-013-20/+60
| | | | Fixes: https://todo.sr.ht/~ccleberg/Hutch/10
* fix: ensure projects in Home tab are sorted by last updated dateChristian Cleberg2026-04-012-1/+5
|
* fix: add tildes to username rows in account-switcherChristian Cleberg2026-04-011-1/+1
|
* feat: add multi-account supportv2.6.0Christian Cleberg2026-04-017-7/+309
| | | | Implements: https://todo.sr.ht/~ccleberg/Hutch/11
* Fix nonisolated table alignment lookup in Readme ViewChristian Cleberg2026-03-301-2/+7
|
* fix(org): improve org-mode rendering supportv2.5.1Christian Cleberg2026-03-301-54/+393
|
* feat(markdown): finalize migration to apple/swift-markdown rendererv2.5.0Christian Cleberg2026-03-301-4/+38
|
* Migrate README markdown rendering to swift-markdown and fix badge imagesChristian Cleberg2026-03-302-332/+252
| | | | | | | | | | - replace the hand-rolled markdown parser with a MarkupVisitor renderer - keep the org-mode rendering path and shared sanitization helpers intact - update WKWebView styling and height measurement for README content - fix linked image and query-string badge rendering in markdown output - expand README rendering tests and add markdown syntax coverage Implements: https://todo.sr.ht/~ccleberg/Hutch/2
* partial extended support for markdown and org-modeChristian Cleberg2026-03-301-69/+630
|
* v2.4.0: widgetsv2.4.0Christian Cleberg2026-03-247-35/+133
|
* fix: log errors in HomeViewModel's silent catch blocksChristian Cleberg2026-03-241-0/+6
|
* fix: route executeGraphQLRequest through SRHTClient instead of URLSession.sharedChristian Cleberg2026-03-241-29/+5
|
* chore: rename unused entry param to _ in textBlobViewChristian Cleberg2026-03-241-2/+2
|
* chore: rename unused protocol params to _ across UIKit representablesChristian Cleberg2026-03-244-9/+9
|
* fix: add nested comments to satisfy sonar rule swift:S1186Christian Cleberg2026-03-248-13/+42
|
* Present build logs in a live-updating sheetChristian Cleberg2026-03-231-33/+95
|
* Add scoped auto-refresh to build detailChristian Cleberg2026-03-233-20/+179
|
* delete extraneous test filesChristian Cleberg2026-03-222-166/+0
|
* feat: context menus to copy clone URLs and commit SHAsChristian Cleberg2026-03-222-0/+41
|
* feat: swipe actions on tickets, pastes, builds, and home dashboardChristian Cleberg2026-03-228-19/+887
|
* feat: add search to builds, trackers, tickets, pastes, mailing lists, and inboxChristian Cleberg2026-03-2212-10/+233
|
* feat: replace inline task log expansion with a full-screen log viewChristian Cleberg2026-03-222-55/+82
|
* feat: surface an alert when a deep link fails to resolveChristian Cleberg2026-03-222-2/+31
|
* feat: add privacy policy link and global swipe actions toggle to SettingsChristian Cleberg2026-03-224-0/+195
|
* fix README height update and settings save alertsv2.1Christian Cleberg2026-03-195-6/+62
|
* v2.1: bundled polish and fixesChristian Cleberg2026-03-1927-201/+177
|
* fix: inbox thread handling bugChristian Cleberg2026-03-193-4/+94
|
* feat: implement support for projects, lists, and pastesChristian Cleberg2026-03-1926-62/+2675
|
* feat: add inbox threads and move builds under moreChristian Cleberg2026-03-199-77/+458
|
* feat: add support for reading inbox messages (emails) and replying in-appChristian Cleberg2026-03-199-29/+1729
|
* add Home dashboard and repository build status indicatorsChristian Cleberg2026-03-187-3/+994
|
* fix git repository settings updates for empty reposChristian Cleberg2026-03-181-12/+62
|
* Omit resolution when reopening resolved ticketsChristian Cleberg2026-03-182-9/+16
|
* show tracker creation errors inside the creation sheetChristian Cleberg2026-03-183-4/+46
|
* use native markdown rendering for settings bioChristian Cleberg2026-03-181-7/+26
|
* fix Hutch link from git.sr.ht to sr.htChristian Cleberg2026-03-181-1/+1
|
* stabilize build task identity and log cache keysChristian Cleberg2026-03-183-10/+38
|
* cache repository search results and gate remote refreshesChristian Cleberg2026-03-181-11/+55
|
* lazily load file blobs from repository tree viewsChristian Cleberg2026-03-183-19/+26
|
* harden README web rendering and sanitize untrusted linksChristian Cleberg2026-03-181-31/+110
|
* Guard authenticated text fetches to sr.ht hosts and add regression testChristian Cleberg2026-03-182-0/+18
|
* v1.0Christian Cleberg2026-03-1769-203/+13298
|