Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ public final class RetryableGraphQLOperation<Payload: Decodable> {

}

public final class RetryableGraphQLSubscriptionOperation<Payload: Decodable> {
public final class RetryableGraphQLSubscriptionOperation<Payload> where Payload: Decodable, Payload: Sendable {

public typealias Payload = Payload
public typealias SubscriptionEvents = GraphQLSubscriptionEvent<Payload>
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/API/Response/GraphQLError.swift
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public struct GraphQLError: Decodable {
extension GraphQLError {

/// Both `line` and `column` are positive numbers describing the beginning of an associated syntax element
public struct Location: Decodable {
public struct Location: Decodable, @unchecked Sendable {

/// The line describing the associated syntax element
public let line: Int
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/API/Response/GraphQLResponse.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public typealias GraphQLResponse<ResponseType: Decodable> =
Result<ResponseType, GraphQLResponseError<ResponseType>>

/// An error response from a GraphQL API
public enum GraphQLResponseError<ResponseType: Decodable>: AmplifyError {
public enum GraphQLResponseError<ResponseType>: AmplifyError where ResponseType: Sendable, ResponseType: Decodable {

/// An error response. The associated value will be an array of GraphQLError objects that contain service-specific
/// error messages. https://graphql.github.io/graphql-spec/June2018/#sec-Errors
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/DataStore/DataStoreConflict.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
//

/// Information about a conflict that occurred attempting to sync a local model with a remote model
public struct DataStoreSyncConflict {
public struct DataStoreSyncConflict: @unchecked Sendable {
public let localModel: Model
public let remoteModel: Model
public let errors: [GraphQLError]?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import Foundation
/// application making any change to these `public` types should be backward compatible, otherwise it will be a breaking
/// change.
public struct ModelListDecoderRegistry {
public static var listDecoders = AtomicValue(initialValue: [ModelListDecoder.Type]())
nonisolated(unsafe) public static var listDecoders = AtomicValue(initialValue: [ModelListDecoder.Type]())

/// Register a decoder during plugin configuration time, to allow runtime retrievals of list providers.
public static func registerDecoder(_ listDecoder: ModelListDecoder.Type) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import Foundation
/// application making any change to these `public` types should be backward compatible, otherwise it will be a breaking
/// change.
public struct ModelProviderRegistry {
static var decoders = AtomicValue(initialValue: [ModelProviderDecoder.Type]())
nonisolated(unsafe) static var decoders = AtomicValue(initialValue: [ModelProviderDecoder.Type]())

/// Register a decoder during plugin configuration time, to allow runtime retrievals of model providers.
public static func registerDecoder(_ decoder: ModelProviderDecoder.Type) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ public struct ModelRegistry {
/// ModelDecoders are used to decode untyped model data, looking up by model name
private typealias ModelDecoder = (String, JSONDecoder?) throws -> Model

private static var modelTypes = [ModelName: Model.Type]()
nonisolated(unsafe) private static var modelTypes = [ModelName: Model.Type]()

private static var modelDecoders = [ModelName: ModelDecoder]()
nonisolated(unsafe) private static var modelDecoders = [ModelName: ModelDecoder]()

private static var modelSchemaMapping = [ModelName: ModelSchema]()
nonisolated(unsafe) private static var modelSchemaMapping = [ModelName: ModelSchema]()

public static var models: [Model.Type] {
concurrencyQueue.sync {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ import Foundation
///
/// - Warning: Although this has `public` access, it is intended for internal & codegen use and should not be used
/// directly by host applications. The behavior of this may change without warning.
public enum ModelAssociation {
public enum ModelAssociation: @unchecked Sendable {
case hasMany(associatedFieldName: String?, associatedFieldNames: [String] = [])
case hasOne(associatedFieldName: String?, associatedFieldNames: [String] = [], targetNames: [String])
case belongsTo(associatedFieldName: String?, targetNames: [String])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import Foundation
///
/// let yesterday = Temporal.Date.now() - .days(1)
/// let sixMonthsAgo = Temporal.Date.now() - .months(6)
public struct DateUnit {
public struct DateUnit: @unchecked Sendable {
let calendarComponent: Calendar.Component
let value: Int

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ extension Temporal {
// of the formatter cache dictionary.
//
// DateFormatter itself is thread safe.
private static var formatterCache: [String: DateFormatter] = [:]
nonisolated(unsafe) private static var formatterCache: [String: DateFormatter] = [:]

@usableFromInline
/// The `Calendar` used for date operations.
Expand All @@ -26,7 +26,7 @@ extension Temporal {
}()

/// Pointer to lock to ensure exclusive access.
private static let lock: UnsafeMutablePointer<os_unfair_lock> = {
nonisolated(unsafe) private static let lock: UnsafeMutablePointer<os_unfair_lock> = {
let pointer = UnsafeMutablePointer<os_unfair_lock>.allocate(capacity: 1)
pointer.initialize(to: os_unfair_lock())
return pointer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

import Foundation

public struct TemporalFormat {
public struct TemporalFormat: @unchecked Sendable {
let dateFormat: String
let dateTimeFormat: String
let timeFormat: String
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import Foundation
/// - Attention: **Don't** use `TimeUnit` to calculate dates, use `DateUnit` instead.
/// Also make sure to use the most applicable `Unit`, e.g. don't use `.minutes(60)` if you really want `.hours(1)`.
/// There are not always 24 hours in a day, 60 minutes in an hour, etc.
public struct TimeUnit {
public struct TimeUnit: @unchecked Sendable {
public let calendarComponent: Calendar.Component
public let value: Int

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Foundation

/// A snapshot of the items from DataStore, the changes since last snapshot, and whether this model has
/// finished syncing and subscriptions are active
public struct DataStoreQuerySnapshot<M> where M: Model, M: Sendable {
public struct DataStoreQuerySnapshot<M>: @unchecked Sendable {

/// All model instances from the local store
public let items: [M]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@

// MARK: - ModelSchema

public static let schema = defineSchema { definition in
nonisolated(unsafe) public static let schema = defineSchema { definition in
let mutation = MutationEvent.keys

definition.listPluralName = "MutationEvents"
Expand All @@ -32,7 +32,7 @@
definition.attributes(.isSystem)

definition.fields(
.id(),

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for macOS / Build Amplify-Build | macOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for visionOS / Build Amplify-Package | visionOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for watchOS / Build Amplify-Package | watchOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for iOS / Build Amplify-Package | iOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for macOS / Build Amplify-Package | macOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for tvOS / Build Amplify-Package | tvOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for tvOS / Build Amplify-Package | tvOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for macOS / Build Amplify-Build | macOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for tvOS / Build Amplify-Build | tvOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for watchOS / Build Amplify-Build | watchOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for watchOS / Build Amplify-Build | watchOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for iOS / Build Amplify-Build | iOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for iOS / Build Amplify-Build | iOS

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / AWSCloudWatchLoggingPlugin Unit Tests / watchOS Tests | AWSCloudWatchLoggingPlugin / watchOS Tests | AWSCloudWatchLoggingPlugin

'id' is deprecated: Use .primaryKey(fields:)

Check warning on line 35 in Amplify/Categories/DataStore/Subscribe/MutationEvent+Schema.swift

View workflow job for this annotation

GitHub Actions / AWSCognitoAuthPlugin Unit Tests / iOS Tests | AWSCognitoAuthPlugin / iOS Tests | AWSCognitoAuthPlugin

'id' is deprecated: Use .primaryKey(fields:)
.field(mutation.modelId, is: .required, ofType: .string),
.field(mutation.modelName, is: .required, ofType: .string),
.field(mutation.json, is: .required, ofType: .string),
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Geo/Types/Geo+Country.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Foundation

public extension Geo {
/// Country codes for use with Amplify Geo.
struct Country {
struct Country: @unchecked Sendable {
public let code: String
public let description: String
}
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Hub/HubCategoryBehavior+Combine.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ typealias HubSubject = PassthroughSubject<HubPayload, Never>
/// Maintains a map of Subjects by Hub Channel. All downstream subscribers will
/// attach to the same Subject.
private struct HubSubjectMap {
static var `default` = HubSubjectMap()
nonisolated(unsafe) static var `default` = HubSubjectMap()
var subjectsByChannel = AtomicValue<[HubChannel: HubSubject]>(initialValue: [:])
}

Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Hub/HubChannel.swift
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public enum HubChannel {
case custom(String)

/// Convenience property to return an array of all non-`custom` channels
static var amplifyChannels: [HubChannel] = {
nonisolated(unsafe) static var amplifyChannels: [HubChannel] = {
let categoryChannels = CategoryType
.allCases
.sorted { $0.displayName < $1.displayName }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ extension PredictionsError {
}
}

extension PredictionsError.ClientError {
extension PredictionsError.ClientError: @unchecked Sendable {
public static let imageNotFound = Self(
description: "Something was wrong with the image file, make sure it exists.",
recoverySuggestion: "Try choosing an image and sending it again."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import Foundation

extension PredictionsError {
public struct ServiceError: Equatable {
public struct ServiceError: Equatable, @unchecked Sendable {
public static func == (lhs: PredictionsError.ServiceError, rhs: PredictionsError.ServiceError) -> Bool {
lhs.description == rhs.description
&& lhs.recoverySuggestion == rhs.recoverySuggestion
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Predictions/Models/Emotion+Kind.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
extension Predictions.Emotion {
/// Different emotion types returned as a result of
/// identify() API call
public struct Kind: Equatable {
public struct Kind: Equatable, @unchecked Sendable {
let id: UInt8

public static let unknown = Self(id: 0)
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Predictions/Models/Entity+Kind.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
extension Predictions.Entity {
/// Different entity types detected in a text as a result of
/// interpret() API
public struct Kind: Equatable, Hashable {
public struct Kind: Equatable, Hashable, @unchecked Sendable {
let id: UInt8

public static let unknown = Self(id: 0)
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Predictions/Models/Gender.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
extension Predictions {
/// Describes gender of an entity identified as a result of
/// identify() API
public struct Gender {
public struct Gender: @unchecked Sendable {
let id: UInt8

public static let unknown = Self(id: 0)
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Predictions/Models/LabelType.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
//

extension Predictions {
public struct LabelType: Equatable {
public struct LabelType: Equatable, @unchecked Sendable {
let id: UInt8

public static let all = Self(id: 0)
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Predictions/Models/Landmark.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ extension Predictions {

extension Predictions.Landmark {
/// different types of facial features
public struct Kind {
public struct Kind: @unchecked Sendable {
let id: UInt8

public static let allPoints = Self(id: 0)
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Predictions/Models/Language.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

extension Predictions {
// swiftlint:disable file_length type_body_length
public struct Language: Equatable, Decodable {
public struct Language: Equatable, Decodable, @unchecked Sendable {
public let code: String

public init(code: String) {
Expand Down Expand Up @@ -2398,7 +2398,7 @@

extension Predictions.Language {
public init(locale: Locale) {
guard let languageCode = locale.languageCode else {

Check warning on line 2401 in Amplify/Categories/Predictions/Models/Language.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for visionOS / Build Amplify-Package | visionOS

'languageCode' was deprecated in visionOS 1.0: renamed to 'language.languageCode.identifier'
self = .undetermined
return
}
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Categories/Predictions/Models/PartOfSpeech.swift
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import Foundation

extension Predictions {
/// Part of speech identified in a text from interpret() API
public struct PartOfSpeech: Equatable {
public struct PartOfSpeech: Equatable, @unchecked Sendable {
let description: String

public static let adjective = Self(description: "adjective")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import Foundation

extension Predictions.Sentiment {
public struct Kind: Equatable, Hashable {
public struct Kind: Equatable, Hashable, @unchecked Sendable {
let id: UInt8

public static let unknown = Self(id: 0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
extension Predictions {
/// Describes different text formats passed a type parameter
/// to identify().
public struct TextFormatType: Equatable {
public struct TextFormatType: Equatable, @unchecked Sendable {
let id: UInt8

public static let all = Self(id: 0)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ extension Predictions.Identify {
}

extension Predictions.Identify.Request where Output == Predictions.Identify.Celebrities.Result {
public static let celebrities = Self(
nonisolated(unsafe) public static let celebrities = Self(
kind: .detectCelebrities(.lift)
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ extension Predictions.Identify {
}

extension Predictions.Identify.Request where Output == Predictions.Identify.Entities.Result {
public static let entities = Self(
nonisolated(unsafe) public static let entities = Self(
kind: .detectEntities(.lift)
)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ extension Predictions.Identify {
}

extension Predictions.Identify.Request where Output == Predictions.Identify.Text.Result {
public static let text = Self(
nonisolated(unsafe) public static let text = Self(
kind: .detectText(.lift)
)
}
4 changes: 0 additions & 4 deletions Amplify/Categories/Storage/Result/StorageListResult.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
/// - Tag: StorageListResult.items
public var items: [Item]


Check warning on line 35 in Amplify/Categories/Storage/Result/StorageListResult.swift

View workflow job for this annotation

GitHub Actions / run-swiftlint

Limit vertical whitespace to a single empty line; currently 2 (vertical_whitespace)
/// Array of excluded subpaths in the Result.
/// This field is only populated when [`StorageListRequest.Options.subpathStrategy`](x-source-tag://StorageListRequestOptions.subpathStragegy) is set to [`.exclude()`](x-source-tag://SubpathStrategy.exclude).
///
Expand All @@ -49,8 +49,6 @@
public let nextToken: String?
}

extension StorageListResult: Sendable { }

extension StorageListResult {

/// - Tag: StorageListResultItem
Expand Down Expand Up @@ -124,5 +122,3 @@
}
}
}

extension StorageListResult.Item: Sendable { }
2 changes: 1 addition & 1 deletion Amplify/Core/Configuration/AmplifyOutputsData.swift
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ public struct AmplifyOutputsData: Codable {
// MARK: - Configure

/// Represents helper methods to configure with Amplify CLI Gen2 configuration.
public struct AmplifyOutputs {
public struct AmplifyOutputs: @unchecked Sendable {

/// A closure that resolves the `AmplifyOutputsData` configuration
@_spi(InternalAmplifyConfiguration)
Expand Down
2 changes: 1 addition & 1 deletion Amplify/Core/Support/AmplifyTesting.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import Foundation
enum AmplifyTesting {

/// Instance factory to use during testing.
private static var instanceFactory: InstanceFactory?
nonisolated(unsafe) private static var instanceFactory: InstanceFactory?

/// Indicates if XCTest is running.
private static var isTesting: Bool {
Expand Down
2 changes: 2 additions & 0 deletions Amplify/Core/Support/JSONValue.swift
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ extension JSONValue: Codable {

extension JSONValue: Equatable { }

extension JSONValue: @unchecked Sendable { }

extension JSONValue: ExpressibleByArrayLiteral {
public init(arrayLiteral elements: JSONValue...) {
self = .array(elements)
Expand Down
2 changes: 1 addition & 1 deletion Amplify/DevMenu/Amplify+DevMenu.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import Foundation
/// Extension of `Amplify` for supporting Developer Menu feature
extension Amplify {
#if os(iOS) && !os(visionOS)
static var devMenu: AmplifyDevMenu?
nonisolated(unsafe) static var devMenu: AmplifyDevMenu?

@MainActor
public static func enableDevMenu(contextProvider: DevMenuPresentationContextProvider) {
Expand Down
2 changes: 1 addition & 1 deletion Amplify/DevMenu/Trigger/LongPressGestureRecognizer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import UIKit

/// A class for recognizing long press gesture which notifies a `TriggerDelegate` of the event
class LongPressGestureRecognizer: NSObject, TriggerRecognizer, UIGestureRecognizerDelegate {
class LongPressGestureRecognizer: NSObject, @preconcurrency TriggerRecognizer, UIGestureRecognizerDelegate {

Check warning on line 13 in Amplify/DevMenu/Trigger/LongPressGestureRecognizer.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for visionOS / Build Amplify-Package | visionOS

@preconcurrency attribute on conformance to 'TriggerRecognizer' has no effect

Check warning on line 13 in Amplify/DevMenu/Trigger/LongPressGestureRecognizer.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for visionOS / Build Amplify-Package | visionOS

@preconcurrency attribute on conformance to 'TriggerRecognizer' has no effect

Check warning on line 13 in Amplify/DevMenu/Trigger/LongPressGestureRecognizer.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for iOS / Build Amplify-Package | iOS

@preconcurrency attribute on conformance to 'TriggerRecognizer' has no effect

Check warning on line 13 in Amplify/DevMenu/Trigger/LongPressGestureRecognizer.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for iOS / Build Amplify-Package | iOS

@preconcurrency attribute on conformance to 'TriggerRecognizer' has no effect

Check warning on line 13 in Amplify/DevMenu/Trigger/LongPressGestureRecognizer.swift

View workflow job for this annotation

GitHub Actions / Build Amplify Swift for iOS / Build Amplify-Build | iOS

@preconcurrency attribute on conformance to 'TriggerRecognizer' has no effect

Check warning on line 13 in Amplify/DevMenu/Trigger/LongPressGestureRecognizer.swift

View workflow job for this annotation

GitHub Actions / AWSCognitoAuthPlugin Unit Tests / iOS Tests | AWSCognitoAuthPlugin / iOS Tests | AWSCognitoAuthPlugin

@preconcurrency attribute on conformance to 'TriggerRecognizer' has no effect

weak var triggerDelegate: TriggerDelegate?
weak var uiWindow: UIWindow?
Expand Down
1 change: 1 addition & 0 deletions Amplify/DevMenu/View/DetailViewFactory.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import SwiftUI
/// A factory to create detail views based on `DevMenuItemType`
class DetailViewFactory {

@MainActor
static func getDetailView(type: DevMenuItemType) -> AnyView {
switch type {
case .deviceInformation:
Expand Down
Loading
Loading