diff --git a/DynamicIsland/components/Extensions/ExtensionLockScreenWidgetView.swift b/DynamicIsland/components/Extensions/ExtensionLockScreenWidgetView.swift index 6d0d38b..b4de775 100644 --- a/DynamicIsland/components/Extensions/ExtensionLockScreenWidgetView.swift +++ b/DynamicIsland/components/Extensions/ExtensionLockScreenWidgetView.swift @@ -373,6 +373,9 @@ struct ExtensionWebContentView: NSViewRepresentable { return true } if (scheme == "http" || scheme == "https") { + if allowsRemoteRequests() { + return true + } guard descriptor.allowLocalhostRequests else { return false } @@ -381,6 +384,15 @@ struct ExtensionWebContentView: NSViewRepresentable { } return false } + + private func allowsRemoteRequests() -> Bool { + guard let data = try? JSONEncoder().encode(descriptor), + let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any], + let value = json["allowRemoteRequests"] as? Bool else { + return false + } + return value + } } }