Repository navigation
feat: add the inbox to the mobile app - #914
Conversation
There was a problem hiding this comment.
Important
The paste banner agents are told to run is not portable, and status filters only search one page of threads.
Reviewed changes
Reviewed the inbox stack on feat/inbox-mobile: persistence, host verbs, CLI, desktop page, and the mobile screens, against d1d183b67.
- Store — Questions from
ext:addresses are orchestration messages, with expiry, cancellation, a pending cap, and a revision trigger. - Host verbs —
inbox.*is capability-gated (inboxV1, no protocol bump), allowlisted for phones exceptinbox.wait, and announced withinboxChanged. - Delivery and push — Idle agents get a paste banner. Replies correlate on
reply_to_id.inboxReplypushes ids only, never the reply text or a terminal. - Desktop and mobile UI — Both ask from
ext:user, list threads, and follow up. The phone feature-detectsinboxV1and opens the thread from the push.
grok-4.7 | 𝕏
c564391 to
f41c7a7
Compare
There was a problem hiding this comment.
ℹ️ No critical issues. One suggestion on Load More.
Reviewed changes
Reviewed the mobile inbox delta on f41c7a7 since d1d183b67. The branch is now stacked on feat/inbox-desktop, so this diff is the phone UI only.
- Paging — The list sends the active inbox and status to the runtime and appends further pages with Load More. A change or a new filter starts again at the first page.
- Read acknowledgement — Opening a thread no longer marks replies read. The phone calls
inbox.markReadonly while that screen is current and the app is resumed, once per revision. - Follow-ups — A follow-up omits
inbox, so a CLI thread such asext:cikeeps its own address. A new question still asks fromext:user.
grok-4.7 | 𝕏
f41c7a7 to
3e439c7
Compare
3e439c7 to
0cd515e
Compare
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
Reviewed the mobile inbox delta on 0cd515e8 since f41c7a76. The branch was rebased onto the current desktop inbox branch. The phone patch is otherwise the same, plus Load More error handling.
- Rebased — Restacked the phone inbox on the current desktop branch. The mobile patch from the last review is unchanged aside from the list button.
- Load More — A failed next page is caught in the list button and shown as a SnackBar, so it no longer reaches the zone handler. The threads already loaded stay on screen, and the widget test fails the request then retries.
grok-4.7 | 𝕏
b420945 to
b59eb8d
Compare
b59eb8d to
557360b
Compare

Summary
Mobile UI for the inbox over the paired-phone connection. The phone uses only the inbox verbs on its allowlist, and refreshes on
inboxChanged.inboxV1capability, read frommobile.hello.aleraMobileProtocolVersionis not bumped.ext:user, the same inbox the desktop uses.inboxReplypush kind opens the thread and never a terminal, under the existing attention preference. An older app treats it as unknown.Stacked on the desktop PR.
Validation
inbox_domain_test,inbox_screens_test,inbox_dashboard_card_test(17 tests) and a fake inbox client.flutter analyzereports no issues, and the full mobileflutter testpasses (901 tests, 4 skipped).git diff --checkpass.Risk
routePushIntentforinboxReplyand the Ask Agent menu item have no widget test; push parsing is tested. Not yet run against a paired phone.