You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SwiftCBOR's CBOR type isn't annotated Sendable, so the module currently silences the resulting concurrency diagnostics with @preconcurrency import SwiftCBOR.
@preconcurrencysuppresses the Sendable requirement rather than satisfying it. Under Swift 6 strict concurrency this is an unchecked assumption that CBOR is safe to share across isolation domains — a latent soundness gap, plus tech debt that leaks into the test targets.
Possible resolutions
1Add Sendable conformance to CBOR upstream in SwiftCBOR, then drop the @preconcurrency attribute.
(The decode-crash and library-maintenance topics are separate — already handled by #61 / discussed in #36. This issue is specifically about the Sendable gap.)
Summary
AttestationObjectis apublic struct … : Sendablethat stores the attestation statement as aCBOR:SwiftCBOR's
CBORtype isn't annotatedSendable, so the module currently silences the resulting concurrency diagnostics with@preconcurrency import SwiftCBOR.Affected files
Sources/WebAuthn/Ceremonies/Registration/AttestationObject.swiftTests/WebAuthnTests/Utils/TestModels/TestAttestationObject.swiftTests/WebAuthnTests/Utils/TestModels/TestCredentialPublicKey.swiftWhy this matters
@preconcurrencysuppresses theSendablerequirement rather than satisfying it. Under Swift 6 strict concurrency this is an unchecked assumption thatCBORis safe to share across isolation domains — a latent soundness gap, plus tech debt that leaks into the test targets.Possible resolutions
Sendableconformance toCBORupstream in SwiftCBOR, then drop the@preconcurrencyattribute.Sendable(e.g. edgeengineer/cbor), removing the need for@preconcurrency. See Replace SwiftCBOR with edgeengineer/cbor #126.(The decode-crash and library-maintenance topics are separate — already handled by #61 / discussed in #36. This issue is specifically about the
Sendablegap.)