Variable ReelsViewerChainingSchemaConst
ReelsViewerChainingSchema: Struct<
{
chainingPosition: optionalKey<Union<readonly [Number, String]>>;
chainingSeedMediaId: optionalKey<String>;
chainingSessionId: optionalKey<String>;
clientPosition: optionalKey<Union<readonly [Number, String]>>;
mediaPctWatched: optionalKey<Union<readonly [Number, String]>>;
rankingSessionId: optionalKey<String>;
storyRankingToken: optionalKey<String>;
},
> = ...
The viewer's chaining session as an edge carries it: the app opens the viewer with a session (its seed, its id, the position) and measures the watched fraction, so a screen that opens the viewer passes what its own session holds. Every field is optional — a caller that holds none sends none rather than an invented value.