Skip to content

Commit 5e2af0a

Browse files
committed
Hide connections page by default since unstable
1 parent 0a45613 commit 5e2af0a

File tree

10 files changed

+27
-22
lines changed

10 files changed

+27
-22
lines changed

ApplicationLibrary/Views/Connections/ConnectionListView.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ public struct ConnectionListView: View {
88
@State private var isLoading = true
99
@StateObject private var commandClient = CommandClient(.connections)
1010
@State private var connections: [Connection] = []
11-
@State private var selection: ConnectionListPage = .active
1211
@State private var searchText = ""
1312
@State private var alert: Alert?
1413

ApplicationLibrary/Views/Connections/ConnectionView.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public struct ConnectionView: View {
6767
Spacer()
6868
VStack(alignment: .trailing) {
6969
Text(connection.inboundType + "/" + connection.inbound)
70-
Text(connection.chain.reversed().joined(separator: "/"))
70+
Text(connection.chain[0])
7171
}
7272
}
7373
}
@@ -111,7 +111,7 @@ public struct ConnectionView: View {
111111

112112
private nonisolated func closeConnection() async {
113113
do {
114-
try LibboxNewStandaloneCommandClient()!.closeConnection(connection.id)
114+
try await LibboxNewStandaloneCommandClient()!.closeConnection(connection.id)
115115
} catch {
116116
await MainActor.run {
117117
alert = Alert(error)

ApplicationLibrary/Views/Dashboard/ActiveDashboardView.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public struct ActiveDashboardView: View {
5151
#if os(iOS) || os(tvOS)
5252
if ApplicationLibrary.inPreview || profile.status.isConnectedStrict {
5353
Picker("Page", selection: $selection) {
54-
ForEach(DashboardPage.allCases) { page in
54+
ForEach(DashboardPage.enabledCases()) { page in
5555
page.label
5656
}
5757
}
@@ -61,7 +61,7 @@ public struct ActiveDashboardView: View {
6161
.navigationBarTitleDisplayMode(.inline)
6262
#endif
6363
TabView(selection: $selection) {
64-
ForEach(DashboardPage.enabledCases) { page in
64+
ForEach(DashboardPage.enabledCases()) { page in
6565
page.contentView($profileList, $selectedProfileID, $systemProxyAvailable, $systemProxyEnabled)
6666
.tag(page)
6767
}

ApplicationLibrary/Views/Dashboard/DashboardPage.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,18 @@ public enum DashboardPage: Int, CaseIterable, Identifiable {
1313
}
1414

1515
public extension DashboardPage {
16-
#if !tvOS
17-
static var enabledCases: [DashboardPage] = [
16+
static func enabledCases() -> [DashboardPage] {
17+
var cases: [DashboardPage] = [
1818
.overview,
1919
.groups,
20-
.connections,
2120
]
22-
#else
23-
static var enabledCases: [DashboardPage] = [
24-
.overview,
25-
.groups,
26-
]
27-
#endif
21+
#if !tvOS
22+
if Variant.isBeta {
23+
cases.append(.connections)
24+
}
25+
#endif
26+
return cases
27+
}
2828
}
2929

3030
public extension DashboardPage {

Library/Network/CommandClient.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class CommandClient: ObservableObject {
2222
@Published public var clashModeList: [String]
2323
@Published public var clashMode: String
2424

25-
@Published public var connectionStateFilter = ConnectionStateFilter.all
25+
@Published public var connectionStateFilter = ConnectionStateFilter.active
2626
@Published public var connectionSort = ConnectionSort.byDate
2727
@Published public var connections: [LibboxConnection]?
2828
public var rawConnections: LibboxConnections?

Library/Shared/Variant.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Foundation
2+
import Libbox
23

34
public enum Variant {
45
#if os(macOS)
@@ -14,4 +15,6 @@ public enum Variant {
1415
#elseif os(tvOS)
1516
public static let applicationName = "SFT"
1617
#endif
18+
19+
public static var isBeta = LibboxVersion().contains("-")
1720
}

MacLibrary/SidebarView.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ public struct SidebarView: View {
3535
.tint(.textColor)
3636
.tag(NavigationPage.dashboard)
3737
NavigationPage.groups.label.tag(NavigationPage.groups)
38-
NavigationPage.connections.label.tag(NavigationPage.connections)
38+
if Variant.isBeta {
39+
NavigationPage.connections.label.tag(NavigationPage.connections)
40+
}
3941
}
4042
Divider()
4143
ForEach(NavigationPage.macosDefaultPages, id: \.self) { it in

SFM.System/Application.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import SwiftUI
44

55
@main
66
struct Application: App {
7-
@NSApplicationDelegateAdaptor private var appDelegate: IndependentApplicationDelegate
7+
@NSApplicationDelegateAdaptor private var appDelegate: StandaloneApplicationDelegate
88

99
var body: some Scene {
1010
MacApplication()

SFM.System/IndependentApplicationDelegate.swift renamed to SFM.System/StandaloneApplicationDelegate.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@ import Foundation
33
import Library
44
import MacLibrary
55

6-
class IndependentApplicationDelegate: ApplicationDelegate {
6+
class StandaloneApplicationDelegate: ApplicationDelegate {
77
public func applicationWillFinishLaunching(_: Notification) {
88
Variant.useSystemExtension = true
9+
Variant.isBeta = false
910
Task {
1011
await setupSystemExtension()
1112
}

sing-box.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
3A251C122A52D09700651082 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3AAB5E7A2A4C1446009757F1 /* Assets.xcassets */; };
2424
3A27D9002A89BE230031EBCC /* CommandClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A27D8FF2A89BE230031EBCC /* CommandClient.swift */; };
2525
3A27D9022A89C6870031EBCC /* ExtensionEnvironments.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A27D9012A89C6870031EBCC /* ExtensionEnvironments.swift */; };
26-
3A2EAEED2A6F4CBB00D00DE3 /* IndependentApplicationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A2EAEEC2A6F4CBB00D00DE3 /* IndependentApplicationDelegate.swift */; };
26+
3A2EAEED2A6F4CBB00D00DE3 /* StandaloneApplicationDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A2EAEEC2A6F4CBB00D00DE3 /* StandaloneApplicationDelegate.swift */; };
2727
3A2F29EB2C998A5D007E024C /* Export.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3A2F29EA2C998A5D007E024C /* Export.plist */; };
2828
3A334ED02C0F621E00E9C577 /* ConnectionDetailsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3A334ECF2C0F621E00E9C577 /* ConnectionDetailsView.swift */; };
2929
3A3AA7FC2A4EFDAE002F78AB /* Library.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3AEC211D2A459B4700A63465 /* Library.framework */; };
@@ -482,7 +482,7 @@
482482
3A2223592A6E212A00C50B23 /* SystemExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SystemExtension.swift; sourceTree = "<group>"; };
483483
3A27D8FF2A89BE230031EBCC /* CommandClient.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CommandClient.swift; sourceTree = "<group>"; };
484484
3A27D9012A89C6870031EBCC /* ExtensionEnvironments.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExtensionEnvironments.swift; sourceTree = "<group>"; };
485-
3A2EAEEC2A6F4CBB00D00DE3 /* IndependentApplicationDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndependentApplicationDelegate.swift; sourceTree = "<group>"; };
485+
3A2EAEEC2A6F4CBB00D00DE3 /* StandaloneApplicationDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StandaloneApplicationDelegate.swift; sourceTree = "<group>"; };
486486
3A334ECF2C0F621E00E9C577 /* ConnectionDetailsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionDetailsView.swift; sourceTree = "<group>"; };
487487
3A2F29EA2C998A5D007E024C /* Export.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Export.plist; sourceTree = "<group>"; };
488488
3A334ECF2C0F621E00E9C577 /* ConnectionDetailsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectionDetailsView.swift; sourceTree = "<group>"; };
@@ -1055,7 +1055,7 @@
10551055
3AEECC062A6DF9CA006A0E0C /* Application.swift */,
10561056
3AEECC502A6E0074006A0E0C /* SFM.entitlements */,
10571057
3A2223532A6E1B6700C50B23 /* Info.plist */,
1058-
3A2EAEEC2A6F4CBB00D00DE3 /* IndependentApplicationDelegate.swift */,
1058+
3A2EAEEC2A6F4CBB00D00DE3 /* StandaloneApplicationDelegate.swift */,
10591059
3AABFD462A9CCC58005A24A4 /* Upload.plist */,
10601060
);
10611061
path = SFM.System;
@@ -1741,7 +1741,7 @@
17411741
buildActionMask = 2147483647;
17421742
files = (
17431743
3AEECC072A6DF9CA006A0E0C /* Application.swift in Sources */,
1744-
3A2EAEED2A6F4CBB00D00DE3 /* IndependentApplicationDelegate.swift in Sources */,
1744+
3A2EAEED2A6F4CBB00D00DE3 /* StandaloneApplicationDelegate.swift in Sources */,
17451745
);
17461746
runOnlyForDeploymentPostprocessing = 0;
17471747
};

0 commit comments

Comments
 (0)