diff --git a/Configuration/AppStoreBuildNumber.xcconfig b/Configuration/AppStoreBuildNumber.xcconfig index c4399ccdf0..df460f6a47 100644 --- a/Configuration/AppStoreBuildNumber.xcconfig +++ b/Configuration/AppStoreBuildNumber.xcconfig @@ -1 +1 @@ -CURRENT_PROJECT_VERSION = 68 +CURRENT_PROJECT_VERSION = 69 diff --git a/Configuration/Version.xcconfig b/Configuration/Version.xcconfig index 90637008a7..cf29dc99d3 100644 --- a/Configuration/Version.xcconfig +++ b/Configuration/Version.xcconfig @@ -1 +1 @@ -MARKETING_VERSION = 1.61.0 +MARKETING_VERSION = 1.60.1 diff --git a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 39354ec454..61061163db 100644 --- a/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -23,8 +23,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/duckduckgo/content-scope-scripts", "state" : { - "revision" : "aa279a3b006a0b1e009707311283c7fcaed24fb7", - "version" : "4.39.0" + "revision" : "254b23cf292140498650421bb31fd05740f4579b", + "version" : "4.40.0" } }, { @@ -129,7 +129,7 @@ { "identity" : "trackerradarkit", "kind" : "remoteSourceControl", - "location" : "https://github.com/duckduckgo/TrackerRadarKit", + "location" : "https://github.com/duckduckgo/TrackerRadarKit.git", "state" : { "revision" : "4684440d03304e7638a2c8086895367e90987463", "version" : "1.2.1" diff --git a/DuckDuckGo/Tab/Model/Tab+UIDelegate.swift b/DuckDuckGo/Tab/Model/Tab+UIDelegate.swift index c87cd89b93..c6bd9c42a5 100644 --- a/DuckDuckGo/Tab/Model/Tab+UIDelegate.swift +++ b/DuckDuckGo/Tab/Model/Tab+UIDelegate.swift @@ -78,7 +78,7 @@ extension Tab: WKUIDelegate, PrintingUserScriptDelegate { windowFeatures: WKWindowFeatures, completionHandler: @escaping (WKWebView?) -> Void) { - switch newWindowPolicy(for: navigationAction) { + switch newWindowPolicy(for: navigationAction, windowFeatures: windowFeatures) { // popup kind is known, action doesn‘t require Popup Permission case .allow(let targetKind): // proceed to web view creation @@ -123,7 +123,7 @@ extension Tab: WKUIDelegate, PrintingUserScriptDelegate { } } - private func newWindowPolicy(for navigationAction: WKNavigationAction) -> NavigationDecision? { + private func newWindowPolicy(for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> NavigationDecision? { if let newWindowPolicy = self.decideNewWindowPolicy(for: navigationAction) { return newWindowPolicy } @@ -134,6 +134,16 @@ extension Tab: WKUIDelegate, PrintingUserScriptDelegate { return newWindowPolicy } + // This is a temporary fix for macOS 14.1 WKWindowFeatures being empty when opening a new regular tab + // Instead of defaulting to no policy, we default to tab policy, and allow popups in some limited scenarios. + // See https://app.asana.com/0/1177771139624306/1205690527704551/f. + if #available(macOS 14.1, *) { + if windowFeatures.statusBarVisibility != nil || windowFeatures.menuBarVisibility != nil { + return nil + } + return .allow(.tab(selected: true, burner: burnerMode.isBurner)) + } + // allow popups opened from an empty window console let sourceUrl = navigationAction.safeSourceFrame?.safeRequest?.url ?? self.url ?? .empty if sourceUrl.isEmpty || sourceUrl.scheme == URL.NavigationalScheme.about.rawValue {