Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable StrictConcurrency=complete swift feature flag #260

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
2 changes: 1 addition & 1 deletion ios/NebulaNetworkExtension/PacketTunnelProvider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ extension AppMessageError: LocalizedError {
}
}

class PacketTunnelProvider: NEPacketTunnelProvider {
class PacketTunnelProvider: NEPacketTunnelProvider, @unchecked Sendable {
private var networkMonitor: NWPathMonitor?

private var site: Site?
Expand Down
6 changes: 3 additions & 3 deletions ios/NebulaNetworkExtension/Site.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import os.log
let log = Logger(subsystem: "net.defined.mobileNebula", category: "Site")

enum SiteError: Error {
case nonConforming(site: [String: Any]?)
case nonConforming(site: String)
case noCertificate
case keyLoad
case keySave
Expand All @@ -22,7 +22,7 @@ extension SiteError: CustomStringConvertible {
public var description: String {
switch self {
case .nonConforming(let site):
return String("Non-conforming site \(String(describing: site))")
return String("Non-conforming site \(site)")
case .noCertificate:
return "No certificate found"
case .keyLoad:
Expand Down Expand Up @@ -208,7 +208,7 @@ class Site: Codable {

let id = dict?["id"] as? String ?? nil
if id == nil {
throw SiteError.nonConforming(site: dict)
throw SiteError.nonConforming(site: String(describing: dict))
}

try self.init(path: SiteList.getSiteConfigFile(id: id!, createDir: false))
Expand Down
3 changes: 3 additions & 0 deletions ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -563,6 +563,7 @@
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_UPCOMING_FEATURE_CONCISE_MAGIC_FILE = YES;
SWIFT_UPCOMING_FEATURE_DEPRECATE_APPLICATION_MAIN = YES;
SWIFT_UPCOMING_FEATURE_DISABLE_OUTWARD_ACTOR_ISOLATION = YES;
Expand Down Expand Up @@ -784,6 +785,7 @@
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_UPCOMING_FEATURE_CONCISE_MAGIC_FILE = YES;
SWIFT_UPCOMING_FEATURE_DEPRECATE_APPLICATION_MAIN = YES;
SWIFT_UPCOMING_FEATURE_DISABLE_OUTWARD_ACTOR_ISOLATION = YES;
Expand Down Expand Up @@ -849,6 +851,7 @@
SUPPORTED_PLATFORMS = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
SWIFT_STRICT_CONCURRENCY = complete;
SWIFT_UPCOMING_FEATURE_CONCISE_MAGIC_FILE = YES;
SWIFT_UPCOMING_FEATURE_DEPRECATE_APPLICATION_MAIN = YES;
SWIFT_UPCOMING_FEATURE_DISABLE_OUTWARD_ACTOR_ISOLATION = YES;
Expand Down
2 changes: 1 addition & 1 deletion ios/Runner/AppDelegate.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import Flutter
@preconcurrency import Flutter
import MobileNebula
import NetworkExtension
import SwiftyJSON
Expand Down
6 changes: 3 additions & 3 deletions ios/Runner/Sites.swift
Original file line number Diff line number Diff line change
Expand Up @@ -78,14 +78,14 @@ class Sites {
}
}

class SiteUpdater: NSObject, FlutterStreamHandler {
class SiteUpdater: NSObject, FlutterStreamHandler, @unchecked Sendable {
private var eventSink: FlutterEventSink?
private var eventChannel: FlutterEventChannel
private var site: Site
private var notification: Any?
public var startFunc: (() -> Void)?
private var configFd: Int32? = nil
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these are also formatting changes from SwiftFormat, I can pull them out, but they're small correct changes, so 🤷

private var configObserver: (any DispatchSourceFileSystemObject)? = nil
private var configFd: Int32?
private var configObserver: (any DispatchSourceFileSystemObject)?

init(messenger: any FlutterBinaryMessenger, site: Site) {
do {
Expand Down