ShortUrlFeedFragment:feed_short_url, a feed post opened full-screen (the
short-URL feed).
Visible: one media — a picture or video, or a carousel whose child the
actions target — with the feed's like, comment, repost and share row; the
comments sheet opens over it.
Reached from: a feed post (FeedTimelinePostItem.open, source button;
the 450 chain feed_timeline:1 → feed_short_url:2) or a link, which passes
no feed context.
Requests: its enter comes to front and then reads the media
(GET api/v1/media/<id>/info/), the recorded first request of the Android
450 post captures; the answer gives the container id, the tracking token and
the carousel child every action chains from. An answer with no media, or a
carousel index it does not hold, is a ScreenDataError and the open rolls
back.
Actions (each the recording's own wire):
like — the post's like on the feed surface, with the build's wire (the
REST like/ or the LikeMutation) and the feed answer's logging token and
position;
repost(text?) — the like, then the note (media/create_note/v2/), both on
the same carousel child. How the text reaches the note is the build's fact:
a 'note-with-text' build sends it in the note; on an 'editor' build the
text is the composer's to type, so a supplied text is refused with the
typed MediaRepostTextNotAcceptedError before any request and only the
blank note (the path to RepostNoteEditorScreen) goes out. The presented
build is 'note-with-text', so both shapes have no live client; the
recording that decides them is a 448/450 composer path (see the media
section of AGENTS).
Returns the note and its tracking token;
openComments(options) — the comments sheet over this post. The notes the
composer shows were created by this process for this media (the create-note
brick records each one, whichever brick asked), so the sheet reads them from
its own state on enter; they are not an edge argument, and a trail step
carries only the caller's options.
Recorded by: Android 450 captures of a feed post's like, repost and mixed
like-repost-comment.
ShortUrlFeedFragment:feed_short_url, a feed post opened full-screen (the short-URL feed).Visible: one media — a picture or video, or a carousel whose child the actions target — with the feed's like, comment, repost and share row; the comments sheet opens over it.
Reached from: a feed post (
FeedTimelinePostItem.open, sourcebutton; the 450 chainfeed_timeline:1→feed_short_url:2) or a link, which passes no feed context.Requests: its
entercomes to front and then reads the media (GET api/v1/media/<id>/info/), the recorded first request of the Android 450 post captures; the answer gives the container id, the tracking token and the carousel child every action chains from. An answer with no media, or a carousel index it does not hold, is aScreenDataErrorand the open rolls back.Actions (each the recording's own wire):
like— the post's like on the feed surface, with the build's wire (the RESTlike/or theLikeMutation) and the feed answer's logging token and position;repost(text?)— the like, then the note (media/create_note/v2/), both on the same carousel child. How the text reaches the note is the build's fact: a'note-with-text'build sends it in the note; on an'editor'build the text is the composer's to type, so a supplied text is refused with the typedMediaRepostTextNotAcceptedErrorbefore any request and only the blank note (the path toRepostNoteEditorScreen) goes out. The presented build is'note-with-text', so both shapes have no live client; the recording that decides them is a 448/450 composer path (see the media section of AGENTS). Returns the note and its tracking token;openComments(options)— the comments sheet over this post. The notes the composer shows were created by this process for this media (the create-note brick records each one, whichever brick asked), so the sheet reads them from its own state on enter; they are not an edge argument, and a trail step carries only the caller's options.Recorded by: Android 450 captures of a feed post's like, repost and mixed like-repost-comment.