Skip to content

Commit 3c9ce95

Browse files
committed
fix: widget deployment target 17.0, url.host deprecation, sort connections, CHANGELOG
1 parent 678cb24 commit 3c9ce95

4 files changed

Lines changed: 20 additions & 13 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
### Added
1111

1212
- iOS: connection groups and tags
13+
- iOS: Quick Connect Home Screen widget
1314

1415
## [0.27.4] - 2026-04-05
1516

TableProMobile/TableProMobile.xcodeproj/project.pbxproj

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,7 @@
510510
5AA136042F82610F00ADCD58 /* TableProWidgetExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = TableProWidgetExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
511511
5AA136052F82610F00ADCD58 /* WidgetKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WidgetKit.framework; path = System/Library/Frameworks/WidgetKit.framework; sourceTree = SDKROOT; };
512512
5AA136072F82610F00ADCD58 /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = System/Library/Frameworks/SwiftUI.framework; sourceTree = SDKROOT; };
513+
5AA136322F82675600ADCD58 /* TableProWidgetExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = TableProWidgetExtension.entitlements; sourceTree = "<group>"; };
513514
5AA313342F7EA5B4008EBA97 /* LibPQ.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = LibPQ.xcframework; path = ../Libs/ios/LibPQ.xcframework; sourceTree = "<group>"; };
514515
5AA313352F7EA5B4008EBA97 /* Hiredis.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Hiredis.xcframework; path = ../Libs/ios/Hiredis.xcframework; sourceTree = "<group>"; };
515516
5AA313362F7EA5B4008EBA97 /* OpenSSL-Crypto.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = "OpenSSL-Crypto.xcframework"; path = "../Libs/ios/OpenSSL-Crypto.xcframework"; sourceTree = "<group>"; };
@@ -1618,6 +1619,7 @@
16181619
5AB9F3D02F7C1C12001F3337 = {
16191620
isa = PBXGroup;
16201621
children = (
1622+
5AA136322F82675600ADCD58 /* TableProWidgetExtension.entitlements */,
16211623
5AB9F3DB2F7C1C12001F3337 /* TableProMobile */,
16221624
5AA136092F82610F00ADCD58 /* TableProWidget */,
16231625
5AA313332F7EA5B4008EBA97 /* Frameworks */,
@@ -1777,14 +1779,15 @@
17771779
buildSettings = {
17781780
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
17791781
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
1782+
CODE_SIGN_ENTITLEMENTS = TableProWidgetExtension.entitlements;
17801783
CODE_SIGN_STYLE = Automatic;
17811784
CURRENT_PROJECT_VERSION = 1;
17821785
DEVELOPMENT_TEAM = D7HJ5TFYCU;
17831786
GENERATE_INFOPLIST_FILE = YES;
17841787
INFOPLIST_FILE = TableProWidget/Info.plist;
17851788
INFOPLIST_KEY_CFBundleDisplayName = TableProWidget;
17861789
INFOPLIST_KEY_NSHumanReadableCopyright = "";
1787-
IPHONEOS_DEPLOYMENT_TARGET = 26.5;
1790+
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
17881791
LD_RUNPATH_SEARCH_PATHS = (
17891792
"$(inherited)",
17901793
"@executable_path/Frameworks",
@@ -1808,14 +1811,15 @@
18081811
buildSettings = {
18091812
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
18101813
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME = WidgetBackground;
1814+
CODE_SIGN_ENTITLEMENTS = TableProWidgetExtension.entitlements;
18111815
CODE_SIGN_STYLE = Automatic;
18121816
CURRENT_PROJECT_VERSION = 1;
18131817
DEVELOPMENT_TEAM = D7HJ5TFYCU;
18141818
GENERATE_INFOPLIST_FILE = YES;
18151819
INFOPLIST_FILE = TableProWidget/Info.plist;
18161820
INFOPLIST_KEY_CFBundleDisplayName = TableProWidget;
18171821
INFOPLIST_KEY_NSHumanReadableCopyright = "";
1818-
IPHONEOS_DEPLOYMENT_TARGET = 26.5;
1822+
IPHONEOS_DEPLOYMENT_TARGET = 17.0;
18191823
LD_RUNPATH_SEARCH_PATHS = (
18201824
"$(inherited)",
18211825
"@executable_path/Frameworks",

TableProMobile/TableProMobile/AppState.swift

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -171,16 +171,18 @@ final class AppState {
171171
// MARK: - Widget
172172

173173
private func updateWidgetData() {
174-
let items = connections.map { conn in
175-
WidgetConnectionItem(
176-
id: conn.id,
177-
name: conn.name.isEmpty ? conn.host : conn.name,
178-
type: conn.type.rawValue,
179-
host: conn.host,
180-
port: conn.port,
181-
sortOrder: conn.sortOrder
182-
)
183-
}
174+
let items = connections
175+
.sorted { ($0.sortOrder, $0.name) < ($1.sortOrder, $1.name) }
176+
.map { conn in
177+
WidgetConnectionItem(
178+
id: conn.id,
179+
name: conn.name.isEmpty ? conn.host : conn.name,
180+
type: conn.type.rawValue,
181+
host: conn.host,
182+
port: conn.port,
183+
sortOrder: conn.sortOrder
184+
)
185+
}
184186
SharedConnectionStore.write(items)
185187
WidgetCenter.shared.reloadAllTimelines()
186188
}

TableProMobile/TableProMobile/TableProMobileApp.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ struct TableProMobileApp: App {
2626
}
2727
.onOpenURL { url in
2828
guard url.scheme == "tablepro",
29-
url.host == "connect",
29+
url.host(percentEncoded: false) == "connect",
3030
let uuidString = url.pathComponents.dropFirst().first,
3131
let uuid = UUID(uuidString: uuidString) else { return }
3232
appState.pendingConnectionId = uuid

0 commit comments

Comments
 (0)