From 201f32f125976b7c0e8a0451f33974bb7e72df4d Mon Sep 17 00:00:00 2001 From: Georg Bauer Date: Fri, 31 Jul 2026 10:13:46 +0200 Subject: [PATCH] Fix server selection from pull requests --- ios/Sources/AppContext.swift | 2 +- ios/Sources/ContentScreens.swift | 10 ++++++++++ ios/Sources/ListScreens.swift | 9 ++------- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ios/Sources/AppContext.swift b/ios/Sources/AppContext.swift index 269283b..abd139d 100644 --- a/ios/Sources/AppContext.swift +++ b/ios/Sources/AppContext.swift @@ -127,7 +127,7 @@ final class AppContext { private func repositoryRoot(mode: RepositoryMode) -> UIViewController { if core.activeServerIndex() == nil { - return ServersViewController(context: self, destination: mode) + return ServersViewController(context: self) } return RepositoriesViewController(context: self, mode: mode) } diff --git a/ios/Sources/ContentScreens.swift b/ios/Sources/ContentScreens.swift index ed19562..c4a2c82 100644 --- a/ios/Sources/ContentScreens.swift +++ b/ios/Sources/ContentScreens.swift @@ -398,6 +398,16 @@ final class PullsViewController: RefreshingTableViewController { override func viewDidLoad() { super.viewDidLoad() + navigationItem.leftBarButtonItem = UIBarButtonItem( + image: context.symbol("server.rack"), + primaryAction: UIAction { [weak self] _ in + guard let self else { return } + self.navigationController?.pushViewController( + ServersViewController(context: self.context), + animated: true + ) + } + ) updateFilterMenu() loadContent(refreshing: false) } diff --git a/ios/Sources/ListScreens.swift b/ios/Sources/ListScreens.swift index 488ce10..93d8d10 100644 --- a/ios/Sources/ListScreens.swift +++ b/ios/Sources/ListScreens.swift @@ -9,12 +9,10 @@ enum RepositoryMode { @MainActor final class ServersViewController: UITableViewController { private let context: AppContext - private let destination: RepositoryMode private var servers: [ServerRow] = [] - init(context: AppContext, destination: RepositoryMode) { + init(context: AppContext) { self.context = context - self.destination = destination super.init(style: .plain) title = "Servers" tableView.backgroundColor = .systemGroupedBackground @@ -57,9 +55,6 @@ final class ServersViewController: UITableViewController { tableView.deselectRow(at: indexPath, animated: true) do { try context.selectServer(index: UInt32(indexPath.row)) - navigationController?.setViewControllers([ - RepositoriesViewController(context: context, mode: destination), - ], animated: true) } catch { show(error: error) } @@ -211,7 +206,7 @@ final class RepositoriesViewController: RefreshingTableViewController { primaryAction: UIAction { [weak self] _ in guard let self else { return } self.navigationController?.pushViewController( - ServersViewController(context: self.context, destination: self.mode), + ServersViewController(context: self.context), animated: true ) }