Appearance
The Direct inbox
Reached from the feed's Direct tab.
Every example starts from saved, the checkpoint the index describes; the launch hands the feed, and a tab edge lands on the tab's root.
Open the inbox
The tab edge lands on the inbox, the tab's root. Showing a thread sends nothing: the inbox snapshot already carries the preview.
The inbox: threads holds these rows.
An empty inbox: threads is [].
ts
// Open the Direct tab and read the inbox.
const inbox = await AndroidIgpapi.launch({
checkpoint: saved,
screen: FeedTimelineScreen,
main: feed =>
Effect.gen(function* () {
// The tab edge lands on the inbox, the tab's root.
const tab = yield* feed.openDirectTab();
return tab.threads.map(thread => thread.data.thread_title);
}),
});
console.log(inbox);What the inbox does not offer
The inbox screen reads the main list only. The app's Requests tab, the row menu (pin and delete) and removing a chat have no action here.
The Requests tab; the inbox screen reads the main list only.
The row menu (pin, delete): not offered.
Removing a chat: not offered.