tracking(bots): rebuild the IM connection experience
- Dominant language
- TypeScript
- Stars
- 5.4k
- Forks
- 502
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 715
Description
## Problem
Connecting an IM platform to Maka works, but each step is its own screen with its own vocabulary: the Bots settings page, the onboarding modal, the WeChat login flow, the per-platform manual setup, and the runtime health status. A user cannot tell from one place whether a channel is connected, why it is not, or what to do next. #4327 tracks the security and lifecycle hardening of the V1 runtime; nothing tracks the experience on top of it.
## Goal
One connection flow for every platform with one status vocabulary, built on the existing `bot-*` settings pages and the onboarding runtime in `docs/architecture/bot-onboarding-runtime.zh-CN.md`. No second runtime, no second credential store.
## Work items
- [ ] Bots overview: one row per channel on the `List`/`Item` idiom, `StatusDot` for connected / pairing / degraded / off, one primary action per row.
- [ ] Onboarding modal: a single stepper for QR, token and manual flows; provider differences are steps, not separate dialogs.
- [ ] Failure states: every runtime health event (#4327 telemetry item) has a user-facing sentence and a next action; no raw provider errors.
- [ ] Per-conversation working directory and session continuity surfaced in the channel detail (#2325).
- [ ] Streaming reply preferences surfaced once #2504 lands.
- [ ] Platform feature matrix (#3894) linked from the detail page instead of a separate doc.
## Depends on / coordinates with
- #4327 (hardening, Phoenix500526): telemetry and revoke behaviour feed the failure states here.
- #2504 (streaming, harrywl), #2325 (mobile session management).
## Non-goals
- Changing the Bot runtime or the credential boundary.
- Adding platforms.
Contributor guide
Assessment
This issue has not been assessed yet.