IGPAPI
    Preparing search index...

    Variable FeedTimelinePostItemConst

    FeedTimelinePostItem: ScreenItemDefinition<
        "FeedTimelinePost",
        {
            key: string;
            media: {
                code: string;
                id: string;
                injected?: { ad_id?: string | number }
                | null;
                logging_info_token?: string;
                media_type: number;
                pk?: string | number;
                product_type?: string;
                taken_at?: number;
                user?: { pk: string | number; username: string };
            };
            position: number;
            type: "post";
        },
        {
            key: string;
            media: {
                code: string;
                id: string;
                injected?: { ad_id?: string | number }
                | null;
                logging_info_token?: string;
                media_type: number;
                pk?: string | number;
                product_type?: string;
                taken_at?: number;
                user?: { pk: string | number; username: string };
            };
            position: number;
            type: "post";
        },
        FeedTimelinePostState,
        never,
        never,
        {
            like: (
                self: ScreenHandle,
                state: FeedTimelinePostState,
            ) => (
                ...args: [],
            ) => Effect<
                | {
                    data: {
                        xig_media_like: {
                            media: {
                                __typename?: (...)
                                | (...);
                                has_liked: boolean;
                                id: string;
                                strong_id__?: (...) | (...);
                            };
                        };
                    };
                }
                | MediaLikeRestResponse,
                | IgApiError
                | RequestError
                | ParseError
                | TransportError
                | UserIdNotFoundInState
                | SchemaError
                | GraphqlRootFieldMissingError
                | MobileMediaLikeWireNotDeclaredError
                | ScreenEnterConcurrentError
                | ScreenNotOnTopError,
                | PlainJsonApiHttp
                | Signature
                | MobileSession
                | MobileDevice
                | GraphqlJsonHttp
                | MobileApplication
                | NavigationWire
                | MobileNavigation
                | ScreenStack,
            >;
            open: (
                self: ScreenHandle,
                state: FeedTimelinePostState,
            ) => ScreenEdgeBound<
                ScreenEdgeShape<
                    ScreenDefinition<
                        "PostOpenedFromLink",
                        "screen",
                        {
                            carouselIndex?: number;
                            feedPosition?: string
                            | number;
                            loggingInfoToken?: string;
                            mediaId: string;
                        },
                        {
                            carousel?: {
                                index: number;
                                noteMediaId: string;
                                pk: string;
                                size?: number;
                            };
                            mediaId: string;
                            trackingToken: string;
                        },
                        PostOpenedFromLinkState,
                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | InvalidSkipOrdinalsError
                        | ScreenDataError
                        | ScreenEnterNavigationError,
                        PlainJsonApiHttp
                        | MobileNavigation,
                        {
                            like: (
                                self: ScreenHandle,
                                state: PostOpenedFromLinkState,
                            ) => (
                                ...args: [],
                            ) => Effect<
                                (...)
                                | (...),

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                            openComments: (
                                self: ScreenHandle,
                                state: PostOpenedFromLinkState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<
                                    ScreenDefinition<
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                        (...),
                                    >,
                                    readonly [(...)],
                                >,
                                (...args: readonly [(...)]) => Effect<(...), (...)>,
                            >;
                            repost: (
                                self: ScreenHandle,
                                state: PostOpenedFromLinkState,
                            ) => (
                                ...args: [text?: (...) | (...)],
                            ) => Effect<
                                { note: ...; trackingToken: ... },

                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...)
                                    | (...),
                                (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...) | (...),
                            >;
                        },
                        Record<never, never>,
                        never,
                    >,
                    [],
                >,
                (
                    ...args: [],
                ) => Effect<
                    AssembledHandle<
                        "PostOpenedFromLink",
                        "screen",
                        {
                            carousel?: {
                                index: number;
                                noteMediaId: string;
                                pk: string;
                                size?: (...)
                                | (...);
                            };
                            mediaId: string;
                            trackingToken: string;
                        },
                        {
                            like: (
                                self: ScreenHandle,
                                state: PostOpenedFromLinkState,
                            ) => (...args: []) => Effect<(...), (...), (...)>;
                            openComments: (
                                self: ScreenHandle,
                                state: PostOpenedFromLinkState,
                            ) => ScreenEdgeBound<
                                ScreenEdgeShape<(...), (...)>,
                                (...args: ...) => ...,
                            >;
                            repost: (
                                self: ScreenHandle,
                                state: PostOpenedFromLinkState,
                            ) => (...args: [text?: ...]) => Effect<(...), (...), (...)>;
                        },
                        Record<never, never>,
                        ScreenHandle,
                        "required",
                    >,

                        | IgApiError
                        | RequestError
                        | ParseError
                        | TransportError
                        | InvalidSkipOrdinalsError
                        | ScreenDataError
                        | ScreenEnterNavigationError
                        | ScreenEnterConcurrentError
                        | ScreenNotOnTopError
                        | ScreenEdgeInputError,
                >,
            >;
        },
    > = ...

    One post of the timeline. Showing it sends nothing: the answer already carries the post, the library downloads no CDN media, and no recording shows the app fanning item requests out to the API. An item of a swipeable feed enters when it comes in front and leaves when a swipe moves it away; no recording gives the timeline's items an enter or leave request or telemetry yet, so both send nothing (the recording that would show the app's impression and view-time Pigeon events on the post in focus is named in AGENTS.md).

    The feed context belongs to the answer and travels with the item: the media's logging_info_token and the entry's position go into the state, and open and like use them, so the post's like sends what the recording sends without the caller supplying it.

    open is the feed's one verb for every item that opens: a post opens the post full-screen (PostOpenedFromLink, source button, the 450 post recordings). like is the post's like on the feed surface, with the build's wire and the feed answer's logging token and position; the post's repost and comments are the post screen's actions.