ConstReadonlyClipsViewer: { module: "clips_viewer" }Reels viewer: a clip opened full-screen and swiped through.
ReadonlyCommentsV2: { module: "comments_v2" }Comment list / composer bottomsheet, opened over a feed media or reel.
ReadonlyContextualFeed: { module: "feed_contextual" }Contextual feed: the media of a surface opened full-screen at one item (Android 451: a profile's media grid).
ReadonlyCustomizeChat: { module: "customize_chat" }Thread "Customize chat" screen (theme entry point).
ReadonlyDirectInbox: { module: "direct_inbox" }Direct inbox tab: the list of DM threads.
ReadonlyDirectThread: { module: "direct_thread" }One DM thread opened from the inbox.
ReadonlyDirectThreadCustomGroupNameAndImage: { module: "ThreadDetailsCustomGroupNameAndImageFragment" }A group thread's custom name and image editor, opened from the thread's shared media (451 chain).
ReadonlyDirectThreadDetails: { module: "ThreadDetailHomePageFragment" }A DM thread's details hub (shared media, nicknames, …), opened from the thread header.
ReadonlyDirectThreadNicknameChange: { module: "ThreadDetailsNicknameChangeFragment" }One participant's nickname editor, opened from the nicknames list.
ReadonlyDirectThreadNicknames: { module: "ThreadDetailsNicknamesFragment" }Nicknames list of a DM thread, opened from the thread details.
ReadonlyDirectThreadSharedMedia: { module: "direct_thread_shared_media" }Shared media list of a DM thread, opened from the thread details.
ReadonlyDirectThreadThemePicker: { module: "direct_thread_theme_picker" }Theme picker opened from Customize chat.
ReadonlyExplore: { module: "explore_popular" }Explore tab (a bottom-tab switch into search starts here).
ReadonlyFeedTimeline: { module: "feed_timeline" }Main feed tab.
ReadonlyProfileMediaTab: { module: "profile" }The media grid tab inside a profile (ProfileMediaTabFragment:profile, Android 451).
ReadonlySearchTypeahead: { module: "search_typeahead" }Typeahead search screen: the query field is being typed into.
ReadonlySerpTop: { endpointModule: "serp"; module: "serp_top" }Search-results (SERP) screen on its Top tab, opened on submit from the typeahead.
ReadonlySerpUsers: { endpointModule: "serp"; module: "serp_users" }The same SERP screen switched to its Accounts tab (Android 451).
ReadonlyShortUrlFeed: { module: "feed_short_url" }Short-URL feed: a single media opened from a shared short link (/p/<code>/).
ReadonlyUserDetail: { module: "profile" }A user's profile (UserDetailFragment:profile, Android 451).
The native screens the flows navigate to, by ScreenId. Adding an entry makes every platform catalog fail to compile until it names the screen (Android:
ANDROID_NATIVE_SCREEN_CLASSES; iOS names only the screens a recording shows).A
ScreenIdis a stable public identity: callers name screens by it (MobileScreens.*,nativeScreen(id)), so renaming one is a breaking change of the public API. Navigation is process state and is never persisted, so a rename involves no snapshot migration.