Variable MobileSnapshotSchemaConst
MobileSnapshotSchema: decodeTo<
toType<
Struct<
{
application: Struct<
{
adaptiveUi: optional<Boolean>;
APP_VERSION: String;
APP_VERSION_CODE: String;
BLOKS_VERSION_ID: String;
bloksClientContext: optional<
Struct<{ keys: $Array<Literals<(...)>> }>,
>;
bloksInfraTheme: optional<String>;
bloksPrismExtendedPalette: optional<
Struct<{ gray: Boolean; polish: Boolean }>,
>;
bloksThemeParams: optional<
$Array<
Struct<{ design_system_name: String; value: $Array<(...)> }>,
>,
>;
BREADCRUMB_KEY: String;
CAPABILITIES: String;
directInboxMode: optional<Number>;
directSearchGenAiBotsLimit: optional<Number>;
FACEBOOK_ANALYTICS_APPLICATION_ID: String;
FACEBOOK_ANALYTICS_CLIENT_TOKEN: optional<String>;
GRAPHQL_DOC_IDS: optional<$Record<String, String>>;
GRAPHQL_GZIP_MIN_BYTES: optional<Number>;
GRAPHQL_OMIT_PRETTY: optional<Boolean>;
GRAPHQL_SERVER_TIMESTAMPS: optional<
Union<readonly [Literal<"true">, Literal<"timestamp">]>,
>;
launchWire: optional<Literal<"451">>;
mediaLikeWire: optional<Literals<readonly ["rest", "graphql"]>>;
mediaNoteWire: optional<Literals<readonly ["451", "450"]>>;
mediaRepostWire: optional<
Literals<readonly ["note-with-text", "editor"]>,
>;
reelsTrayPageSize: optional<Number>;
shoppingExperiments: optional<$Array<String>>;
SUPPORTED_CAPABILITIES: $Array<
Struct<{ name: String; value: String }>,
>;
ufiActionFlowActions: optional<
$Array<Literals<readonly ["like", "comment"]>>,
>;
ZERO_HEADERS: optional<
Struct<
{
authenticated: Struct<{ balance: ...; eh: ... }>;
"logged-out": Struct<{ balance: ...; eh: ... }>;
"rmd-evaluated": Struct<{ balance: ...; eh: ... }>;
},
>,
>;
},
>;
cookies: Unknown;
device: Struct<
{
adid: String;
adsOptOut: optional<Boolean>;
androidDevicePerformanceClass: optional<Number>;
aymhAccounts: optional<$Array<$Record<String, Unknown>>>;
battery: optional<
Union<
readonly [
Struct<{ kind: ...; startedAtMs: ...; startLevel: ... }>,
Struct<
{
kind: ...;
percentPerHour: ...;
startedAtMs: ...;
startLevel: ...;
},
>,
],
>,
>;
build: String;
cloudTrustToken: optional<String>;
currentKeyboardLanguage: optional<String>;
descriptor: String;
deviceStatus: optional<$Record<String, Unknown>>;
familyDeviceSynced: optional<Boolean>;
familyId: String;
fbnsKey: optional<Struct<{ createdAt: Number; publicKey: String }>>;
flashCallPermissionsStatus: optional<
Struct<
{
ANSWER_PHONE_CALLS: Literals<readonly [(...), (...)]>;
READ_CALL_LOG: Literals<readonly [(...), (...)]>;
READ_PHONE_STATE: Literals<readonly [(...), (...)]>;
},
>,
>;
gmsCallRetrieverEligibility: optional<
Literals<readonly ["eligible", "not_eligible"]>,
>;
gpuMemoryMb: optional<Number>;
hasCameraPermission: optional<Boolean>;
hasGoogleAdId: optional<Boolean>;
hasNotificationPermission: optional<Boolean>;
id: String;
isFoldable: optional<Boolean>;
isLayoutRTL: Boolean;
keyboardLanguage: optional<String>;
language: String;
lastPushRegistration: optional<Struct<{ at: Number }>>;
location: optional<Struct<{ lat: Number; lng: Number }>>;
mobileConfig: optional<
Struct<
{
accounts: optional<$Record<(...), (...)>>;
appVersion: optional<String>;
sessionless: optional<$Record<(...), (...)>>;
},
>,
>;
network: optional<
Union<
readonly [
Struct<{ kind: ...; radio: ... }>,
Struct<{ kind: ... }>,
],
>,
>;
networkInfo: optional<
Struct<
{
active_subscriptions_info: Null;
default_subscription_info: Struct<
{
group_id_level_1: ...;
is_data_roaming: ...;
is_esim: ...;
is_gsm_roaming: ...;
is_mobile_data_enabled: ...;
is_sim_sms_capable: ...;
network_operator: ...;
network_type: ...;
signal_strength: ...;
sim_carrier_id: ...;
sim_carrier_id_name: ...;
sim_operator: ...;
sim_operator_name: ...;
sim_state: ...;
},
>;
is_active_network_cellular: Number;
is_airplane_mode: Number;
is_device_sms_capable: Number;
is_wifi: Number;
sim_count: Number;
},
>,
>;
networkSessionId: optional<String>;
phoneId: String;
pigeonIdentities: optional<
$Record<
String,
Struct<
{
config: optional<(...)>;
hmacTtl: optional<(...)>;
sampling: optional<(...)>;
},
>,
>,
>;
pushHpkeIdentity: optional<
Struct<
{ keystoreId: String; privKeyPem: String; pubKeyB64: String },
>,
>;
pushToken: optional<String>;
radioType: optional<String>;
ramSizeInGb: optional<Number>;
rmd: optional<Struct<{ kind: Literals<readonly [(...), (...)]> }>>;
rmdNoValidMapTimes: optional<
Struct<{ recvTime: String; reqTime: String }>,
>;
systemLanguages: optional<$Array<String>>;
systemLocale: optional<String>;
timezoneName: optional<String>;
timezoneOffset: String;
usdidIdentity: optional<
Struct<
{
kid: String;
privKeyPem: String;
pubKeySpkiB64: String;
uuid: String;
},
>,
>;
uuid: String;
videoEncoders: optional<
$Record<
String,
$Array<
Struct<
{
bitrate: ...;
complexity: ...;
encoder_name: ...;
frame_rate: ...;
height: ...;
height_alignment: ...;
max_instances: ...;
width: ...;
width_alignment: ...;
},
>,
>,
>,
>;
zeroAttestationIdentity: optional<
Struct<
{ keyHash: String; privKeyPem: String; uploadedAtMs: Number },
>,
>;
},
>;
session: Struct<
{
appStartPhase: optional<Literal<"cold">>;
appStartTimeMs: optional<Number>;
authorization: optional<String>;
bandwidth: optional<
Struct<
{
bytes: Number;
carried: optional<Literal<(...)>>;
ms: Number;
stack: optional<Struct<(...)>>;
},
>,
>;
challenge: optional<$Record<String, Unknown>>;
checkpoint: optional<$Record<String, Unknown>>;
clientSessionIdLifetime: Number;
directInboxCache: optional<Struct<{ threads: $Array<Struct<(...)>> }>>;
directInboxSeqId: optional<Number>;
directLoadedThreads: optional<$Array<String>>;
dsUserId: optional<String>;
familyDeviceIdBound: optional<Boolean>;
fbidV2: optional<String>;
igWWWClaim: optional<String>;
lastCreationMode: optional<
Literals<readonly ["post", "reel", "story"]>,
>;
metaAiConsent: optional<
Struct<
{
cacheTimeSeconds: Number;
fetchedAtSeconds: Number;
nuxType: String;
requiresNux: Boolean;
text: String;
version: String;
},
>,
>;
metaSubsEntrypointSessions: optional<
$Record<
String,
Struct<
{ expiresAtMs: Number; refreshAtMs: Number; sessionId: String },
>,
>,
>;
msgrRegion: optional<String>;
noteCtasFetchedAtMs: optional<Number>;
passwordEncryptionKeyId: optional<String>;
passwordEncryptionPubKey: optional<String>;
pigeonSessionIdLifetime: Number;
popularKeywordsRefreshedAtMs: optional<Number>;
profileInfoFetches: optional<
$Record<
String,
Struct<
{ atMs: Number; userFbid: optional<(...)>; username: String },
>,
>,
>;
quickPromotionCooldown: optional<
Struct<{ defaultMs: Number; slots: $Record<String, Number> }>,
>;
quickPromotionImpressions: optional<
$Record<
String,
Struct<{ lastSurface: String; surfaces: $Record<(...), (...)> }>,
>,
>;
regionHint: optional<String>;
rmdEvaluationStarted: optional<Boolean>;
rur: optional<String>;
sessionStartPhase: optional<Literal<"starting">>;
shbid: optional<String>;
shbts: optional<String>;
thumbnailCacheBustingValue: Number;
xMetaUsdid: optional<String>;
xMid: optional<String>;
zeroInterface: optional<Boolean>;
zeroPhase: optional<
Literals<
readonly ["logged-out", "authenticated", "rmd-evaluated"],
>,
>;
},
>;
},
>,
>,
Struct<
{
application: Struct<
{
adaptiveUi: optional<Boolean>;
APP_VERSION: String;
APP_VERSION_CODE: String;
BLOKS_VERSION_ID: String;
bloksClientContext: optional<
Struct<
{ keys: $Array<Literals<readonly [(...), (...), (...), (...)]>> },
>,
>;
bloksInfraTheme: optional<String>;
bloksPrismExtendedPalette: optional<
Struct<{ gray: Boolean; polish: Boolean }>,
>;
bloksThemeParams: optional<
$Array<
Struct<{ design_system_name: String; value: $Array<String> }>,
>,
>;
BREADCRUMB_KEY: String;
CAPABILITIES: String;
directInboxMode: optional<Number>;
directSearchGenAiBotsLimit: optional<Number>;
FACEBOOK_ANALYTICS_APPLICATION_ID: String;
FACEBOOK_ANALYTICS_CLIENT_TOKEN: optional<String>;
GRAPHQL_DOC_IDS: optional<$Record<String, String>>;
GRAPHQL_GZIP_MIN_BYTES: optional<Number>;
GRAPHQL_OMIT_PRETTY: optional<Boolean>;
GRAPHQL_SERVER_TIMESTAMPS: optional<
Union<readonly [Literal<"true">, Literal<"timestamp">]>,
>;
launchWire: optional<Literal<"451">>;
mediaLikeWire: optional<Literals<readonly ["rest", "graphql"]>>;
mediaNoteWire: optional<Literals<readonly ["451", "450"]>>;
mediaRepostWire: optional<
Literals<readonly ["note-with-text", "editor"]>,
>;
reelsTrayPageSize: optional<Number>;
RMD_NO_VALID_MAP_TIMES: optional<Unknown>;
shoppingExperiments: optional<$Array<String>>;
SUPPORTED_CAPABILITIES: $Array<Struct<{ name: String; value: String }>>;
ufiActionFlowActions: optional<
$Array<Literals<readonly ["like", "comment"]>>,
>;
ZERO_HEADERS: optional<
Struct<
{
authenticated: Struct<{ balance: String; eh: String }>;
"logged-out": Struct<{ balance: String; eh: String }>;
"rmd-evaluated": Struct<{ balance: String; eh: String }>;
},
>,
>;
},
>;
cookies: Unknown;
device: Struct<
{
adid: String;
adsOptOut: optional<Boolean>;
androidDevicePerformanceClass: optional<Number>;
aymhAccounts: optional<$Array<$Record<String, Unknown>>>;
battery: optional<
Union<
readonly [
Struct<
{
kind: Literal<(...)>;
startedAtMs: Number;
startLevel: Number;
},
>,
Struct<
{
kind: Literal<(...)>;
percentPerHour: Number;
startedAtMs: Number;
startLevel: Number;
},
>,
],
>,
>;
batteryLevel: optional<Unknown>;
build: String;
cloudTrustToken: optional<String>;
connectionType: optional<Unknown>;
currentKeyboardLanguage: optional<String>;
descriptor: String;
deviceStatus: optional<$Record<String, Unknown>>;
familyDeviceSynced: optional<Boolean>;
familyId: String;
fbnsKey: optional<Struct<{ createdAt: Number; publicKey: String }>>;
flashCallPermissionsStatus: optional<
Struct<
{
ANSWER_PHONE_CALLS: Literals<readonly ["GRANTED", "DENIED"]>;
READ_CALL_LOG: Literals<readonly ["GRANTED", "DENIED"]>;
READ_PHONE_STATE: Literals<readonly ["GRANTED", "DENIED"]>;
},
>,
>;
gmsCallRetrieverEligibility: optional<
Literals<readonly ["eligible", "not_eligible"]>,
>;
gpuMemoryMb: optional<Number>;
hasCameraPermission: optional<Boolean>;
hasGoogleAdId: optional<Boolean>;
hasNotificationPermission: optional<Boolean>;
id: String;
isCharging: optional<Unknown>;
isFoldable: optional<Boolean>;
isLayoutRTL: Boolean;
keyboardLanguage: optional<String>;
language: String;
lastPushRegistration: optional<Struct<{ at: Number }>>;
location: optional<Struct<{ lat: Number; lng: Number }>>;
mobileConfig: optional<
Struct<
{
accounts: optional<$Record<String, $Record<(...), (...)>>>;
appVersion: optional<String>;
sessionless: optional<$Record<String, $Record<(...), (...)>>>;
},
>,
>;
network: optional<
Union<
readonly [
Struct<{ kind: Literal<(...)>; radio: Literal<(...)> }>,
Struct<{ kind: Literal<(...)> }>,
],
>,
>;
networkInfo: optional<
Struct<
{
active_subscriptions_info: Null;
default_subscription_info: Struct<
{
group_id_level_1: NullOr<(...)>;
is_data_roaming: Number;
is_esim: NullOr<(...)>;
is_gsm_roaming: Number;
is_mobile_data_enabled: Number;
is_sim_sms_capable: NullOr<(...)>;
network_operator: Union<(...)>;
network_type: NullOr<(...)>;
signal_strength: Number;
sim_carrier_id: Number;
sim_carrier_id_name: NullOr<(...)>;
sim_operator: Union<(...)>;
sim_operator_name: String;
sim_state: Number;
},
>;
is_active_network_cellular: Number;
is_airplane_mode: Number;
is_device_sms_capable: Number;
is_wifi: Number;
sim_count: Number;
},
>,
>;
networkSessionId: optional<String>;
phoneId: String;
pigeonIdentities: optional<
$Record<
String,
Struct<
{
config: optional<Struct<(...)>>;
hmacTtl: optional<Struct<(...)>>;
sampling: optional<Struct<(...)>>;
},
>,
>,
>;
pushHpkeIdentity: optional<
Struct<
{ keystoreId: String; privKeyPem: String; pubKeyB64: String },
>,
>;
pushToken: optional<String>;
radioType: optional<String>;
ramSizeInGb: optional<Number>;
rmd: optional<
Struct<
{ kind: Literals<readonly ["no-valid-map", "url-eligible"]> },
>,
>;
rmdNoValidMapTimes: optional<
Struct<{ recvTime: String; reqTime: String }>,
>;
systemLanguages: optional<$Array<String>>;
systemLocale: optional<String>;
timezoneName: optional<String>;
timezoneOffset: String;
usdidIdentity: optional<
Struct<
{
kid: String;
privKeyPem: String;
pubKeySpkiB64: String;
uuid: String;
},
>,
>;
uuid: String;
videoEncoders: optional<
$Record<
String,
$Array<
Struct<
{
bitrate: Tuple<(...)>;
complexity: Tuple<(...)>;
encoder_name: String;
frame_rate: Tuple<(...)>;
height: Tuple<(...)>;
height_alignment: Number;
max_instances: Number;
width: Tuple<(...)>;
width_alignment: Number;
},
>,
>,
>,
>;
zeroAttestationIdentity: optional<
Struct<
{ keyHash: String; privKeyPem: String; uploadedAtMs: Number },
>,
>;
},
>;
session: Struct<
{
adsOptOut: optional<Unknown>;
appStartPhase: optional<Literal<"cold">>;
appStartTimeMs: optional<Number>;
authorization: optional<String>;
bandwidth: optional<
Struct<
{
bytes: Number;
carried: optional<Literal<true>>;
ms: Number;
stack: optional<
Struct<
{
downloadBwAvgBps: ...;
downloadBweMeanBps: ...;
downloadBwStddevBps: ...;
rttAvgMs: ...;
rttStddevMs: ...;
uploadBwAvgBps: ...;
uploadBwe: ...;
uploadBwStddevBps: ...;
},
>,
>;
},
>,
>;
challenge: optional<$Record<String, Unknown>>;
checkpoint: optional<$Record<String, Unknown>>;
clientSessionIdLifetime: Number;
directInboxCache: optional<
Struct<
{
threads: $Array<
Struct<
{
is_group: ...;
items: ...;
last_activity_at: ...;
muted: ...;
thread_id: ...;
thread_title: ...;
thread_v2_id: ...;
users: ...;
},
>,
>;
},
>,
>;
directInboxSeqId: optional<Number>;
directLoadedThreads: optional<$Array<String>>;
dsUserId: optional<String>;
familyDeviceIdBound: optional<Boolean>;
fbidV2: optional<String>;
igWWWClaim: optional<String>;
lastCreationMode: optional<
Literals<readonly ["post", "reel", "story"]>,
>;
metaAiConsent: optional<
Struct<
{
cacheTimeSeconds: Number;
fetchedAtSeconds: Number;
nuxType: String;
requiresNux: Boolean;
text: String;
version: String;
},
>,
>;
metaSubsEntrypointSessions: optional<
$Record<
String,
Struct<
{ expiresAtMs: Number; refreshAtMs: Number; sessionId: String },
>,
>,
>;
msgrRegion: optional<String>;
navChain: optional<Unknown>;
navigation: optional<Unknown>;
noteCtasFetchedAtMs: optional<Number>;
passwordEncryptionKeyId: optional<String>;
passwordEncryptionPubKey: optional<String>;
pigeonSessionIdLifetime: Number;
popularKeywordsRefreshedAtMs: optional<Number>;
profileInfoFetches: optional<
$Record<
String,
Struct<
{ atMs: Number; userFbid: optional<String>; username: String },
>,
>,
>;
quickPromotionCooldown: optional<
Struct<{ defaultMs: Number; slots: $Record<String, Number> }>,
>;
quickPromotionImpressions: optional<
$Record<
String,
Struct<{ lastSurface: String; surfaces: $Record<String, Number> }>,
>,
>;
regionHint: optional<String>;
rmd: optional<Unknown>;
rmdEvaluationStarted: optional<Boolean>;
rur: optional<String>;
sessionStartPhase: optional<Literal<"starting">>;
shbid: optional<String>;
shbts: optional<String>;
thumbnailCacheBustingValue: Number;
xMetaUsdid: optional<String>;
xMid: optional<String>;
zeroInterface: optional<Boolean>;
zeroPhase: optional<
Literals<readonly ["logged-out", "authenticated", "rmd-evaluated"]>,
>;
},
>;
},
>,
never,
never,
> = ...
A snapshot as the caller stored it, read into the current model; the decoded value is a
MobileSnapshot. Every path that accepts a snapshot, a checkpoint's client state included, decodes through this schema, so all of them settle a stored snapshot identically. A legacy field that is dropped is logged (Effect.logWarningof its StoredSnapshotFieldDropped) in the decoding Effect's own logger.