rnxsim 0.1.457 → 0.1.459
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/cli/bridge-flow-runner.ts +13 -10
- package/cli/commands/inspect/actions.ts +20 -127
- package/cli/commands/inspect/core.ts +4 -19
- package/cli/commands/inspect/keyboard.ts +1 -0
- package/cli/commands/inspect/resolve-target.ts +3 -1
- package/cli/commands/inspect.ts +2 -0
- package/detox/index.ts +12 -1
- package/dist-lib/agent-daemon-client.cjs +1 -1
- package/dist-lib/agent-events.cjs +1 -1
- package/dist-lib/agent-identity.cjs +1 -1
- package/dist-lib/agent-sessions.cjs +1 -1
- package/dist-lib/attached-projects.cjs +1 -1
- package/dist-lib/auth/shared-session.cjs +1 -1
- package/dist-lib/backend-origin.cjs +1 -1
- package/dist-lib/beta.cjs +1 -1
- package/dist-lib/beta.mjs +1 -1
- package/dist-lib/bridge-constants.cjs +1 -1
- package/dist-lib/bridge-contract-input.cjs +24 -3
- package/dist-lib/bridge-contract-input.mjs +22 -2
- package/dist-lib/bridge-contract.cjs +1 -1
- package/dist-lib/bridge-contract.mjs +1 -1
- package/dist-lib/capture-contract.cjs +1 -1
- package/dist-lib/capture-contract.mjs +1 -1
- package/dist-lib/cli-constants.cjs +1 -1
- package/dist-lib/cloud-contract.cjs +1 -1
- package/dist-lib/cloud-contract.mjs +1 -1
- package/dist-lib/cloud.cjs +1 -1
- package/dist-lib/cloud.mjs +1 -1
- package/dist-lib/config.cjs +1 -1
- package/dist-lib/detox/index.cjs +15 -2
- package/dist-lib/dev-bundle-resolution.cjs +1 -1
- package/dist-lib/home-paths.cjs +1 -1
- package/dist-lib/host/bridge-host.cjs +1 -1
- package/dist-lib/host/fetch-proxy-handler.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.cjs +1 -1
- package/dist-lib/host/fetch-proxy-overrides.mjs +1 -1
- package/dist-lib/host/replacement-module-handler.cjs +1 -1
- package/dist-lib/host/websocket-proxy.cjs +1 -1
- package/dist-lib/index.cjs +26 -72
- package/dist-lib/jump-to-source-babel.cjs +1 -1
- package/dist-lib/jump-to-source-native.cjs +1 -1
- package/dist-lib/menu.cjs +1 -1
- package/dist-lib/menu.mjs +1 -1
- package/dist-lib/metro-fingerprint-registry.cjs +1 -1
- package/dist-lib/metro-fingerprint-registry.mjs +1 -1
- package/dist-lib/metro-production-bundle.cjs +1 -1
- package/dist-lib/metro-production-bundle.mjs +1 -1
- package/dist-lib/metro.cjs +1 -1
- package/dist-lib/profiles.cjs +1 -1
- package/dist-lib/public-brand.cjs +1 -1
- package/dist-lib/react-native-host-modules.cjs +1 -1
- package/dist-lib/react-native-host-modules.mjs +1 -1
- package/dist-lib/render-mode.cjs +1 -1
- package/dist-lib/scripts/dev-server-scanner.cjs +1 -1
- package/dist-lib/sdk.cjs +26 -72
- package/dist-lib/sdk.mjs +26 -72
- package/dist-lib/skills.cjs +788 -160
- package/dist-lib/vite.cjs +1 -1
- package/package.json +1 -1
- package/src/bridge-contract-input.ts +22 -2
- package/src/sim-client.ts +14 -2
package/dist-lib/skills.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! rnx v0.1.
|
|
1
|
+
/*! rnx v0.1.459 | (c) 2026 Tamagui LLC | Proprietary — see LICENSE */
|
|
2
2
|
let __sootsim_import_meta_url = ''; try { __sootsim_import_meta_url = require('url').pathToFileURL(__filename).href; } catch {}
|
|
3
3
|
"use strict";
|
|
4
4
|
var __create = Object.create;
|
|
@@ -505,6 +505,9 @@ function softwareChromeLaunchOptions(opts) {
|
|
|
505
505
|
return software;
|
|
506
506
|
}
|
|
507
507
|
function chromeLaunchOptions(opts = {}, runtime = currentRuntime()) {
|
|
508
|
+
if (signalShutdownClaimed) {
|
|
509
|
+
opts = { ...opts, handleSIGINT: false, handleSIGTERM: false, handleSIGHUP: false };
|
|
510
|
+
}
|
|
508
511
|
return softwareChromeAllowed(runtime) ? softwareChromeLaunchOptions(opts) : gpuChromeLaunchOptions(opts, runtime);
|
|
509
512
|
}
|
|
510
513
|
async function launchReapedChrome(launch3, opts = {}, rendererTarget, policy = {}) {
|
|
@@ -3845,118 +3848,270 @@ var init_supported_native_packages = __esm({
|
|
|
3845
3848
|
SUPPORTED_NATIVE_PACKAGE_NAMES = [
|
|
3846
3849
|
"@adobe/react-native-aepcore",
|
|
3847
3850
|
// coverage
|
|
3851
|
+
"@ankipro/react-native-file-open",
|
|
3852
|
+
// seam
|
|
3848
3853
|
"@aptabase/react-native",
|
|
3849
|
-
// coverage
|
|
3854
|
+
// seam+coverage
|
|
3855
|
+
"@attarchi/react-native-lottie-splash-screen",
|
|
3856
|
+
// seam
|
|
3857
|
+
"@bacons/apple-targets",
|
|
3858
|
+
// seam
|
|
3859
|
+
"@baronha/ting",
|
|
3860
|
+
// seam
|
|
3850
3861
|
"@bitdrift/react-native",
|
|
3851
3862
|
// coverage
|
|
3863
|
+
"@bittingz/expo-widgets",
|
|
3864
|
+
// seam
|
|
3865
|
+
"@braze/react-native-sdk",
|
|
3866
|
+
// seam
|
|
3867
|
+
"@bsky.app/expo-image-crop-tool",
|
|
3868
|
+
// seam
|
|
3852
3869
|
"@bsky.app/react-native-mmkv",
|
|
3853
|
-
// coverage
|
|
3870
|
+
// seam+coverage
|
|
3854
3871
|
"@bugfender/rn-bugfender",
|
|
3855
|
-
// coverage
|
|
3872
|
+
// seam+coverage
|
|
3856
3873
|
"@bugsnag/react-native",
|
|
3857
3874
|
// coverage
|
|
3858
3875
|
"@bugsnag/react-native-performance",
|
|
3859
3876
|
// coverage
|
|
3877
|
+
"@callstack/liquid-glass",
|
|
3878
|
+
// seam
|
|
3879
|
+
"@candlefinance/faster-image",
|
|
3880
|
+
// seam
|
|
3881
|
+
"@clerk/expo-passkeys",
|
|
3882
|
+
// seam
|
|
3883
|
+
"@computools/react-native-dynamic-app-icon",
|
|
3884
|
+
// seam
|
|
3860
3885
|
"@d11/react-native-fast-image",
|
|
3861
3886
|
// coverage
|
|
3887
|
+
"@dariyd/react-native-document-scanner",
|
|
3888
|
+
// seam
|
|
3862
3889
|
"@datadog/mobile-react-native",
|
|
3863
3890
|
// coverage
|
|
3891
|
+
"@dbkable/react-native-speech-to-text",
|
|
3892
|
+
// seam
|
|
3864
3893
|
"@dimaportenko/react-native-shadow-view",
|
|
3865
3894
|
// coverage
|
|
3895
|
+
"@domir/react-native-measure-text",
|
|
3896
|
+
// seam+coverage
|
|
3866
3897
|
"@dr.pogodin/react-native-fs",
|
|
3867
3898
|
// coverage
|
|
3899
|
+
"@expensify/react-native-background-task",
|
|
3900
|
+
// seam
|
|
3901
|
+
"@expensify/react-native-hybrid-app",
|
|
3902
|
+
// seam
|
|
3903
|
+
"@expo/app-integrity",
|
|
3904
|
+
// seam
|
|
3905
|
+
"@expo/dom-webview",
|
|
3906
|
+
// seam
|
|
3868
3907
|
"@expo/ui",
|
|
3869
3908
|
// preset+coverage
|
|
3870
3909
|
"@expo/ui/community/menu",
|
|
3871
3910
|
// coverage
|
|
3911
|
+
"@fugood/react-native-audio-pcm-stream",
|
|
3912
|
+
// seam
|
|
3872
3913
|
"@fullstory/react-native",
|
|
3873
|
-
// coverage
|
|
3914
|
+
// seam+coverage
|
|
3915
|
+
"@generac/react-native-local-network-permission",
|
|
3916
|
+
// seam
|
|
3917
|
+
"@hot-updater/react-native",
|
|
3918
|
+
// seam
|
|
3919
|
+
"@intercom/intercom-react-native",
|
|
3920
|
+
// seam
|
|
3874
3921
|
"@iterable/expo-plugin",
|
|
3875
3922
|
// coverage
|
|
3923
|
+
"@iterable/react-native-sdk",
|
|
3924
|
+
// seam
|
|
3925
|
+
"@joplin/react-native-alarm-notification",
|
|
3926
|
+
// seam
|
|
3927
|
+
"@journeyapps/react-native-quick-sqlite",
|
|
3928
|
+
// seam
|
|
3929
|
+
"@kesha-antonov/react-native-background-downloader",
|
|
3930
|
+
// seam
|
|
3931
|
+
"@lodev09/react-native-true-sheet",
|
|
3932
|
+
// seam
|
|
3933
|
+
"@logicwind/react-native-exit-app",
|
|
3934
|
+
// seam
|
|
3935
|
+
"@logicwind/react-native-matomo-tracker",
|
|
3936
|
+
// seam
|
|
3937
|
+
"@logicwind/react-native-status-bar-height",
|
|
3938
|
+
// seam
|
|
3939
|
+
"@lottiefiles/dotlottie-react-native",
|
|
3940
|
+
// seam
|
|
3941
|
+
"@mattermost/react-native-emm",
|
|
3942
|
+
// seam
|
|
3876
3943
|
"@mattermost/react-native-paste-input",
|
|
3877
3944
|
// coverage
|
|
3878
3945
|
"@mattermost/react-native-turbo-log",
|
|
3879
|
-
// coverage
|
|
3946
|
+
// seam+coverage
|
|
3947
|
+
"@mattermost/rnutils",
|
|
3948
|
+
// seam
|
|
3949
|
+
"@meedwire/react-native-image-rotate",
|
|
3950
|
+
// seam
|
|
3951
|
+
"@metamask/native-utils",
|
|
3952
|
+
// seam+coverage
|
|
3953
|
+
"@metamask/react-native-webview",
|
|
3954
|
+
// seam
|
|
3955
|
+
"@mhpdev/react-native-haptics",
|
|
3956
|
+
// seam
|
|
3957
|
+
"@mhpdev/react-native-speech",
|
|
3958
|
+
// seam
|
|
3880
3959
|
"@nandorojo/galeria",
|
|
3881
|
-
// preset+coverage
|
|
3960
|
+
// preset+seam+coverage
|
|
3882
3961
|
"@notifee/react-native",
|
|
3883
|
-
// coverage
|
|
3962
|
+
// seam+coverage
|
|
3963
|
+
"@nozbe/watermelondb",
|
|
3964
|
+
// seam
|
|
3884
3965
|
"@op-engineering/op-sqlite",
|
|
3885
3966
|
// coverage
|
|
3967
|
+
"@pnthach95/react-native-root-view-background",
|
|
3968
|
+
// seam
|
|
3886
3969
|
"@posthog/react-native-plugin",
|
|
3887
|
-
// preset+coverage
|
|
3970
|
+
// preset+seam+coverage
|
|
3971
|
+
"@preeternal/react-native-cookie-manager",
|
|
3972
|
+
// seam
|
|
3973
|
+
"@pusher/pusher-websocket-react-native",
|
|
3974
|
+
// seam
|
|
3975
|
+
"@pushpendersingh/react-native-otp-verify",
|
|
3976
|
+
// seam
|
|
3977
|
+
"@react-native-ai/apple",
|
|
3978
|
+
// seam
|
|
3888
3979
|
"@react-native-async-storage/async-storage",
|
|
3889
3980
|
// coverage
|
|
3981
|
+
"@react-native-camera-roll/camera-roll",
|
|
3982
|
+
// seam
|
|
3983
|
+
"@react-native-clipboard/clipboard",
|
|
3984
|
+
// seam
|
|
3890
3985
|
"@react-native-community/checkbox",
|
|
3891
3986
|
// coverage
|
|
3987
|
+
"@react-native-community/datetimepicker",
|
|
3988
|
+
// seam
|
|
3892
3989
|
"@react-native-community/geolocation",
|
|
3893
|
-
// coverage
|
|
3990
|
+
// seam+coverage
|
|
3894
3991
|
"@react-native-community/image-editor",
|
|
3895
|
-
// coverage
|
|
3992
|
+
// seam+coverage
|
|
3896
3993
|
"@react-native-community/masked-view",
|
|
3897
3994
|
// coverage
|
|
3995
|
+
"@react-native-community/netinfo",
|
|
3996
|
+
// seam+coverage
|
|
3997
|
+
"@react-native-community/progress-view",
|
|
3998
|
+
// seam
|
|
3898
3999
|
"@react-native-community/slider",
|
|
3899
4000
|
// coverage
|
|
4001
|
+
"@react-native-cookies/cookies",
|
|
4002
|
+
// seam
|
|
3900
4003
|
"@react-native-documents/picker",
|
|
3901
4004
|
// coverage
|
|
4005
|
+
"@react-native-documents/viewer",
|
|
4006
|
+
// seam
|
|
3902
4007
|
"@react-native-firebase/analytics",
|
|
3903
|
-
// coverage
|
|
4008
|
+
// seam+coverage
|
|
3904
4009
|
"@react-native-firebase/app",
|
|
3905
|
-
// coverage
|
|
4010
|
+
// seam+coverage
|
|
4011
|
+
"@react-native-firebase/auth",
|
|
4012
|
+
// seam
|
|
3906
4013
|
"@react-native-firebase/crashlytics",
|
|
3907
|
-
// coverage
|
|
4014
|
+
// seam+coverage
|
|
4015
|
+
"@react-native-firebase/firestore",
|
|
4016
|
+
// seam
|
|
4017
|
+
"@react-native-firebase/functions",
|
|
4018
|
+
// seam
|
|
3908
4019
|
"@react-native-firebase/perf",
|
|
3909
4020
|
// coverage
|
|
4021
|
+
"@react-native-firebase/storage",
|
|
4022
|
+
// seam
|
|
3910
4023
|
"@react-native-masked-view/masked-view",
|
|
3911
4024
|
// preset+coverage
|
|
3912
4025
|
"@react-native-menu/menu",
|
|
3913
|
-
// coverage
|
|
4026
|
+
// seam+coverage
|
|
4027
|
+
"@react-native-ml-kit/barcode-scanning",
|
|
4028
|
+
// seam
|
|
4029
|
+
"@react-native-picker/picker",
|
|
4030
|
+
// seam
|
|
3914
4031
|
"@rn-org/react-native-shortcuts",
|
|
3915
|
-
// coverage
|
|
4032
|
+
// seam+coverage
|
|
3916
4033
|
"@rocket.chat/mobile-crypto",
|
|
3917
|
-
// coverage
|
|
4034
|
+
// seam+coverage
|
|
4035
|
+
"@roman.sytnyk/blur-app-in-recents",
|
|
4036
|
+
// seam
|
|
4037
|
+
"@rudderstack/rudder-integration-amplitude-react-native",
|
|
4038
|
+
// seam
|
|
3918
4039
|
"@rudderstack/rudder-integration-appcenter-react-native",
|
|
3919
|
-
// coverage
|
|
4040
|
+
// seam+coverage
|
|
4041
|
+
"@rudderstack/rudder-integration-braze-react-native",
|
|
4042
|
+
// seam
|
|
4043
|
+
"@rudderstack/rudder-integration-clevertap-react-native",
|
|
4044
|
+
// seam
|
|
4045
|
+
"@rudderstack/rudder-integration-facebook-react-native",
|
|
4046
|
+
// seam
|
|
4047
|
+
"@rudderstack/rudder-integration-singular-react-native",
|
|
4048
|
+
// seam
|
|
3920
4049
|
"@rudderstack/rudder-sdk-react-native",
|
|
3921
4050
|
// coverage
|
|
4051
|
+
"@sdcx/pull-to-refresh",
|
|
4052
|
+
// seam
|
|
3922
4053
|
"@segment/analytics-react-native",
|
|
3923
4054
|
// coverage
|
|
3924
4055
|
"@sentry/react-native",
|
|
3925
|
-
// coverage
|
|
4056
|
+
// seam+coverage
|
|
4057
|
+
"@shakebugs/react-native-shake",
|
|
4058
|
+
// seam
|
|
3926
4059
|
"@shopify/flash-list",
|
|
3927
4060
|
// coverage
|
|
3928
4061
|
"@shopify/react-native-performance",
|
|
3929
|
-
// coverage
|
|
4062
|
+
// seam+coverage
|
|
3930
4063
|
"@shopify/react-native-skia",
|
|
3931
4064
|
// preset+coverage
|
|
4065
|
+
"@simform_solutions/react-native-audio-waveform",
|
|
4066
|
+
// seam
|
|
4067
|
+
"@sparkfabrik/react-native-idfa-aaid",
|
|
4068
|
+
// seam
|
|
3932
4069
|
"@splicer97/react-native-mytracker",
|
|
3933
|
-
// coverage
|
|
4070
|
+
// seam+coverage
|
|
3934
4071
|
"@stripe/stripe-react-native",
|
|
3935
4072
|
// coverage
|
|
4073
|
+
"@thehale/react-native-keep-awake",
|
|
4074
|
+
// seam
|
|
4075
|
+
"@ua/react-native-airship",
|
|
4076
|
+
// seam
|
|
4077
|
+
"@universe/hashcash-native",
|
|
4078
|
+
// seam
|
|
4079
|
+
"@vonovak/react-native-theme-control",
|
|
4080
|
+
// seam
|
|
3936
4081
|
"@vxrn/native",
|
|
3937
|
-
// preset
|
|
4082
|
+
// preset+seam
|
|
3938
4083
|
"@walletconnect/react-native-compat",
|
|
3939
4084
|
// coverage
|
|
3940
4085
|
"@wwdrew/expo-android-shared-preferences",
|
|
3941
|
-
// coverage
|
|
4086
|
+
// seam+coverage
|
|
4087
|
+
"amazon-ivs-react-native-player",
|
|
4088
|
+
// seam
|
|
3942
4089
|
"appcenter",
|
|
3943
|
-
// coverage
|
|
4090
|
+
// seam+coverage
|
|
4091
|
+
"appcenter-analytics",
|
|
4092
|
+
// seam
|
|
3944
4093
|
"burnt",
|
|
3945
4094
|
// preset+coverage
|
|
4095
|
+
"customerio-reactnative",
|
|
4096
|
+
// seam
|
|
3946
4097
|
"expo",
|
|
3947
4098
|
// preset+coverage
|
|
4099
|
+
"expo-age-range",
|
|
4100
|
+
// seam
|
|
3948
4101
|
"expo-android-shared-preferences",
|
|
3949
|
-
// coverage
|
|
4102
|
+
// seam+coverage
|
|
4103
|
+
"expo-app-integrity",
|
|
4104
|
+
// seam
|
|
3950
4105
|
"expo-apple-authentication",
|
|
3951
|
-
// preset
|
|
4106
|
+
// preset+seam
|
|
3952
4107
|
"expo-application",
|
|
3953
4108
|
// visual-proof+coverage
|
|
3954
4109
|
"expo-asset",
|
|
3955
|
-
// preset+coverage
|
|
4110
|
+
// preset+seam+coverage
|
|
3956
4111
|
"expo-audio",
|
|
3957
|
-
// coverage
|
|
4112
|
+
// seam+coverage
|
|
3958
4113
|
"expo-av",
|
|
3959
|
-
// coverage
|
|
4114
|
+
// seam+coverage
|
|
3960
4115
|
"expo-background-fetch",
|
|
3961
4116
|
// visual-proof
|
|
3962
4117
|
"expo-background-task",
|
|
@@ -3970,59 +4125,69 @@ var init_supported_native_packages = __esm({
|
|
|
3970
4125
|
"expo-calendar",
|
|
3971
4126
|
// visual-proof
|
|
3972
4127
|
"expo-camera",
|
|
3973
|
-
// coverage
|
|
4128
|
+
// seam+coverage
|
|
3974
4129
|
"expo-cellular",
|
|
3975
4130
|
// visual-proof
|
|
3976
4131
|
"expo-clipboard",
|
|
3977
|
-
// preset+coverage
|
|
4132
|
+
// preset+seam+coverage
|
|
3978
4133
|
"expo-constants",
|
|
3979
4134
|
// preset+visual-proof+coverage
|
|
3980
4135
|
"expo-contacts",
|
|
3981
4136
|
// visual-proof
|
|
4137
|
+
"expo-core-spotlight",
|
|
4138
|
+
// seam
|
|
3982
4139
|
"expo-crypto",
|
|
3983
4140
|
// preset+coverage
|
|
3984
4141
|
"expo-dev-client",
|
|
3985
4142
|
// coverage
|
|
3986
4143
|
"expo-device",
|
|
3987
|
-
// coverage
|
|
4144
|
+
// seam+coverage
|
|
3988
4145
|
"expo-document-picker",
|
|
3989
|
-
// preset+coverage
|
|
4146
|
+
// preset+seam+coverage
|
|
3990
4147
|
"expo-file-system",
|
|
3991
|
-
// preset+coverage
|
|
4148
|
+
// preset+seam+coverage
|
|
3992
4149
|
"expo-font",
|
|
3993
|
-
// preset+coverage
|
|
4150
|
+
// preset+seam+coverage
|
|
3994
4151
|
"expo-gl",
|
|
3995
4152
|
// preset+coverage
|
|
3996
4153
|
"expo-glass-effect",
|
|
3997
4154
|
// preset+coverage
|
|
3998
4155
|
"expo-haptics",
|
|
3999
|
-
// preset+coverage
|
|
4156
|
+
// preset+seam+coverage
|
|
4157
|
+
"expo-hardware-buttons",
|
|
4158
|
+
// seam
|
|
4000
4159
|
"expo-ignore-battery-optimizations",
|
|
4001
4160
|
// coverage
|
|
4002
4161
|
"expo-image",
|
|
4003
|
-
// preset+visual-proof+coverage
|
|
4162
|
+
// preset+visual-proof+seam+coverage
|
|
4004
4163
|
"expo-image-manipulator",
|
|
4005
4164
|
// coverage
|
|
4006
4165
|
"expo-image-picker",
|
|
4007
|
-
// preset+coverage
|
|
4166
|
+
// preset+seam+coverage
|
|
4008
4167
|
"expo-insights",
|
|
4009
4168
|
// coverage
|
|
4010
4169
|
"expo-intent-launcher",
|
|
4011
4170
|
// visual-proof
|
|
4012
4171
|
"expo-keep-awake",
|
|
4013
4172
|
// coverage
|
|
4173
|
+
"expo-key-event",
|
|
4174
|
+
// seam
|
|
4014
4175
|
"expo-linear-gradient",
|
|
4015
4176
|
// preset+visual-proof+coverage
|
|
4016
4177
|
"expo-linking",
|
|
4017
|
-
// preset+coverage
|
|
4178
|
+
// preset+seam+coverage
|
|
4018
4179
|
"expo-local-authentication",
|
|
4019
|
-
// coverage
|
|
4180
|
+
// seam+coverage
|
|
4020
4181
|
"expo-localization",
|
|
4021
4182
|
// coverage
|
|
4022
4183
|
"expo-mail-composer",
|
|
4023
4184
|
// visual-proof
|
|
4185
|
+
"expo-maps",
|
|
4186
|
+
// seam
|
|
4187
|
+
"expo-media-control",
|
|
4188
|
+
// seam
|
|
4024
4189
|
"expo-media-library",
|
|
4025
|
-
// coverage
|
|
4190
|
+
// seam+coverage
|
|
4026
4191
|
"expo-mesh-gradient",
|
|
4027
4192
|
// coverage
|
|
4028
4193
|
"expo-modules-core",
|
|
@@ -4030,19 +4195,27 @@ var init_supported_native_packages = __esm({
|
|
|
4030
4195
|
"expo-network",
|
|
4031
4196
|
// preset+visual-proof+coverage
|
|
4032
4197
|
"expo-notifications",
|
|
4033
|
-
// preset+coverage
|
|
4198
|
+
// preset+seam+coverage
|
|
4199
|
+
"expo-passkey",
|
|
4200
|
+
// seam
|
|
4201
|
+
"expo-paste-input",
|
|
4202
|
+
// seam
|
|
4203
|
+
"expo-pip",
|
|
4204
|
+
// seam
|
|
4034
4205
|
"expo-print",
|
|
4035
4206
|
// visual-proof
|
|
4036
4207
|
"expo-screen-capture",
|
|
4037
4208
|
// visual-proof
|
|
4038
4209
|
"expo-screen-corner-radius",
|
|
4039
|
-
// coverage
|
|
4210
|
+
// seam+coverage
|
|
4040
4211
|
"expo-screen-orientation",
|
|
4041
4212
|
// visual-proof+coverage
|
|
4042
4213
|
"expo-secure-store",
|
|
4043
4214
|
// visual-proof+coverage
|
|
4044
4215
|
"expo-sensors",
|
|
4045
4216
|
// visual-proof
|
|
4217
|
+
"expo-share-extension",
|
|
4218
|
+
// seam
|
|
4046
4219
|
"expo-sharing",
|
|
4047
4220
|
// visual-proof
|
|
4048
4221
|
"expo-sms",
|
|
@@ -4050,43 +4223,49 @@ var init_supported_native_packages = __esm({
|
|
|
4050
4223
|
"expo-speech",
|
|
4051
4224
|
// visual-proof
|
|
4052
4225
|
"expo-speech-recognition",
|
|
4053
|
-
// preset
|
|
4226
|
+
// preset+seam
|
|
4054
4227
|
"expo-splash-screen",
|
|
4055
4228
|
// visual-proof+coverage
|
|
4056
4229
|
"expo-sqlite",
|
|
4057
4230
|
// preset+coverage
|
|
4231
|
+
"expo-squircle-view",
|
|
4232
|
+
// seam
|
|
4058
4233
|
"expo-store-review",
|
|
4059
4234
|
// visual-proof+coverage
|
|
4060
4235
|
"expo-symbols",
|
|
4061
4236
|
// coverage
|
|
4062
4237
|
"expo-system-ui",
|
|
4063
|
-
// coverage
|
|
4238
|
+
// seam+coverage
|
|
4064
4239
|
"expo-task-manager",
|
|
4065
4240
|
// visual-proof+coverage
|
|
4066
4241
|
"expo-testflight",
|
|
4067
|
-
// coverage
|
|
4242
|
+
// seam+coverage
|
|
4068
4243
|
"expo-tracking-transparency",
|
|
4069
|
-
// visual-proof+coverage
|
|
4244
|
+
// visual-proof+seam+coverage
|
|
4070
4245
|
"expo-updates",
|
|
4071
|
-
// preset+coverage
|
|
4246
|
+
// preset+seam+coverage
|
|
4072
4247
|
"expo-video",
|
|
4073
|
-
// visual-proof
|
|
4248
|
+
// visual-proof+seam
|
|
4249
|
+
"expo-video-metadata",
|
|
4250
|
+
// seam
|
|
4074
4251
|
"expo-video-thumbnails",
|
|
4075
4252
|
// visual-proof
|
|
4076
4253
|
"expo-web-browser",
|
|
4077
|
-
// preset
|
|
4254
|
+
// preset+seam
|
|
4255
|
+
"expo-widgets",
|
|
4256
|
+
// seam
|
|
4078
4257
|
"expo-winter-fetch",
|
|
4079
4258
|
// coverage
|
|
4080
4259
|
"expo-winter-formdata",
|
|
4081
4260
|
// coverage
|
|
4082
4261
|
"group-ib-fp",
|
|
4083
|
-
// coverage
|
|
4262
|
+
// seam+coverage
|
|
4084
4263
|
"gt-react-native",
|
|
4085
|
-
// coverage
|
|
4264
|
+
// seam+coverage
|
|
4086
4265
|
"jail-monkey",
|
|
4087
4266
|
// coverage
|
|
4088
4267
|
"lottie-react-native",
|
|
4089
|
-
// coverage
|
|
4268
|
+
// seam+coverage
|
|
4090
4269
|
"mixpanel-react-native",
|
|
4091
4270
|
// coverage
|
|
4092
4271
|
"newrelic-react-native-agent",
|
|
@@ -4094,205 +4273,479 @@ var init_supported_native_packages = __esm({
|
|
|
4094
4273
|
"posthog-react-native",
|
|
4095
4274
|
// preset+coverage
|
|
4096
4275
|
"posthog-react-native-session-replay",
|
|
4097
|
-
// preset+coverage
|
|
4276
|
+
// preset+seam+coverage
|
|
4277
|
+
"pushy-react-native",
|
|
4278
|
+
// seam
|
|
4098
4279
|
"react-native",
|
|
4099
4280
|
// preset+visual-proof+coverage
|
|
4281
|
+
"react-native-a11y-container",
|
|
4282
|
+
// seam
|
|
4100
4283
|
"react-native-actions-shortcuts",
|
|
4101
|
-
// coverage
|
|
4284
|
+
// seam+coverage
|
|
4102
4285
|
"react-native-adjust",
|
|
4103
4286
|
// coverage
|
|
4104
4287
|
"react-native-aes-crypto",
|
|
4105
|
-
// coverage
|
|
4288
|
+
// seam+coverage
|
|
4106
4289
|
"react-native-aes-gcm-crypto",
|
|
4107
|
-
// coverage
|
|
4290
|
+
// seam+coverage
|
|
4108
4291
|
"react-native-amplitude-analytics",
|
|
4109
4292
|
// coverage
|
|
4293
|
+
"react-native-app-auth",
|
|
4294
|
+
// seam
|
|
4295
|
+
"react-native-app-logs",
|
|
4296
|
+
// seam
|
|
4297
|
+
"react-native-app-review",
|
|
4298
|
+
// seam
|
|
4299
|
+
"react-native-appearance-control",
|
|
4300
|
+
// seam
|
|
4301
|
+
"react-native-apple-ads-attribution",
|
|
4302
|
+
// seam
|
|
4110
4303
|
"react-native-appsflyer",
|
|
4111
4304
|
// coverage
|
|
4305
|
+
"react-native-appstack-sdk",
|
|
4306
|
+
// seam
|
|
4112
4307
|
"react-native-audio-api",
|
|
4113
4308
|
// coverage
|
|
4309
|
+
"react-native-auto-skeleton",
|
|
4310
|
+
// seam
|
|
4311
|
+
"react-native-background-geolocation",
|
|
4312
|
+
// seam
|
|
4114
4313
|
"react-native-background-timer",
|
|
4115
|
-
// coverage
|
|
4314
|
+
// seam+coverage
|
|
4315
|
+
"react-native-background-upload",
|
|
4316
|
+
// seam
|
|
4317
|
+
"react-native-barcode-creator",
|
|
4318
|
+
// seam
|
|
4319
|
+
"react-native-blasted-image",
|
|
4320
|
+
// seam
|
|
4116
4321
|
"react-native-blob-util",
|
|
4117
4322
|
// coverage
|
|
4118
4323
|
"react-native-blue-crypto",
|
|
4119
|
-
// coverage
|
|
4324
|
+
// seam+coverage
|
|
4325
|
+
"react-native-bluetooth-status",
|
|
4326
|
+
// seam
|
|
4327
|
+
"react-native-blur-view",
|
|
4328
|
+
// seam
|
|
4329
|
+
"react-native-blurhash",
|
|
4330
|
+
// seam
|
|
4120
4331
|
"react-native-bootsplash",
|
|
4121
|
-
// preset+coverage
|
|
4332
|
+
// preset+seam+coverage
|
|
4122
4333
|
"react-native-bottom-tabs",
|
|
4123
4334
|
// preset+visual-proof
|
|
4124
4335
|
"react-native-branch",
|
|
4125
4336
|
// coverage
|
|
4337
|
+
"react-native-calendar-events",
|
|
4338
|
+
// seam
|
|
4339
|
+
"react-native-cashfree-pg-sdk",
|
|
4340
|
+
// seam
|
|
4341
|
+
"react-native-cloud-storage",
|
|
4342
|
+
// seam
|
|
4343
|
+
"react-native-cloud-store",
|
|
4344
|
+
// seam
|
|
4345
|
+
"react-native-compass-heading",
|
|
4346
|
+
// seam
|
|
4347
|
+
"react-native-compressor",
|
|
4348
|
+
// seam
|
|
4126
4349
|
"react-native-config",
|
|
4127
4350
|
// coverage
|
|
4351
|
+
"react-native-config-reader",
|
|
4352
|
+
// seam
|
|
4353
|
+
"react-native-contacts",
|
|
4354
|
+
// seam
|
|
4355
|
+
"react-native-context-menu-view",
|
|
4356
|
+
// seam
|
|
4357
|
+
"react-native-create-thumbnail",
|
|
4358
|
+
// seam
|
|
4359
|
+
"react-native-credentials-manager",
|
|
4360
|
+
// seam
|
|
4361
|
+
"react-native-dark-mode",
|
|
4362
|
+
// seam
|
|
4128
4363
|
"react-native-date-picker",
|
|
4129
|
-
// coverage
|
|
4364
|
+
// seam+coverage
|
|
4130
4365
|
"react-native-default-preference",
|
|
4131
|
-
// coverage
|
|
4366
|
+
// seam+coverage
|
|
4367
|
+
"react-native-detector",
|
|
4368
|
+
// seam
|
|
4369
|
+
"react-native-device-attest",
|
|
4370
|
+
// seam
|
|
4371
|
+
"react-native-device-country",
|
|
4372
|
+
// seam
|
|
4132
4373
|
"react-native-device-info",
|
|
4133
|
-
// coverage
|
|
4374
|
+
// seam+coverage
|
|
4375
|
+
"react-native-ease",
|
|
4376
|
+
// seam
|
|
4377
|
+
"react-native-edge-fade",
|
|
4378
|
+
// seam
|
|
4134
4379
|
"react-native-edge-to-edge",
|
|
4135
|
-
// coverage
|
|
4380
|
+
// seam+coverage
|
|
4381
|
+
"react-native-emoji-popup",
|
|
4382
|
+
// seam
|
|
4383
|
+
"react-native-enriched",
|
|
4384
|
+
// seam
|
|
4385
|
+
"react-native-enriched-markdown",
|
|
4386
|
+
// seam
|
|
4387
|
+
"react-native-events",
|
|
4388
|
+
// seam
|
|
4389
|
+
"react-native-exception-handler",
|
|
4390
|
+
// seam
|
|
4391
|
+
"react-native-exit-app",
|
|
4392
|
+
// seam
|
|
4393
|
+
"react-native-external-display",
|
|
4394
|
+
// seam
|
|
4136
4395
|
"react-native-fast-image",
|
|
4137
4396
|
// coverage
|
|
4138
4397
|
"react-native-fast-secure-storage",
|
|
4139
|
-
// coverage
|
|
4398
|
+
// seam+coverage
|
|
4399
|
+
"react-native-fast-squircle",
|
|
4400
|
+
// seam
|
|
4140
4401
|
"react-native-fast-trie",
|
|
4141
|
-
// coverage
|
|
4402
|
+
// seam+coverage
|
|
4403
|
+
"react-native-fbsdk-next",
|
|
4404
|
+
// seam
|
|
4405
|
+
"react-native-fcm",
|
|
4406
|
+
// seam
|
|
4407
|
+
"react-native-file-logger",
|
|
4408
|
+
// seam
|
|
4409
|
+
"react-native-file-viewer",
|
|
4410
|
+
// seam
|
|
4411
|
+
"react-native-fingerprint-scanner",
|
|
4412
|
+
// seam
|
|
4142
4413
|
"react-native-fs",
|
|
4143
4414
|
// coverage
|
|
4144
4415
|
"react-native-gesture-handler",
|
|
4145
4416
|
// preset+coverage
|
|
4146
4417
|
"react-native-get-device-locale",
|
|
4147
|
-
// coverage
|
|
4418
|
+
// seam+coverage
|
|
4148
4419
|
"react-native-get-location",
|
|
4149
|
-
// coverage
|
|
4420
|
+
// seam+coverage
|
|
4150
4421
|
"react-native-get-random-values",
|
|
4151
4422
|
// coverage
|
|
4423
|
+
"react-native-google-places",
|
|
4424
|
+
// seam
|
|
4152
4425
|
"react-native-google-play-install-referrer",
|
|
4153
4426
|
// coverage
|
|
4154
4427
|
"react-native-gzip",
|
|
4155
|
-
// coverage
|
|
4428
|
+
// seam+coverage
|
|
4156
4429
|
"react-native-haptic-feedback",
|
|
4157
4430
|
// coverage
|
|
4158
4431
|
"react-native-headphone-detection",
|
|
4159
|
-
// coverage
|
|
4432
|
+
// seam+coverage
|
|
4433
|
+
"react-native-home-indicator",
|
|
4434
|
+
// seam
|
|
4435
|
+
"react-native-http-bridge-refurbished",
|
|
4436
|
+
// seam
|
|
4160
4437
|
"react-native-idle-timer",
|
|
4161
|
-
// coverage
|
|
4438
|
+
// seam+coverage
|
|
4439
|
+
"react-native-image-colors",
|
|
4440
|
+
// seam
|
|
4162
4441
|
"react-native-image-picker",
|
|
4163
|
-
// coverage
|
|
4442
|
+
// seam+coverage
|
|
4164
4443
|
"react-native-image-size",
|
|
4165
|
-
// coverage
|
|
4444
|
+
// seam+coverage
|
|
4166
4445
|
"react-native-in-app-review",
|
|
4167
|
-
// coverage
|
|
4446
|
+
// seam+coverage
|
|
4447
|
+
"react-native-inappbrowser-reborn",
|
|
4448
|
+
// seam
|
|
4449
|
+
"react-native-intercom",
|
|
4450
|
+
// seam
|
|
4451
|
+
"react-native-job-queue",
|
|
4452
|
+
// seam
|
|
4168
4453
|
"react-native-keep-awake",
|
|
4169
|
-
// coverage
|
|
4454
|
+
// seam+coverage
|
|
4170
4455
|
"react-native-key-command",
|
|
4171
|
-
// coverage
|
|
4456
|
+
// seam+coverage
|
|
4172
4457
|
"react-native-keyboard-controller",
|
|
4173
4458
|
// preset+visual-proof+coverage
|
|
4174
4459
|
"react-native-keychain",
|
|
4175
|
-
// coverage
|
|
4460
|
+
// seam+coverage
|
|
4461
|
+
"react-native-keyevent",
|
|
4462
|
+
// seam
|
|
4176
4463
|
"react-native-keys",
|
|
4177
4464
|
// coverage
|
|
4178
4465
|
"react-native-launch-arguments",
|
|
4179
4466
|
// coverage
|
|
4180
4467
|
"react-native-linear-gradient",
|
|
4181
4468
|
// coverage
|
|
4469
|
+
"react-native-linkedin-login",
|
|
4470
|
+
// seam
|
|
4182
4471
|
"react-native-localize",
|
|
4183
4472
|
// coverage
|
|
4473
|
+
"react-native-location",
|
|
4474
|
+
// seam
|
|
4475
|
+
"react-native-location-enabler",
|
|
4476
|
+
// seam
|
|
4477
|
+
"react-native-mail",
|
|
4478
|
+
// seam
|
|
4184
4479
|
"react-native-maps",
|
|
4185
4480
|
// preset+coverage
|
|
4481
|
+
"react-native-measure-text",
|
|
4482
|
+
// seam
|
|
4186
4483
|
"react-native-mixpanel",
|
|
4187
4484
|
// coverage
|
|
4188
4485
|
"react-native-mmkv",
|
|
4189
|
-
// preset+coverage
|
|
4486
|
+
// preset+seam+coverage
|
|
4190
4487
|
"react-native-mmkv-storage",
|
|
4191
4488
|
// coverage
|
|
4489
|
+
"react-native-month-year-picker",
|
|
4490
|
+
// seam
|
|
4491
|
+
"react-native-multiple-modals",
|
|
4492
|
+
// seam
|
|
4192
4493
|
"react-native-nano-icons",
|
|
4193
|
-
// coverage
|
|
4494
|
+
// seam+coverage
|
|
4495
|
+
"react-native-navigation",
|
|
4496
|
+
// seam
|
|
4194
4497
|
"react-native-nitro-buffer",
|
|
4195
|
-
// coverage
|
|
4498
|
+
// seam+coverage
|
|
4499
|
+
"react-native-nitro-device-info",
|
|
4500
|
+
// seam
|
|
4501
|
+
"react-native-nitro-fetch",
|
|
4502
|
+
// seam
|
|
4503
|
+
"react-native-nitro-geocoder",
|
|
4504
|
+
// seam
|
|
4505
|
+
"react-native-nitro-geolocation",
|
|
4506
|
+
// seam
|
|
4507
|
+
"react-native-nitro-image",
|
|
4508
|
+
// seam
|
|
4509
|
+
"react-native-nitro-modules",
|
|
4510
|
+
// seam
|
|
4511
|
+
"react-native-nitro-sound",
|
|
4512
|
+
// seam
|
|
4513
|
+
"react-native-nitro-sse",
|
|
4514
|
+
// seam
|
|
4196
4515
|
"react-native-nitro-text-decoder",
|
|
4197
|
-
// coverage
|
|
4516
|
+
// seam+coverage
|
|
4198
4517
|
"react-native-nitro-totp",
|
|
4199
|
-
// coverage
|
|
4518
|
+
// seam+coverage
|
|
4519
|
+
"react-native-nitro-web-image",
|
|
4520
|
+
// seam
|
|
4521
|
+
"react-native-nitro-websockets",
|
|
4522
|
+
// seam
|
|
4200
4523
|
"react-native-notification-badge",
|
|
4201
|
-
// coverage
|
|
4524
|
+
// seam+coverage
|
|
4525
|
+
"react-native-notification-sounds",
|
|
4526
|
+
// seam
|
|
4527
|
+
"react-native-notifications",
|
|
4528
|
+
// seam
|
|
4529
|
+
"react-native-ometria",
|
|
4530
|
+
// seam
|
|
4531
|
+
"react-native-onesignal",
|
|
4532
|
+
// seam
|
|
4533
|
+
"react-native-orientation-director",
|
|
4534
|
+
// seam
|
|
4535
|
+
"react-native-orientation-locker",
|
|
4536
|
+
// seam
|
|
4537
|
+
"react-native-orientation-manager",
|
|
4538
|
+
// seam
|
|
4539
|
+
"react-native-orientation-turbo",
|
|
4540
|
+
// seam
|
|
4541
|
+
"react-native-os",
|
|
4542
|
+
// seam
|
|
4543
|
+
"react-native-ota-hot-update",
|
|
4544
|
+
// seam
|
|
4202
4545
|
"react-native-pager-view",
|
|
4203
4546
|
// preset+visual-proof
|
|
4547
|
+
"react-native-palette-full",
|
|
4548
|
+
// seam
|
|
4204
4549
|
"react-native-pdf",
|
|
4205
4550
|
// coverage
|
|
4551
|
+
"react-native-pdf-from-image",
|
|
4552
|
+
// seam
|
|
4553
|
+
"react-native-pdf-light",
|
|
4554
|
+
// seam
|
|
4555
|
+
"react-native-performance-limiter",
|
|
4556
|
+
// seam
|
|
4206
4557
|
"react-native-permissions",
|
|
4207
|
-
// coverage
|
|
4558
|
+
// seam+coverage
|
|
4208
4559
|
"react-native-photo-manipulator",
|
|
4209
|
-
// coverage
|
|
4560
|
+
// seam+coverage
|
|
4561
|
+
"react-native-pkce-challenge",
|
|
4562
|
+
// seam
|
|
4563
|
+
"react-native-print",
|
|
4564
|
+
// seam
|
|
4565
|
+
"react-native-pulsar",
|
|
4566
|
+
// seam
|
|
4210
4567
|
"react-native-purchases",
|
|
4211
|
-
// preset+coverage
|
|
4568
|
+
// preset+seam+coverage
|
|
4212
4569
|
"react-native-pure-jwt",
|
|
4213
|
-
// coverage
|
|
4570
|
+
// seam+coverage
|
|
4214
4571
|
"react-native-quick-actions",
|
|
4215
|
-
// coverage
|
|
4572
|
+
// seam+coverage
|
|
4216
4573
|
"react-native-quick-base64",
|
|
4217
|
-
// coverage
|
|
4574
|
+
// seam+coverage
|
|
4218
4575
|
"react-native-quick-crypto",
|
|
4219
|
-
// coverage
|
|
4576
|
+
// seam+coverage
|
|
4220
4577
|
"react-native-randombytes",
|
|
4221
|
-
// coverage
|
|
4578
|
+
// seam+coverage
|
|
4579
|
+
"react-native-rate",
|
|
4580
|
+
// seam
|
|
4581
|
+
"react-native-rate-app",
|
|
4582
|
+
// seam
|
|
4222
4583
|
"react-native-reanimated",
|
|
4223
4584
|
// preset+visual-proof+coverage
|
|
4585
|
+
"react-native-receive-sharing-intent",
|
|
4586
|
+
// seam
|
|
4587
|
+
"react-native-record-screen",
|
|
4588
|
+
// seam
|
|
4224
4589
|
"react-native-restart",
|
|
4225
4590
|
// coverage
|
|
4226
4591
|
"react-native-restart-newarch",
|
|
4227
4592
|
// coverage
|
|
4593
|
+
"react-native-rsa-native",
|
|
4594
|
+
// seam
|
|
4228
4595
|
"react-native-rsa-signer",
|
|
4229
|
-
// coverage
|
|
4596
|
+
// seam+coverage
|
|
4597
|
+
"react-native-safari-view",
|
|
4598
|
+
// seam
|
|
4230
4599
|
"react-native-safe-area-context",
|
|
4231
4600
|
// preset+visual-proof+coverage
|
|
4232
4601
|
"react-native-screen-corner-radius",
|
|
4233
|
-
// coverage
|
|
4602
|
+
// seam+coverage
|
|
4234
4603
|
"react-native-screens",
|
|
4235
4604
|
// preset+visual-proof+coverage
|
|
4605
|
+
"react-native-screenshot-aware",
|
|
4606
|
+
// seam
|
|
4236
4607
|
"react-native-securerandom",
|
|
4237
|
-
// coverage
|
|
4608
|
+
// seam+coverage
|
|
4238
4609
|
"react-native-settings",
|
|
4239
|
-
// coverage
|
|
4610
|
+
// seam+coverage
|
|
4611
|
+
"react-native-sfsymbols",
|
|
4612
|
+
// seam
|
|
4613
|
+
"react-native-shake",
|
|
4614
|
+
// seam
|
|
4240
4615
|
"react-native-share",
|
|
4241
|
-
// coverage
|
|
4616
|
+
// seam+coverage
|
|
4617
|
+
"react-native-shared-group-preferences",
|
|
4618
|
+
// seam
|
|
4242
4619
|
"react-native-shiki-engine",
|
|
4243
|
-
// coverage
|
|
4620
|
+
// seam+coverage
|
|
4621
|
+
"react-native-signature-capture",
|
|
4622
|
+
// seam
|
|
4623
|
+
"react-native-simple-biometrics",
|
|
4624
|
+
// seam
|
|
4244
4625
|
"react-native-simple-toast",
|
|
4245
4626
|
// coverage
|
|
4246
4627
|
"react-native-smart-splash-screen",
|
|
4247
|
-
// coverage
|
|
4628
|
+
// seam+coverage
|
|
4629
|
+
"react-native-snackbar",
|
|
4630
|
+
// seam
|
|
4631
|
+
"react-native-social-share",
|
|
4632
|
+
// seam
|
|
4633
|
+
"react-native-sound",
|
|
4634
|
+
// seam
|
|
4635
|
+
"react-native-sound-player",
|
|
4636
|
+
// seam
|
|
4637
|
+
"react-native-speech-recognition-kit",
|
|
4638
|
+
// seam
|
|
4248
4639
|
"react-native-splash-screen",
|
|
4249
|
-
// coverage
|
|
4640
|
+
// seam+coverage
|
|
4641
|
+
"react-native-splash-view",
|
|
4642
|
+
// seam
|
|
4643
|
+
"react-native-spotlight-search",
|
|
4644
|
+
// seam
|
|
4645
|
+
"react-native-sqlite-2",
|
|
4646
|
+
// seam
|
|
4647
|
+
"react-native-stallion",
|
|
4648
|
+
// seam
|
|
4649
|
+
"react-native-store-age-signals-native-modules",
|
|
4650
|
+
// seam
|
|
4651
|
+
"react-native-store-review",
|
|
4652
|
+
// seam
|
|
4250
4653
|
"react-native-svg",
|
|
4251
|
-
// preset+visual-proof
|
|
4654
|
+
// preset+visual-proof+coverage
|
|
4252
4655
|
"react-native-system-bars",
|
|
4253
|
-
// coverage
|
|
4656
|
+
// seam+coverage
|
|
4657
|
+
"react-native-system-setting",
|
|
4658
|
+
// seam
|
|
4254
4659
|
"react-native-teleport",
|
|
4255
4660
|
// preset+coverage
|
|
4256
4661
|
"react-native-testfairy",
|
|
4257
|
-
// coverage
|
|
4662
|
+
// seam+coverage
|
|
4663
|
+
"react-native-text-input-mask",
|
|
4664
|
+
// seam
|
|
4665
|
+
"react-native-text-size",
|
|
4666
|
+
// seam
|
|
4667
|
+
"react-native-tiktok",
|
|
4668
|
+
// seam
|
|
4258
4669
|
"react-native-tiktok-business-sdk",
|
|
4259
4670
|
// coverage
|
|
4260
4671
|
"react-native-timezone",
|
|
4261
|
-
// coverage
|
|
4672
|
+
// seam+coverage
|
|
4673
|
+
"react-native-tooltip",
|
|
4674
|
+
// seam
|
|
4675
|
+
"react-native-touch-id",
|
|
4676
|
+
// seam
|
|
4677
|
+
"react-native-track-player",
|
|
4678
|
+
// seam
|
|
4679
|
+
"react-native-tts",
|
|
4680
|
+
// seam
|
|
4262
4681
|
"react-native-turbo-haptics",
|
|
4263
|
-
// coverage
|
|
4682
|
+
// seam+coverage
|
|
4683
|
+
"react-native-turbo-mock-location-detector",
|
|
4684
|
+
// seam
|
|
4685
|
+
"react-native-turbo-preferences",
|
|
4686
|
+
// seam
|
|
4264
4687
|
"react-native-uitextview",
|
|
4265
4688
|
// visual-proof+coverage
|
|
4266
4689
|
"react-native-ulid-jsi",
|
|
4267
|
-
// coverage
|
|
4690
|
+
// seam+coverage
|
|
4268
4691
|
"react-native-ux-cam",
|
|
4269
|
-
// coverage
|
|
4692
|
+
// seam+coverage
|
|
4270
4693
|
"react-native-vector-icons",
|
|
4271
|
-
// coverage
|
|
4694
|
+
// seam+coverage
|
|
4695
|
+
"react-native-version-check",
|
|
4696
|
+
// seam
|
|
4272
4697
|
"react-native-version-info",
|
|
4273
|
-
// coverage
|
|
4698
|
+
// seam+coverage
|
|
4274
4699
|
"react-native-version-number",
|
|
4275
|
-
// coverage
|
|
4700
|
+
// seam+coverage
|
|
4276
4701
|
"react-native-video",
|
|
4277
4702
|
// coverage
|
|
4703
|
+
"react-native-video-cache",
|
|
4704
|
+
// seam
|
|
4705
|
+
"react-native-video-duration",
|
|
4706
|
+
// seam
|
|
4707
|
+
"react-native-view-pdf",
|
|
4708
|
+
// seam
|
|
4278
4709
|
"react-native-vision-camera",
|
|
4279
4710
|
// coverage
|
|
4711
|
+
"react-native-vlc-media-player",
|
|
4712
|
+
// seam
|
|
4713
|
+
"react-native-vosk",
|
|
4714
|
+
// seam
|
|
4280
4715
|
"react-native-webgpu",
|
|
4281
4716
|
// preset
|
|
4282
4717
|
"react-native-webp-format",
|
|
4283
4718
|
// coverage
|
|
4284
4719
|
"react-native-webview",
|
|
4285
|
-
// preset+visual-proof
|
|
4720
|
+
// preset+visual-proof+seam
|
|
4721
|
+
"react-native-widget-picker",
|
|
4722
|
+
// seam
|
|
4723
|
+
"react-native-wifi-p2p",
|
|
4724
|
+
// seam
|
|
4286
4725
|
"react-native-worklets",
|
|
4287
4726
|
// preset+coverage
|
|
4288
4727
|
"react-native-xxhash",
|
|
4289
|
-
// coverage
|
|
4728
|
+
// seam+coverage
|
|
4729
|
+
"react-native-youtube",
|
|
4730
|
+
// seam
|
|
4731
|
+
"react-native-zip-archive",
|
|
4732
|
+
// seam
|
|
4733
|
+
"rive-react-native",
|
|
4734
|
+
// seam
|
|
4735
|
+
"rn-apple-healthkit",
|
|
4736
|
+
// seam
|
|
4737
|
+
"rn-date-format",
|
|
4738
|
+
// seam
|
|
4739
|
+
"rn-fade-wrapper",
|
|
4740
|
+
// seam
|
|
4290
4741
|
"rn-fetch-blob",
|
|
4291
4742
|
// coverage
|
|
4292
4743
|
"rollbar-react-native",
|
|
4293
|
-
// coverage
|
|
4294
|
-
"sift-react-native"
|
|
4295
|
-
// coverage
|
|
4744
|
+
// seam+coverage
|
|
4745
|
+
"sift-react-native",
|
|
4746
|
+
// seam+coverage
|
|
4747
|
+
"whisper.rn"
|
|
4748
|
+
// seam
|
|
4296
4749
|
];
|
|
4297
4750
|
}
|
|
4298
4751
|
});
|
|
@@ -4648,8 +5101,8 @@ var init_registry = __esm({
|
|
|
4648
5101
|
id: "sheets-and-modal-geometry",
|
|
4649
5102
|
usage: 2,
|
|
4650
5103
|
importance: 2,
|
|
4651
|
-
estimate: 0.
|
|
4652
|
-
rationale: "Initial detents, sheet geometry, corner radius, grabber, undimmed range and dismissal work.
|
|
5104
|
+
estimate: 0.95,
|
|
5105
|
+
rationale: "Initial detents, sheet geometry, corner radius, grabber, undimmed range and dismissal work. Numeric-detent dragging, nearest settling, content interception and larger-detent scrolling, selected geometry and dimming, collapse callbacks, and guarded dismissal close most interaction gaps. The remaining 5% covers velocity and spring fidelity, pointer cancellation, fit-to-content and non-numeric modes, numeric 1.0 native geometry, and expandsWhenScrolledToEdge."
|
|
4653
5106
|
},
|
|
4654
5107
|
{
|
|
4655
5108
|
id: "tabs-freeze-and-overlay",
|
|
@@ -4661,8 +5114,8 @@ var init_registry = __esm({
|
|
|
4661
5114
|
],
|
|
4662
5115
|
capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["react-native-screens"],
|
|
4663
5116
|
note: "screen container, stack, header config, search bar, navigation props",
|
|
4664
|
-
working: "Screen, ScreenContainer, ScreenStack, enableFreeze/freezeEnabled with delayed React freeze, Android modal/pageSheet push fallback, Android statusBarHidden/statusBarStyle/navigationBarHidden traits, push/pop slide, replaceAnimation push/pop direction, zoom/fade/fade_from_bottom transitions, edge swipe-back, parallax behind-screen, large title collapse, header (back button, inline/large title, custom left/center/right/search bar subviews, native header bar buttons/menus/badges, crossfade), formSheet custom initial detents/corner radius/grabber/undimmed range and stacked sheets, useHeaderHeight, useTransitionProgress, FullWindowOverlay, SearchBar with stacked and iOS 26 automatic/inline/integrated/integratedCentered/integratedButton toolbar placement, Tabs.Host/Screen, lifecycle callbacks (onAppear/onDisappear/onWillAppear/onWillDisappear), onDismissed",
|
|
4665
|
-
missing: "
|
|
5117
|
+
working: "Screen, ScreenContainer, ScreenStack, enableFreeze/freezeEnabled with delayed React freeze, Android modal/pageSheet push fallback, Android statusBarHidden/statusBarStyle/navigationBarHidden traits, push/pop slide, replaceAnimation push/pop direction, zoom/fade/fade_from_bottom transitions, edge swipe-back, parallax behind-screen, large title collapse, header (back button, inline/large title, custom left/center/right/search bar subviews, native header bar buttons/menus/badges, crossfade), formSheet custom initial detents/corner radius/grabber/undimmed range, numeric-detent dragging and settling, eligible content scrolling, detent callbacks, guarded dismissal and stacked sheets, useHeaderHeight, useTransitionProgress, FullWindowOverlay, SearchBar with stacked and iOS 26 automatic/inline/integrated/integratedCentered/integratedButton toolbar placement, Tabs.Host/Screen, lifecycle callbacks (onAppear/onDisappear/onWillAppear/onWillDisappear), onDismissed",
|
|
5118
|
+
missing: "native velocity and spring fidelity, pointer cancellation, fit-to-content and non-numeric detents, numeric 1.0 native geometry, and expandsWhenScrolledToEdge remain incomplete or unverified"
|
|
4666
5119
|
}
|
|
4667
5120
|
]
|
|
4668
5121
|
},
|
|
@@ -4738,15 +5191,15 @@ var init_registry = __esm({
|
|
|
4738
5191
|
id: "definitions-references-and-clipping",
|
|
4739
5192
|
usage: 2,
|
|
4740
5193
|
importance: 2,
|
|
4741
|
-
estimate: 0.
|
|
4742
|
-
rationale: "Defs, Use, Symbol, Mask,
|
|
5194
|
+
estimate: 0.95,
|
|
5195
|
+
rationale: "Defs, Use, Symbol, Mask, ClipPath, Pattern fills and Marker geometry render. The remaining 5% judgment allowance covers absent ForeignObject content, limited marker hosts and unverified context paint inheritance, and pattern non-scaling strokes using the tile matrix."
|
|
4743
5196
|
},
|
|
4744
5197
|
{
|
|
4745
5198
|
id: "text-and-text-paths",
|
|
4746
5199
|
usage: 1,
|
|
4747
5200
|
importance: 2,
|
|
4748
|
-
estimate: 0.
|
|
4749
|
-
rationale: "Text
|
|
5201
|
+
estimate: 0.92,
|
|
5202
|
+
rationale: "Text, TSpan and shaped TextPath glyphs render, including offsets, anchors, curves and spans. The remaining 8% judgment allowance covers advanced path text layout, per-glyph positioning, objectBoundingBox paints and font or emoji fallback parity."
|
|
4750
5203
|
},
|
|
4751
5204
|
{
|
|
4752
5205
|
id: "xml-and-document-helpers",
|
|
@@ -4759,14 +5212,14 @@ var init_registry = __esm({
|
|
|
4759
5212
|
id: "filters-and-imperative-geometry",
|
|
4760
5213
|
usage: 1,
|
|
4761
5214
|
importance: 2,
|
|
4762
|
-
estimate: 0,
|
|
4763
|
-
rationale: "
|
|
5215
|
+
estimate: 0.25,
|
|
5216
|
+
rationale: "getTotalLength and getPointAtLength implement path metrics for paths and basic shapes, including curves, arcs, clamping and detached refs. This receives 25% of the grouped feature. Filters, native export, bounding boxes, matrices and point-in-fill/stroke remain unsupported; invalid-path points return zero where native returns NaN."
|
|
4764
5217
|
}
|
|
4765
5218
|
],
|
|
4766
5219
|
capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["react-native-svg"],
|
|
4767
|
-
note: "CanvasKit rendering for shapes, text, XML, gradients, references, masks, clipping, and images; native SVG filters and geometry queries
|
|
4768
|
-
working: "Svg, Path, Circle, Rect, Line, Ellipse, Polygon, Polyline, G, Text, TSpan, Defs, LinearGradient and RadialGradient with objectBoundingBox/userSpaceOnUse coordinates, focal points and gradientTransform, Stop, Mask, ClipPath, Image, Use and Symbol references, SvgXml, SvgUri, SvgAst, SvgFromXml, SvgCss, parse, fetchText, camelCase, shape transforms, fill/stroke/opacity/dasharray, currentColor, viewBox scaling",
|
|
4769
|
-
missing: "native SVG filter components and toDataURL, hit-testing,
|
|
5220
|
+
note: "CanvasKit rendering for shapes, text, XML, gradients, references, masks, clipping, and images; path metrics are implemented; native SVG filters, export and other geometry queries remain unsupported",
|
|
5221
|
+
working: "Svg, Path, Circle, Rect, Line, Ellipse, Polygon, Polyline, G, Text, TSpan, TextPath shaped glyphs along referenced paths, Defs, Pattern fills, Marker geometry on paths/lines/polylines/polygons, LinearGradient and RadialGradient with objectBoundingBox/userSpaceOnUse coordinates, focal points and gradientTransform, Stop, Mask, ClipPath, Image, Use and Symbol references, SvgXml, SvgUri, SvgAst, SvgFromXml, SvgCss, parse, fetchText, camelCase, getTotalLength and getPointAtLength for Path, Line, Rect including rounded corners, Circle, Ellipse, Polygon and Polyline, shape transforms, fill/stroke/opacity/dasharray, currentColor, viewBox scaling",
|
|
5222
|
+
missing: "native SVG filter components and toDataURL, hit-testing, bounding-box, and matrix methods refuse calls; invalid-path points differ from native NaN; ForeignObject does not render; marker context paints remain unverified; TextPath advanced layout, per-glyph positioning and objectBoundingBox paints are unsupported; pattern non-scaling strokes use the tile matrix; no font or emoji fallback parity claim"
|
|
4770
5223
|
}
|
|
4771
5224
|
]
|
|
4772
5225
|
},
|
|
@@ -4789,8 +5242,8 @@ var init_registry = __esm({
|
|
|
4789
5242
|
id: "batched-operations",
|
|
4790
5243
|
usage: 3,
|
|
4791
5244
|
importance: 3,
|
|
4792
|
-
estimate:
|
|
4793
|
-
rationale: "batch reads
|
|
5245
|
+
estimate: 1,
|
|
5246
|
+
rationale: "upstream batch reads preserve null for absent keys and empty strings for stored values; batch writes run through the tenant storage seam"
|
|
4794
5247
|
},
|
|
4795
5248
|
{
|
|
4796
5249
|
id: "merge-json",
|
|
@@ -4815,8 +5268,7 @@ var init_registry = __esm({
|
|
|
4815
5268
|
}
|
|
4816
5269
|
],
|
|
4817
5270
|
capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["@react-native-async-storage/async-storage"],
|
|
4818
|
-
note: "native-seam only \u2014 upstream AsyncStorage JS runs from the bundle and resolves RNCAsyncStorage, which persists through tenant localStorage"
|
|
4819
|
-
missing: "multiGet returns an empty string for absent keys instead of null; ordinary getItem returns null correctly"
|
|
5271
|
+
note: "native-seam only \u2014 upstream AsyncStorage JS runs from the bundle and resolves RNCAsyncStorage, which persists through tenant localStorage"
|
|
4820
5272
|
}
|
|
4821
5273
|
]
|
|
4822
5274
|
},
|
|
@@ -4847,8 +5299,8 @@ var init_registry = __esm({
|
|
|
4847
5299
|
id: "navigation-controls",
|
|
4848
5300
|
usage: 3,
|
|
4849
5301
|
importance: 3,
|
|
4850
|
-
estimate: 0.
|
|
4851
|
-
rationale: "
|
|
5302
|
+
estimate: 0.7,
|
|
5303
|
+
rationale: "Reload and injection work. HTML fragment navigation now follows the observed iOS URL and callback sequence, and local link requests expose decisions with matching payloads. The remaining 30% judgment allowance retains initial-load interception, remote history, stop-loading, failed navigation and form requests."
|
|
4852
5304
|
},
|
|
4853
5305
|
{
|
|
4854
5306
|
id: "layout-scroll-presentation",
|
|
@@ -4874,9 +5326,9 @@ var init_registry = __esm({
|
|
|
4874
5326
|
],
|
|
4875
5327
|
capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["react-native-webview"],
|
|
4876
5328
|
strictCoverage: REACT_NATIVE_WEBVIEW_STRICT_COVERAGE,
|
|
4877
|
-
note: "native-seam only: the published package runs unchanged and routes RNCWebView through the tenant-to-shell hosted iframe surface. the implementation estimate uses reviewed feature weights; the separate equal-surface strict diagnostic includes the shared, iOS, and Android public prop and ref surface. paired native and SootSim runtime conformance covers local HTML, base URL, URI loading, load and navigation callbacks, both injection phases, two-way messaging, imperative URI reload and injection, content scrolling, parent translation, and onOpenWindow target delivery.",
|
|
4878
|
-
working: "source.uri/source.html/source.baseUrl, Chromium cross-origin URI loading under the shell COEP, same-origin URI cookies, source.html persistent localStorage, document-start ReactNativeWebView bootstrap and injectedJavaScriptBeforeContentLoaded/injectedJavaScript on source.html, strict ReactNativeWebView.postMessage bridge envelope in both directions, onMessage synthetic event with navigation fields, onOpenWindow target delivery for source.html, successful onLoad/Start/End and onNavigationStateChange, ref.reload on URI pages, ref.injectJavaScript/postMessage, internal content scrolling, renderLoading, javaScriptEnabled sandbox, layout, inherited clipping and visibility, parked/live presentation",
|
|
4879
|
-
missing: "Safari/WebKit cross-origin URI pages without COEP-compatible response headers remain permanently loading because WebKit ignores iframe credentialless; Chromium credentialless cross-origin URI frames send no credentials, including cookies set by their own origin, and use ephemeral storage; iframe pixels in canvas screenshots; script injection, ReactNativeWebView bootstrap, and onOpenWindow for remote pages, which get no bridge at all because a browser cannot script a cross-origin frame; cross-origin ref.goBack/goForward/stopLoading and truthful canGoBack/canGoForward values; failed HTTP/refused navigation callbacks (onError/onHttpError and renderError); onShouldStartLoadWithRequest, allowsBackForwardNavigationGestures, userAgent, dataDetectorTypes, cacheEnabled, incognito, scalesPageToFit, originWhitelist enforcement"
|
|
5329
|
+
note: "native-seam only: the published package runs unchanged and routes RNCWebView through the tenant-to-shell hosted iframe surface. the implementation estimate uses reviewed feature weights; the separate equal-surface strict diagnostic includes the shared, iOS, and Android public prop and ref surface. paired native and SootSim runtime conformance covers local HTML, base URL, URI loading, load and navigation callbacks, both injection phases, two-way messaging, imperative URI reload and injection, local HTML fragment navigation and link-request decisions, content scrolling, parent translation, and onOpenWindow target delivery.",
|
|
5330
|
+
working: "source.uri/source.html/source.baseUrl, Chromium cross-origin URI loading under the shell COEP, same-origin URI cookies, source.html persistent localStorage, document-start ReactNativeWebView bootstrap and injectedJavaScriptBeforeContentLoaded/injectedJavaScript on source.html, strict ReactNativeWebView.postMessage bridge envelope in both directions, onMessage synthetic event with navigation fields, onOpenWindow target delivery for source.html, successful onLoad/Start/End and onNavigationStateChange, ref.reload on URI pages, ref.injectJavaScript/postMessage, local HTML fragment URL/callback behavior, onShouldStartLoadWithRequest for local link clicks with native-shaped request and loading payloads, internal content scrolling, renderLoading, javaScriptEnabled sandbox, layout, inherited clipping and visibility, parked/live presentation",
|
|
5331
|
+
missing: "Safari/WebKit cross-origin URI pages without COEP-compatible response headers remain permanently loading because WebKit ignores iframe credentialless; Chromium credentialless cross-origin URI frames send no credentials, including cookies set by their own origin, and use ephemeral storage; iframe pixels in canvas screenshots; script injection, ReactNativeWebView bootstrap, and onOpenWindow for remote pages, which get no bridge at all because a browser cannot script a cross-origin frame; cross-origin ref.goBack/goForward/stopLoading and truthful canGoBack/canGoForward values; failed HTTP/refused navigation callbacks (onError/onHttpError and renderError); initial-load and form onShouldStartLoadWithRequest callbacks, allowsBackForwardNavigationGestures, userAgent, dataDetectorTypes, cacheEnabled, incognito, scalesPageToFit, originWhitelist enforcement"
|
|
4880
5332
|
}
|
|
4881
5333
|
]
|
|
4882
5334
|
},
|
|
@@ -4954,42 +5406,42 @@ var init_registry = __esm({
|
|
|
4954
5406
|
id: "status-observation",
|
|
4955
5407
|
usage: 3,
|
|
4956
5408
|
importance: 3,
|
|
4957
|
-
estimate:
|
|
4958
|
-
rationale: "fetch,
|
|
5409
|
+
estimate: 1,
|
|
5410
|
+
rationale: "upstream fetch, hooks, and listeners receive the host network snapshot, including the initial subscription notification"
|
|
4959
5411
|
},
|
|
4960
5412
|
{
|
|
4961
5413
|
id: "global-singleton",
|
|
4962
5414
|
usage: 3,
|
|
4963
5415
|
importance: 3,
|
|
4964
|
-
estimate:
|
|
4965
|
-
rationale: "the
|
|
5416
|
+
estimate: 1,
|
|
5417
|
+
rationale: "the published singleton supplies configure, fetch, refresh, and subscription replacement over the native network seam"
|
|
4966
5418
|
},
|
|
4967
5419
|
{
|
|
4968
5420
|
id: "hooks",
|
|
4969
5421
|
usage: 3,
|
|
4970
5422
|
importance: 2,
|
|
4971
|
-
estimate:
|
|
4972
|
-
rationale: "useNetInfo
|
|
5423
|
+
estimate: 1,
|
|
5424
|
+
rationale: "published useNetInfo and useNetInfoInstance retain configuration, refresh, pause, resume, and subscription cleanup"
|
|
4973
5425
|
},
|
|
4974
5426
|
{
|
|
4975
5427
|
id: "state-fidelity",
|
|
4976
5428
|
usage: 2,
|
|
4977
5429
|
importance: 2,
|
|
4978
|
-
estimate: 0.
|
|
4979
|
-
rationale: "
|
|
5430
|
+
estimate: 0.75,
|
|
5431
|
+
rationale: "browser transport hints and data-saving state populate the upstream snapshot; native network identifiers and metrics remain unavailable, and reachability follows navigator.onLine"
|
|
4980
5432
|
},
|
|
4981
5433
|
{
|
|
4982
5434
|
id: "public-enums",
|
|
4983
5435
|
usage: 1,
|
|
4984
5436
|
importance: 1,
|
|
4985
5437
|
estimate: 1,
|
|
4986
|
-
rationale: "
|
|
5438
|
+
rationale: "upstream NetInfoStateType and NetInfoCellularGeneration runtime enums are present"
|
|
4987
5439
|
}
|
|
4988
5440
|
],
|
|
4989
5441
|
capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["@react-native-community/netinfo"],
|
|
4990
|
-
note: "
|
|
4991
|
-
working: "fetch, useNetInfo,
|
|
4992
|
-
missing:
|
|
5442
|
+
note: "published upstream JavaScript runs over the host-backed RNCNetInfo native seam; feature estimates cover browser-hosted network behavior",
|
|
5443
|
+
working: "fetch, refresh, configure, initial and subsequent listener notifications, useNetInfo, useNetInfoInstance, and upstream runtime enums",
|
|
5444
|
+
missing: "native network identifiers and metrics are unavailable; transport hints depend on browser support, and default Internet reachability mirrors navigator.onLine rather than probing a remote endpoint"
|
|
4993
5445
|
}
|
|
4994
5446
|
]
|
|
4995
5447
|
},
|
|
@@ -5034,14 +5486,14 @@ var init_registry = __esm({
|
|
|
5034
5486
|
id: "keyboard-native-views-and-toolbar",
|
|
5035
5487
|
usage: 1,
|
|
5036
5488
|
importance: 2,
|
|
5037
|
-
estimate: 0,
|
|
5038
|
-
rationale: "
|
|
5489
|
+
estimate: 0.55,
|
|
5490
|
+
rationale: "KeyboardExtender hosts persistent interactive content above the keyboard, reserves its measured height in the parent, reacts to resizing and enable changes, and takes precedence over named accessories. KeyboardToolbar.Group scopes focus navigation and focusDidSet coordinates. OverKeyboardView hosts interactive content in its show-time app or keyboard window with retained focus and real browser pointer delivery. These three workflows receive 55% of the grouped feature, retaining deductions for extender keyboard-frame metrics and exact native geometry, toolbar eligibility for hidden or zero-size inputs, and unverified native-window fidelity. Background effects and clipping remain absent."
|
|
5039
5491
|
}
|
|
5040
5492
|
],
|
|
5041
5493
|
capabilityCoverage: CAPABILITY_INVENTORY_PACKAGE_COVERAGE["react-native-keyboard-controller"],
|
|
5042
5494
|
note: "native bindings stubbed (KeyboardControllerNative, KeyboardEvents, FocusedInputEvents, WindowDimensionsEvents, KeyboardControllerView + sibling native views); upstream pure-JS components, hooks, animated module, and KeyboardAvoidingView resolve from node_modules unchanged",
|
|
5043
5495
|
working: "every upstream JS export runs through reanimated worklets; Android KeyboardGestureArea drives the existing keyboard owner through drag progress, velocity/distance settling, cancellation, focus retention, and cleanup; supported exports include KeyboardProvider, KeyboardAvoidingView, KeyboardStickyView, KeyboardAwareScrollView, KeyboardToolbar, KeyboardGestureArea, useReanimatedKeyboardAnimation, useKeyboardAnimation, useKeyboardHandler, useGenericKeyboardHandler, useKeyboardController, useKeyboardState, useKeyboardContext, useReanimatedFocusedInput, useFocusedInputHandler, useResizeMode, useWindowDimensions, KeyboardEvents, FocusedInputEvents, WindowDimensionsEvents resize events, KeyboardController (dismiss/setFocusTo/isVisible/state/preload/setInputMode/setDefaultMode), KeyboardControllerView, OverKeyboardView, KeyboardBackgroundView, KeyboardExtender, ClippingScrollView, KeyboardToolbarGroupView, and AndroidSoftInputModes",
|
|
5044
|
-
missing: "OverKeyboardView
|
|
5496
|
+
missing: "KeyboardBackgroundView and ClippingScrollView lack their native platform effects; OverKeyboardView native-window fidelity beyond the observed iOS browser cases remains unverified; KeyboardExtender does not include accessory height in keyboard-frame metrics and exact native geometry remains incomplete; toolbar focus eligibility excludes hidden or zero-size inputs that native iOS counts"
|
|
5045
5497
|
}
|
|
5046
5498
|
]
|
|
5047
5499
|
},
|
|
@@ -5307,10 +5759,10 @@ var init_registry = __esm({
|
|
|
5307
5759
|
versions: [
|
|
5308
5760
|
{
|
|
5309
5761
|
range: ">=12.0.0",
|
|
5310
|
-
coverage: 0.
|
|
5311
|
-
note: "the published package runs unchanged;
|
|
5312
|
-
working: "openBrowserAsync host handoff, dismissBrowser result, warmUpAsync, coolDownAsync, mayInitWithUrlAsync, published non-Android getCustomTabsSupportingBrowsersAsync shape with
|
|
5313
|
-
missing: "
|
|
5762
|
+
coverage: 0.8,
|
|
5763
|
+
note: "the published package runs unchanged; ordinary browser opens hand off to the host, and host-owned auth sessions deliver successful callback URLs, explicit user cancellation, programmatic dismissal, and replacement. the 80% implementation estimate follows the mounted published-package test under cross-origin isolation and ordinary popup blocking; native browser presentation and unrestricted redirect schemes remain unsupported.",
|
|
5764
|
+
working: "openBrowserAsync host handoff, dismissBrowser result, warmUpAsync, coolDownAsync, mayInitWithUrlAsync, published non-Android getCustomTabsSupportingBrowsersAsync shape, openAuthSessionAsync success with callback URL, explicit host Cancel Sign-In, dismissAuthSession and replacement dismissal, identity-matched callback and control cleanup, preservation of guest alerts during sign-in, and upstream enums and option processing",
|
|
5765
|
+
missing: "embedded SFSafariViewController or Chrome Custom Tab, native styling and cookie isolation, closing an ordinary handed-off host tab from dismissBrowser, custom-scheme or foreign-origin auth callbacks, and observing abandonment after browser isolation severs the popup proxy. auth requires a same-origin HTTP(S) callback and user activation allowed by popup policy; an abandoned isolated provider requires the visible host cancel control"
|
|
5314
5766
|
}
|
|
5315
5767
|
]
|
|
5316
5768
|
},
|
|
@@ -9177,10 +9629,11 @@ var init_registry = __esm({
|
|
|
9177
9629
|
stubType: "native",
|
|
9178
9630
|
versions: [
|
|
9179
9631
|
{
|
|
9180
|
-
range: ">=
|
|
9632
|
+
range: ">=0.4.0",
|
|
9181
9633
|
coverage: 0.65,
|
|
9182
|
-
note: "native seam for EnrichedMarkdownText/EnrichedMarkdown/EnrichedMarkdownTextInput generated host components; upstream JS wrapper and Streamdown integration run unchanged",
|
|
9183
|
-
|
|
9634
|
+
note: "native seam for the EnrichedMarkdownText/EnrichedMarkdown/EnrichedMarkdownTextInput generated host components; the upstream JS wrapper, its style normalization, and the Streamdown integration run unchanged",
|
|
9635
|
+
working: "markdown parsed and rendered into real text and view hosts with upstream's normalized markdownStyle applied: paragraphs, h1-h6 at their default sizes and colors, bold/italic/strikethrough/underline, inline code and code blocks, blockquotes, ordered and unordered lists, task-list markers, links with onLinkPress, thematic breaks, tables with upstream's header, cell padding, and alternating row colors, block and inline images, plus selectable text and the imperative command surface",
|
|
9636
|
+
missing: "MD4C parsing fidelity (markdown-to-jsx handles the grammar instead), so unusual constructs can differ; native selection menus, spoilers, and math are absent, and the editable rich-markdown commands are accepted without changing the buffer"
|
|
9184
9637
|
}
|
|
9185
9638
|
]
|
|
9186
9639
|
},
|
|
@@ -10273,6 +10726,175 @@ var init_registry = __esm({
|
|
|
10273
10726
|
}
|
|
10274
10727
|
]
|
|
10275
10728
|
},
|
|
10729
|
+
"whisper.rn": {
|
|
10730
|
+
category: "ML",
|
|
10731
|
+
stubType: "native",
|
|
10732
|
+
versions: [
|
|
10733
|
+
{
|
|
10734
|
+
range: ">=0.6.0",
|
|
10735
|
+
coverage: 0.3,
|
|
10736
|
+
note: "native-seam only: RNWhisper.install() mounts all fourteen JSI bindings so the package's own JS runs, but transcripts come from the host speech recognizer instead of a whisper model",
|
|
10737
|
+
working: "package load and JSI binding handshake, getConstants, context and VAD context init/release lifecycle, transcribeFile/transcribeData resolving TranscribeResult shapes, onProgress and onNewSegments callbacks, abortTranscribe, bench, toggleNativeLog, and RealtimeTranscriber delivering real text through the browser SpeechRecognition API",
|
|
10738
|
+
missing: "no whisper.cpp/ggml runtime, so the declared model file is never loaded \u2014 no CoreML or GPU acceleration, model-derived segment timings, token timestamps, tinydiarize, beam/temperature decoding options, language auto-detect, or real VAD speech probabilities"
|
|
10739
|
+
}
|
|
10740
|
+
]
|
|
10741
|
+
},
|
|
10742
|
+
"@fugood/react-native-audio-pcm-stream": {
|
|
10743
|
+
category: "Media",
|
|
10744
|
+
stubType: "native",
|
|
10745
|
+
versions: [
|
|
10746
|
+
{
|
|
10747
|
+
range: ">=1.0.0",
|
|
10748
|
+
coverage: 0.25,
|
|
10749
|
+
note: "native-seam only: the RNLiveAudioStream recorder lifecycle and data events run, but the frames carry silence because the worker has no microphone capture path",
|
|
10750
|
+
working: "the published AudioRecord wrapper unchanged \u2014 init stores sampleRate/channels/bitsPerSample/audioSource/bufferSize, start begins a steady 'data' cadence through NativeEventEmitter and starts the host speech recognizer, stop ends both, and each frame is base64 of the configured buffer size",
|
|
10751
|
+
missing: "frames are silence rather than microphone PCM, so amplitude, level metering, and waveform analysis read zero; wavFile writing and audioSource routing have no effect"
|
|
10752
|
+
}
|
|
10753
|
+
]
|
|
10754
|
+
},
|
|
10755
|
+
"react-native-edge-fade": {
|
|
10756
|
+
category: "UI Components",
|
|
10757
|
+
stubType: "native",
|
|
10758
|
+
versions: [
|
|
10759
|
+
{
|
|
10760
|
+
range: ">=0.1.0",
|
|
10761
|
+
coverage: 0.85,
|
|
10762
|
+
note: "native-seam only: the published JS wrapper runs unchanged over an EdgeFadeView host component that reproduces the native curve tables and all three fade modes",
|
|
10763
|
+
working: "fadeTop/fadeBottom/fadeLeft/fadeRight on all four edges at once, the curveTop/curveBottom/curveLeft/curveRight presets and comma-separated custom alpha stops sampled from the same tables as the native EdgeFadeCurves, mode='mask' (masked content), mode='overlay' (per-edge or shared overlayColor gradients), mode='blur' (a masked blur band with frostProgression shaping the ramp), fadeRadius corner clipping, and pass-through of every other View prop",
|
|
10764
|
+
missing: "frostSaturation and frostLift are accepted but ignored \u2014 there is no browser vibrancy filter behind the blur band, and the blur is a single Gaussian rather than the native progressive blur stack, so a blurred edge reads slightly flatter than on device"
|
|
10765
|
+
}
|
|
10766
|
+
]
|
|
10767
|
+
},
|
|
10768
|
+
"@metamask/native-utils": {
|
|
10769
|
+
category: "Auth & Payments",
|
|
10770
|
+
stubType: "native",
|
|
10771
|
+
versions: [
|
|
10772
|
+
{
|
|
10773
|
+
range: ">=0.2.0",
|
|
10774
|
+
coverage: 0.95,
|
|
10775
|
+
note: "native-seam only: the published JS marshalling wrapper runs unchanged over a NativeUtils nitro HybridObject that computes exactly what upstream documents its C++ side to compute",
|
|
10776
|
+
working: "all eight hybrid methods \u2014 multiply, toPublicKey and toPublicKeyFromBytes (secp256k1, compressed and uncompressed), getPublicKeyEd25519 and getPublicKeyEd25519FromBytes, keccak256FromBytes, pubToAddress (with the @ethereumjs/util sanitize branch), and hmacSha512 \u2014 each backed by the @noble implementation upstream states it is byte-identical to, so BIP32 derivation and address computation produce the same bytes as on device",
|
|
10777
|
+
missing: "the native C++ speedup itself: this is the @noble path metamask patches away for performance, so heavy HD-derivation loops run at JavaScript speed"
|
|
10778
|
+
}
|
|
10779
|
+
]
|
|
10780
|
+
},
|
|
10781
|
+
"@universe/hashcash-native": {
|
|
10782
|
+
category: "Networking",
|
|
10783
|
+
stubType: "native",
|
|
10784
|
+
versions: [
|
|
10785
|
+
{
|
|
10786
|
+
range: ">=0.1.0",
|
|
10787
|
+
coverage: 0.7,
|
|
10788
|
+
note: "native-seam only: the published wrapper runs unchanged over a Hashcash nitro HybridObject that searches the counter range with Web Crypto SHA-256",
|
|
10789
|
+
working: "findProof over the requested rangeStart/rangeSize (defaulting to the challenge maxProofLength), the leading-zero-byte difficulty test, the counter/hashBase64/attempts/timeMs result shape, undefined when the range is exhausted, and cancel stopping the search at the next batch boundary",
|
|
10790
|
+
missing: "the native multi-threaded solver, so a high-difficulty challenge takes far longer on the JavaScript SubtleCrypto path and cancellation only takes effect between 256-counter batches instead of immediately"
|
|
10791
|
+
}
|
|
10792
|
+
]
|
|
10793
|
+
},
|
|
10794
|
+
"react-native-config-reader": {
|
|
10795
|
+
category: "Device & Platform",
|
|
10796
|
+
stubType: "native",
|
|
10797
|
+
versions: [
|
|
10798
|
+
{
|
|
10799
|
+
range: ">=1.0.0",
|
|
10800
|
+
coverage: 0.4,
|
|
10801
|
+
note: "native-seam only: the package's two-line JS runs unchanged and finds an RNConfigReader module on both platforms, including the iOS BuildConfigs sub-object it dereferences at import",
|
|
10802
|
+
working: "module presence on both platforms so the import never throws, the iOS BuildConfigs branch, and the DEBUG/BUILD_TYPE fields every Android BuildConfig carries \u2014 answered truthfully for a preview build",
|
|
10803
|
+
missing: "the app's own generated BuildConfig fields: upstream reflects whatever gradle declared, which the browser cannot know, so any app-private flag reads back undefined exactly as it would in a build that never declared it"
|
|
10804
|
+
}
|
|
10805
|
+
]
|
|
10806
|
+
},
|
|
10807
|
+
"react-native-rsa-native": {
|
|
10808
|
+
category: "Auth & Payments",
|
|
10809
|
+
stubType: "native",
|
|
10810
|
+
versions: [
|
|
10811
|
+
{
|
|
10812
|
+
range: ">=2.0.0",
|
|
10813
|
+
coverage: 0.8,
|
|
10814
|
+
note: "native-seam only: the package's `const { RNRSA, RNRSAKeychain } = NativeModules` runs unchanged over real RSA \u2014 Web Crypto for keygen, OAEP, and signing, and BigInt for the PKCS#1 v1.5 encryption Web Crypto omits",
|
|
10815
|
+
working: "RNRSA generate/generateKeys, encrypt/decrypt and encrypt64/decrypt64, sign/verify and their 64 and withAlgorithm variants across the SHA-1/224/256/384/512 signing algorithms, PEM import and export; RNRSAKeychain generate, encrypt/decrypt, sign/verify, and deletePrivateKey against a keyTag",
|
|
10816
|
+
missing: "the OS keychain itself \u2014 keys live in an in-memory map, so they do not survive a reload and gain no Secure Enclave protection; EC keychain keys, generateCSR, and generateCSRWithEC throw an explicit unsupported error"
|
|
10817
|
+
}
|
|
10818
|
+
]
|
|
10819
|
+
},
|
|
10820
|
+
"@mattermost/rnutils": {
|
|
10821
|
+
category: "Device & Platform",
|
|
10822
|
+
stubType: "native",
|
|
10823
|
+
versions: [
|
|
10824
|
+
{
|
|
10825
|
+
range: ">=0.1.0",
|
|
10826
|
+
coverage: 0.45,
|
|
10827
|
+
note: "native-seam only: the published wrapper runs unchanged over an RNUtils TurboModule that answers window geometry for real and reports a clean unmanaged state elsewhere",
|
|
10828
|
+
working: "getWindowDimensions from the live tenant window and its dimension events, getConstants, the addListener/removeListeners bookkeeping, isRunningInSplitView (false/false), the orientation lock calls, getHasRegisteredLoad/setHasRegisteredLoad, and getRealFilePath/saveFile echoing the path back",
|
|
10829
|
+
missing: "app-group shared directories and database paths are empty strings, so shared-container reads find nothing; deleteDatabaseDirectory, renameDatabase, deleteEntitiesFile, createZipFile, the delivered-notification queries and removals, keyboard resize modes, and setNavigationBarColor are accepted and do nothing"
|
|
10830
|
+
}
|
|
10831
|
+
]
|
|
10832
|
+
},
|
|
10833
|
+
"@mattermost/react-native-emm": {
|
|
10834
|
+
category: "Device & Platform",
|
|
10835
|
+
stubType: "native",
|
|
10836
|
+
versions: [
|
|
10837
|
+
{
|
|
10838
|
+
range: ">=1.0.0",
|
|
10839
|
+
coverage: 0.35,
|
|
10840
|
+
note: "native-seam only: the published wrapper runs unchanged over an Emm TurboModule reporting the unmanaged, unsecured device state a browser preview actually has",
|
|
10841
|
+
working: "module load and getConstants, getManagedConfig returning an empty policy so the app takes its unmanaged branch, deviceSecureWith reporting no face/fingerprint/passcode, the listener bookkeeping, and setAppGroupId/openSecuritySettings/exitApp accepted without effect",
|
|
10842
|
+
missing: "no EMM policy controller, so a managed configuration is never delivered; authenticate rejects because there is no device credential prompt, and setBlurScreen/applyBlurEffect/removeBlurEffect do not obscure the app in the task switcher"
|
|
10843
|
+
}
|
|
10844
|
+
]
|
|
10845
|
+
},
|
|
10846
|
+
"@expensify/react-native-hybrid-app": {
|
|
10847
|
+
category: "Device & Platform",
|
|
10848
|
+
stubType: "native",
|
|
10849
|
+
versions: [
|
|
10850
|
+
{
|
|
10851
|
+
range: ">=0.1.0",
|
|
10852
|
+
coverage: 0.5,
|
|
10853
|
+
note: "native-seam only: the published wrapper runs unchanged over a ReactNativeHybridApp TurboModule that reports a standalone (non-hybrid) build, which is what a browser preview is",
|
|
10854
|
+
working: "the full Spec surface loads and every method matches its upstream return type \u2014 isHybridApp() is false so the bundle stays on its standalone branch instead of the legacy-shell path, getHybridAppSettings and getInitialURL resolve null, and the sign-in, sign-out, account-switch, onboarding, and listener calls are accepted",
|
|
10855
|
+
missing: "there is no second native shell to hand off to, so the legacy-app transition, its session and auth-token exchange, and closeReactNativeApp have no effect"
|
|
10856
|
+
}
|
|
10857
|
+
]
|
|
10858
|
+
},
|
|
10859
|
+
"expo-app-integrity": {
|
|
10860
|
+
category: "Device & Platform",
|
|
10861
|
+
stubType: "native",
|
|
10862
|
+
versions: [
|
|
10863
|
+
{
|
|
10864
|
+
range: ">=0.1.0",
|
|
10865
|
+
coverage: 0.7,
|
|
10866
|
+
note: "native-seam only \u2014 the legacy specifier for @expo/app-integrity, sharing its seam: the published wrapper runs unchanged; the reference iOS simulator reports isSupported=false, and every App Attest call rejects with the upstream ERR_APP_INTEGRITY_FEATURE_UNSUPPORTED code and message",
|
|
10867
|
+
working: "all nine public exports: isSupported=false; generateKeyAsync, attestKeyAsync, and generateAssertionAsync reject with the real iOS-simulator unsupported error; Android-only methods take the upstream wrapper platform-error or false branches on iOS",
|
|
10868
|
+
missing: "real App Attest keys, attestations, and assertions; Android Play Integrity tokens and hardware-backed key attestation"
|
|
10869
|
+
}
|
|
10870
|
+
]
|
|
10871
|
+
},
|
|
10872
|
+
"@domir/react-native-measure-text": {
|
|
10873
|
+
category: "UI Components",
|
|
10874
|
+
stubType: "native",
|
|
10875
|
+
versions: [
|
|
10876
|
+
{
|
|
10877
|
+
range: ">=0.1.0",
|
|
10878
|
+
coverage: 0.9,
|
|
10879
|
+
note: "native-seam only: the published wrapper runs unchanged over a ReactNativeMeasureText expo module whose synchronous measureWidth uses the same text measurement the layout engine uses, so a measured width matches what renders",
|
|
10880
|
+
working: "synchronous measureWidth(text, style) honouring fontFamily, fontSize, fontWeight, and letterSpacing; the older RNMeasureText TurboModule measure(texts, fontSize, width) with upstream\u2019s invalid_width/invalid_texts/invalid_fontSize rejections",
|
|
10881
|
+
missing: "allowFontScaling is accepted but has no OS text-size setting to scale by, and the legacy TurboModule multi-line heights come from a character-width approximation rather than real line breaking"
|
|
10882
|
+
}
|
|
10883
|
+
]
|
|
10884
|
+
},
|
|
10885
|
+
"@sparkfabrik/react-native-idfa-aaid": {
|
|
10886
|
+
category: "Analytics",
|
|
10887
|
+
stubType: "native",
|
|
10888
|
+
versions: [
|
|
10889
|
+
{
|
|
10890
|
+
range: ">=0.6.0",
|
|
10891
|
+
coverage: 0.5,
|
|
10892
|
+
note: "native-seam only: the published wrapper runs unchanged and both queries resolve the denied, no-identifier result \u2014 the same answer a device with tracking turned off gives",
|
|
10893
|
+
working: "getAdvertisingInfo and getAdvertisingInfoAndCheckAuthorization resolve { id: null, isAdTrackingLimited: true }, so callers take their tracking-disabled branch and keep ad properties off",
|
|
10894
|
+
missing: "no platform advertising identifier exists in the browser, so an IDFA or AAID is never returned and the iOS tracking-authorization prompt is never shown"
|
|
10895
|
+
}
|
|
10896
|
+
]
|
|
10897
|
+
},
|
|
10276
10898
|
"@react-native-community/progress-bar-android": {
|
|
10277
10899
|
category: "UI Components",
|
|
10278
10900
|
stubType: "native",
|
|
@@ -35352,7 +35974,9 @@ var init_bridge_flow_runner = __esm({
|
|
|
35352
35974
|
}
|
|
35353
35975
|
const matchesId = compile(${JSON.stringify(opts.id)})
|
|
35354
35976
|
const matchesText = compile(${JSON.stringify(opts.text)})
|
|
35355
|
-
const all = ((await test.queryAll({
|
|
35977
|
+
const all = ((await test.queryAll(${JSON.stringify(
|
|
35978
|
+
opts.id && !opts.childOf ? { idPattern: opts.id } : {}
|
|
35979
|
+
)})) || []).filter(
|
|
35356
35980
|
(n) => n && n.absolutePosition && n.layout,
|
|
35357
35981
|
)
|
|
35358
35982
|
let candidates = all.filter((n) =>
|
|
@@ -35506,8 +36130,10 @@ var init_bridge_flow_runner = __esm({
|
|
|
35506
36130
|
return element;
|
|
35507
36131
|
}
|
|
35508
36132
|
replayTargetForElement(opts, element, tapTarget) {
|
|
36133
|
+
const id = opts.id ?? tapTarget?.target?.id ?? element.id;
|
|
35509
36134
|
return {
|
|
35510
|
-
|
|
36135
|
+
nodeId: tapTarget?.target?.nodeId ?? element.nodeId,
|
|
36136
|
+
id: typeof id === "string" ? id : null,
|
|
35511
36137
|
testID: opts.id ?? tapTarget?.target?.testID ?? element.testID ?? null,
|
|
35512
36138
|
text: opts.text ?? tapTarget?.target?.text ?? tapTarget?.target?.accessibilityLabel ?? element.text ?? element.accessibilityLabel ?? null,
|
|
35513
36139
|
type: tapTarget?.target?.type ?? element.type ?? null
|
|
@@ -35567,6 +36193,8 @@ var init_bridge_flow_runner = __esm({
|
|
|
35567
36193
|
cy,
|
|
35568
36194
|
this.replayTargetForElement(opts, current, tapTarget)
|
|
35569
36195
|
);
|
|
36196
|
+
if (hit?.requestedTargetMatched === false)
|
|
36197
|
+
throw new Error(`tapOn refused: ${JSON.stringify(hit)}`);
|
|
35570
36198
|
if (hit?.hit === true) {
|
|
35571
36199
|
await sleep3(300);
|
|
35572
36200
|
if (!current.isTextInput) return;
|