Variable DirectInboxCacheSchemaConst
DirectInboxCacheSchema: Struct<
{
threads: $Array<
Struct<
{
is_group: Boolean;
items: $Array<
Struct<
{
client_context: optionalKey<String>;
item_id: String;
item_type: String;
text: optionalKey<String>;
timestamp: Union<readonly [String, Number]>;
user_id: decodeTo<
String,
Union<readonly [(...), (...)]>,
never,
never,
>;
},
>,
>;
last_activity_at: Union<readonly [String, Number]>;
muted: Boolean;
thread_id: NonEmptyString;
thread_title: String;
thread_v2_id: NonEmptyString;
users: $Array<
Struct<
{
fbid_v2: optionalKey<
decodeTo<String, Union<(...)>, never, never>,
>;
full_name: String;
pk: decodeTo<String, Union<readonly [(...), (...)]>, never, never>;
username: String;
},
>,
>;
},
>,
>;
},
> = ...
The app's local Direct inbox store: the head of the inbox (the first page's threads, as the inbox answer carried them, projected onto the fields the screens read) that the app shows from its database when the Direct tab opens, instead of waiting for a request. The Direct tab's first requests are built from it (the 451 group-chat, message-theme, chat-actions and one-to-one new-message flows): the prefetch of the filtered first page names a stored thread as its cursor, and the stories lookup names the people of the stored threads, in thread order. The inbox feed's first-page answer teaches it (
adoptDirectInboxCache), and the schema is the projection's one declaration: a stored value outside it is aSnapshotDecodeErrorat the session's boundary, never a shape the readers dereference blind.