IGPAPI
    Preparing search index...

    Variable timelineFeedConfigConst

    timelineFeedConfig: {
        cursor: (
            response: TimelineFeedContinuation,
        ) => {
            hasMore: boolean;
            input: { nextMaxId: string } | { nextMaxId?: undefined };
        };
        defaults: () => TimelineFeedRequestInput;
        items: (response: TimelineFeedResponse) => TimelineFeedResponseMediaOrAd[];
        request: (
            input: TimelineFeedRequestInput,
        ) => Effect<
            TimelineFeedResponse,
            IgApiError
            | RequestError
            | ParseError
            | TransportError,

                | PlainJsonApiHttp
                | MobileSession
                | MobileDevice
                | MobileApplication
                | NavigationWire,
        >;
    } = ...

    The timeline feed's declaration: its defaults, its wire request and how an answer continues the cursor. A feed screen takes these into its own declaration's request and cursor (ScreenFeedSource), so the screen sends the one recorded wire and owns only where a page's entries are and what one entry is.

    The two forms this request has are Android wires, selected by the app profile's MobileApplication.launchWire: the 448 form and the 451 form (the personalization flag, is_non_feed_surface and the extended session_level_signals block). The iOS 451 app sends a different feed form — no include_personalization_features and its own session_level_signals set — which this brick does not model; an iOS profile does not set the member.

    Type Declaration