@burnt-labs/expo-satya-attest 3.14.3 → 3.14.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/PUBLISHING.md +5 -5
- package/android/build.gradle +2 -2
- package/android/src/main/jniLibs/arm64-v8a/libsatya_ffi.so +0 -0
- package/android/src/main/jniLibs/armeabi-v7a/libsatya_ffi.so +0 -0
- package/android/src/main/jniLibs/x86_64/libsatya_ffi.so +0 -0
- package/build/sdkMetadata.generated.d.ts +1 -1
- package/build/sdkMetadata.generated.js +1 -1
- package/build/sdkMetadata.generated.js.map +1 -1
- package/build/tee/client.d.ts +1 -1
- package/ios/Frameworks/libsatya_ffi-rs.xcframework/Info.plist +5 -5
- package/ios/Frameworks/libsatya_ffi-rs.xcframework/ios-arm64/libsatya_ffi.a +2 -2
- package/ios/Frameworks/libsatya_ffi-rs.xcframework/ios-arm64_x86_64-simulator/libsatya_ffi.a +2 -2
- package/ios/SatyaAttest.podspec +1 -1
- package/ios/SatyaAttestModule.swift +13 -1
- package/package.json +1 -1
- package/src/sdkMetadata.generated.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.14.4 - 2026-11-09
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- iOS apps that use React Native's prebuilt core (the default for Expo 56 /
|
|
8
|
+
React Native 0.85 builds) failed to compile the SDK with
|
|
9
|
+
`value of type 'UIView' has no member 'reactViewController'`. The connection
|
|
10
|
+
sheet now finds its view controller through UIKit's responder chain, so the
|
|
11
|
+
SDK no longer depends on React Native's `UIView+React` category. Affects
|
|
12
|
+
3.14.0 through 3.14.3.
|
|
13
|
+
|
|
3
14
|
## 3.14.3 - 2026-11-09
|
|
4
15
|
|
|
5
16
|
### Changed
|
package/PUBLISHING.md
CHANGED
|
@@ -12,8 +12,8 @@ for a plug-and-play Expo SDK.
|
|
|
12
12
|
|
|
13
13
|
## Release preparation
|
|
14
14
|
|
|
15
|
-
The prepared version is **3.14.
|
|
16
|
-
|
|
15
|
+
The prepared version is **3.14.4**. This patch fixes the iOS build with prebuilt
|
|
16
|
+
React Native core. See the [consumer changelog](./CHANGELOG.md).
|
|
17
17
|
|
|
18
18
|
Before tagging a stable release, validate the candidate in a consuming app:
|
|
19
19
|
|
|
@@ -271,7 +271,7 @@ internal/module_scripts/
|
|
|
271
271
|
After the release gates pass and publication is authorized, use the consolidated
|
|
272
272
|
`publish-expo-satya-attest.yml` workflow. A stable tag must match the committed
|
|
273
273
|
package version and point to a commit on `main`; for this prepared release the
|
|
274
|
-
package-specific tag is `expo-satya-attest-v3.14.
|
|
274
|
+
package-specific tag is `expo-satya-attest-v3.14.4`. Creating/pushing that tag starts
|
|
275
275
|
publication. Manual workflow dispatch is a dry-run.
|
|
276
276
|
|
|
277
277
|
The workflow builds native artifacts, runs the release checks, and publishes
|
|
@@ -284,11 +284,11 @@ After publication, check the npm version and dist-tag before updating the exampl
|
|
|
284
284
|
## npm Snapshots
|
|
285
285
|
|
|
286
286
|
The snapshot workflow increments the committed patch version in CI and appends
|
|
287
|
-
the run, attempt and source commit. For a package at `3.14.
|
|
287
|
+
the run, attempt and source commit. For a package at `3.14.4`, the resulting
|
|
288
288
|
version has this form:
|
|
289
289
|
|
|
290
290
|
```text
|
|
291
|
-
3.14.
|
|
291
|
+
3.14.5-snapshot.<run>.<attempt>.sha-<commit>
|
|
292
292
|
```
|
|
293
293
|
|
|
294
294
|
Snapshots use the `snapshot` dist-tag so test apps do not need to know the generated
|
package/android/build.gradle
CHANGED
|
@@ -4,14 +4,14 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
group = 'expo.modules.satyaattest'
|
|
7
|
-
version = '3.14.
|
|
7
|
+
version = '3.14.4'
|
|
8
8
|
|
|
9
9
|
android {
|
|
10
10
|
namespace "expo.modules.satyaattest"
|
|
11
11
|
defaultConfig {
|
|
12
12
|
consumerProguardFiles 'consumer-rules.pro'
|
|
13
13
|
versionCode 1
|
|
14
|
-
versionName "3.14.
|
|
14
|
+
versionName "3.14.4"
|
|
15
15
|
// StrongBox key attestation needs API 28+; basic Keystore attestation API 24+.
|
|
16
16
|
minSdkVersion 24
|
|
17
17
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Generated by internal/module_scripts/sync-sdk-metadata.js.
|
|
2
2
|
export const EXPO_SATYA_ATTEST_SDK_NAME = '@burnt-labs/expo-satya-attest';
|
|
3
|
-
export const EXPO_SATYA_ATTEST_SDK_VERSION = '3.14.
|
|
3
|
+
export const EXPO_SATYA_ATTEST_SDK_VERSION = '3.14.4';
|
|
4
4
|
//# sourceMappingURL=sdkMetadata.generated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkMetadata.generated.js","sourceRoot":"","sources":["../src/sdkMetadata.generated.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAAwC,CAAC;AACnF,MAAM,CAAC,MAAM,6BAA6B,GAAG,QAAiB,CAAC","sourcesContent":["// Generated by internal/module_scripts/sync-sdk-metadata.js.\nexport const EXPO_SATYA_ATTEST_SDK_NAME = '@burnt-labs/expo-satya-attest' as const;\nexport const EXPO_SATYA_ATTEST_SDK_VERSION = '3.14.
|
|
1
|
+
{"version":3,"file":"sdkMetadata.generated.js","sourceRoot":"","sources":["../src/sdkMetadata.generated.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,CAAC,MAAM,0BAA0B,GAAG,+BAAwC,CAAC;AACnF,MAAM,CAAC,MAAM,6BAA6B,GAAG,QAAiB,CAAC","sourcesContent":["// Generated by internal/module_scripts/sync-sdk-metadata.js.\nexport const EXPO_SATYA_ATTEST_SDK_NAME = '@burnt-labs/expo-satya-attest' as const;\nexport const EXPO_SATYA_ATTEST_SDK_VERSION = '3.14.4' as const;\n"]}
|
package/build/tee/client.d.ts
CHANGED
|
@@ -110,6 +110,6 @@ export interface TeeSubmissionEnvelope {
|
|
|
110
110
|
sdkSessionId?: string;
|
|
111
111
|
}
|
|
112
112
|
export declare function teeSubmissionEnvelope(appId: string, artifacts: readonly string[], sdkSessionId?: string, schemaVersion?: '3.0.0' | '3.1.0'): TeeSubmissionEnvelope;
|
|
113
|
-
export declare const SDK_VERSION: "3.14.
|
|
113
|
+
export declare const SDK_VERSION: "3.14.4";
|
|
114
114
|
export type { SatyaTeeSessionContext };
|
|
115
115
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -10,18 +10,15 @@
|
|
|
10
10
|
<key>HeadersPath</key>
|
|
11
11
|
<string>Headers</string>
|
|
12
12
|
<key>LibraryIdentifier</key>
|
|
13
|
-
<string>ios-
|
|
13
|
+
<string>ios-arm64</string>
|
|
14
14
|
<key>LibraryPath</key>
|
|
15
15
|
<string>libsatya_ffi.a</string>
|
|
16
16
|
<key>SupportedArchitectures</key>
|
|
17
17
|
<array>
|
|
18
18
|
<string>arm64</string>
|
|
19
|
-
<string>x86_64</string>
|
|
20
19
|
</array>
|
|
21
20
|
<key>SupportedPlatform</key>
|
|
22
21
|
<string>ios</string>
|
|
23
|
-
<key>SupportedPlatformVariant</key>
|
|
24
|
-
<string>simulator</string>
|
|
25
22
|
</dict>
|
|
26
23
|
<dict>
|
|
27
24
|
<key>BinaryPath</key>
|
|
@@ -29,15 +26,18 @@
|
|
|
29
26
|
<key>HeadersPath</key>
|
|
30
27
|
<string>Headers</string>
|
|
31
28
|
<key>LibraryIdentifier</key>
|
|
32
|
-
<string>ios-
|
|
29
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
33
30
|
<key>LibraryPath</key>
|
|
34
31
|
<string>libsatya_ffi.a</string>
|
|
35
32
|
<key>SupportedArchitectures</key>
|
|
36
33
|
<array>
|
|
37
34
|
<string>arm64</string>
|
|
35
|
+
<string>x86_64</string>
|
|
38
36
|
</array>
|
|
39
37
|
<key>SupportedPlatform</key>
|
|
40
38
|
<string>ios</string>
|
|
39
|
+
<key>SupportedPlatformVariant</key>
|
|
40
|
+
<string>simulator</string>
|
|
41
41
|
</dict>
|
|
42
42
|
</array>
|
|
43
43
|
<key>CFBundlePackageType</key>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/ios/Frameworks/libsatya_ffi-rs.xcframework/ios-arm64/libsatya_ffi.a
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 42195760 bytes
|
|
4
|
+
sha256: 45a3593b716c69fdea53448bb5c8acc17bd151f3643942d507f1546034d50bf2
|
package/ios/Frameworks/libsatya_ffi-rs.xcframework/ios-arm64_x86_64-simulator/libsatya_ffi.a
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/ios/Frameworks/libsatya_ffi-rs.xcframework/ios-arm64_x86_64-simulator/libsatya_ffi.a
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 83625024 bytes
|
|
4
|
+
sha256: a0c74c10d8357721f4efe38e2f2fe6cfe7adb45bbdfd6980a25de61216f8db81
|
package/ios/SatyaAttest.podspec
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Pod::Spec.new do |s|
|
|
2
2
|
s.name = 'SatyaAttest'
|
|
3
|
-
s.version = '3.14.
|
|
3
|
+
s.version = '3.14.4'
|
|
4
4
|
s.summary = 'SATYA-W mobile TLS app-attestation (App Attest + Secure Enclave) backed by the Rust satya-sdk core'
|
|
5
5
|
s.description = 'Expo native module wrapping the Rust satya-ffi XCFramework and layering iOS App Attest + Secure Enclave platform attestation.'
|
|
6
6
|
s.author = 'Justin'
|
|
@@ -7,6 +7,18 @@ import UIKit
|
|
|
7
7
|
import WebKit
|
|
8
8
|
import os
|
|
9
9
|
|
|
10
|
+
// Nearest view controller in the responder chain. Mirrors React Native's
|
|
11
|
+
// `reactViewController()` without depending on React's UIView category, which
|
|
12
|
+
// is not visible to this module when the app uses prebuilt React Native core.
|
|
13
|
+
private func owningViewController(of view: UIView) -> UIViewController? {
|
|
14
|
+
var responder: UIResponder? = view
|
|
15
|
+
while let current = responder {
|
|
16
|
+
if let controller = current as? UIViewController { return controller }
|
|
17
|
+
responder = current.next
|
|
18
|
+
}
|
|
19
|
+
return nil
|
|
20
|
+
}
|
|
21
|
+
|
|
10
22
|
// Keep buffered iOS bodies conservative while JSON/regex extraction makes full-body copies.
|
|
11
23
|
private let kMaxResponseBodyBytes = 16 * 1024 * 1024
|
|
12
24
|
// Independent raw-response work budget; revealed values use NativeRevealBudget.
|
|
@@ -62,7 +74,7 @@ public class SatyaAttestModule: Module {
|
|
|
62
74
|
AsyncFunction("sizeConnectionSheet") { (viewTag: Int) in
|
|
63
75
|
guard #available(iOS 16.0, *),
|
|
64
76
|
let view = self.appContext?.findView(withTag: viewTag, ofType: UIView.self),
|
|
65
|
-
let controller = view
|
|
77
|
+
let controller = owningViewController(of: view),
|
|
66
78
|
controller.modalPresentationStyle == .pageSheet,
|
|
67
79
|
let sheet = controller.sheetPresentationController
|
|
68
80
|
else { return }
|
package/package.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Generated by internal/module_scripts/sync-sdk-metadata.js.
|
|
2
2
|
export const EXPO_SATYA_ATTEST_SDK_NAME = '@burnt-labs/expo-satya-attest' as const;
|
|
3
|
-
export const EXPO_SATYA_ATTEST_SDK_VERSION = '3.14.
|
|
3
|
+
export const EXPO_SATYA_ATTEST_SDK_VERSION = '3.14.4' as const;
|