Repository navigation
Closed
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:messagingMessaging module and external providersMessaging module and external providersready-for-humanRequires human implementationRequires human implementationscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Milestone
Description
Parent
#902 — Personal WeChat capability alignment. IM coordination reference: #48.
What to build
The WeChat owner sees the native typing indication while the bound Bot actually works on that DM, with prompt cleanup when it finishes, stops or loses authorization.
Scope: personal WeChat/iLink, explicitly authorized paired-owner DM. Enterprise WeChat/WeCom is excluded.
Acceptance criteria
- Qualify native getConfig/sendTyping behavior for the bound account and owner DM. Keep the typing ticket private and do not present HTTP success alone as proof that the client showed an indicator.
- Connect indication to actual existing Bot processing/output lifecycle, with bounded renewal and cleanup on completion, cancellation, failure, binding disable or Grant revocation.
- Avoid indicating unrelated local Channel work as WeChat typing. Do not use typing as a delivered/read receipt or retain a sticky indicator after process disposal.
- Expose the supported indication behavior through existing identity configuration and understandable state/diagnostics; unsupported native behavior is reported honestly.
- Real E2E: Human observes and captures a genuine typing indicator during a controlled same-DM run, then completion and stop/failure cleanup. Add focused lifecycle regression coverage.
Blocked by
None — can start immediately. Completed prerequisite: #878 / PR #894.
Delivery and evidence
- Deliver one production-shaped tracer through the qualified Provider, canonical Messaging authority, applicable PersonaBot/Channel/Inbox behavior, and an operable Client path. Reuse the existing exclusive Consumer; do not create standalone dsh-im Sessions or a parallel message store.
- Keep the original external author, timestamp, lossless native message ID, Source Event ID, and trusted reply route. Every external send uses the acting Bot's own bound identity and current Grant; platform credentials, context tokens and media keys remain Provider-private.
- Qualify the changed Provider capability on the maintained fork and pin the verified artifact. Submit reusable Provider changes upstream where appropriate, without making upstream merge a release prerequisite.
- Complete fresh real WeChat E2E with the Human controlling WeChat. Include observable success and the relevant refusal/recovery behavior, focused regression coverage, and packaged-product verification. A model's claim, HTTP success, or client acknowledgement alone is not delivery/read proof.
- Preserve real screenshots or recording during acceptance; embed GitHub-renderable evidence in the PR, including before/after and applicable light/dark states for visible UI changes. Do not publish credentials or unrelated chat contents.
- Update the illustrated English and Chinese WeChat connection guide and reusable IM integration guidance with verified behavior and platform limitations; edit canonical source docs, not generated site content.
- Create one issue-linked PR, then pause for Human QA. Merge and deployment require their own Human authorization. Issue closure requires the accepted behavior, not only documentation or a capability flag.
Metadata
Metadata
Assignees
Labels
area:fullstackEnd-to-end Host and Client implementationEnd-to-end Host and Client implementationfeature:messagingMessaging module and external providersMessaging module and external providersready-for-humanRequires human implementationRequires human implementationscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Type
Projects
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 7, 2026
Agent work claim
codex/local/01a112f7-9794-7692-9b17-b71aa980b313(not a DSH Session)codex/911-wechat-typingClaim: codex/local/01a112f7-9794-7692-9b17-b71aa980b313 — starting #911. Main baseline
4ae1335302cbe4612d109d7cc626a68784ff16a5; no existing claim or matching open PR found. #910 remains merged; no WeCom scope or deployment authorization.docs(wechat): finalize package smoke and WSL shutdown evidence
DoodleBears commentedon Oct 7, 2026
Agent work handoff — Windows continuation
codex/local/01a112f7-9794-7692-9b17-b71aa980b313(not a DSH Session)codex/911-wechat-typing435f694f82962cacd104d706673e2615457e920d; candidate implementation457909ba5fdddee3d072f3ba31da97c7f8936e96.009e020becc360763a8506fa1d95024b847e9c72. Latest Lark approval contracts and existing Lark image capability are retained; current GitHub mergeability isMERGEABLE, with checks still running.Read the complete Windows handoff for the design boundaries, reproducible package commands, known failures, migration warning and remaining acceptance steps. The same document lives on the issue branch and should be updated by the receiving task.
Provider is pushed to DoodleBears/dsh-im:codex/911-wechat-typing, commit
d93f6236e4800dce06fc96506fc0e6a5b760476b, based on main's4f4f0a6282580bb59968eb90571778eb7e37ee73. Candidate managed artifact.13: 398 runtime files, SHA-2568eaee5405a42a747a66c891ab0c9fb2fc3c4f2e61b1029469ce965490d75e663. No npm release or upstream PR was made.Validated facts:
0.0.0-test.911.3booted in a fresh unpaired isolated Profile: authenticatedbotharness/listreturned HTTP 200 / successful envelope; installed umbrella/Core/UI were.911.3, Provider.13. Package boot does not prove real WeChat typing.The current blocker is browser access to the WSL QA Host: local Host probes worked, automatic Codex navigation was blocked, and Human navigation returned
ERR_HTTP_RESPONSE_CODE_FAILURE. Cause not diagnosed. Per the Human's direction, the old task-owned WSL QA Hosts were stopped after checking exact PID/home/port; ports 31910/31911/31912 are no longer listening. Private profile/pairing/model files remain machine-local and were not uploaded; old login links are invalid.Windows continuation must use an independent Windows-local QA Profile, configure local model credentials, prove a real DM model reply, and have Human re-scan WeChat. Take before/after Client light/dark images and Human native indicator/normal completion/stop-or-failure recordings, verify refusal/recovery and canonical ownership, finish bilingual illustrated guides, validated PR Lens and standards/spec reviews, and verify the actual packaged product. Old
.911.1/.911.2generation-60 typing smoke Profiles must not be used as upgrade sources; main now owns generation 60 for Lark approvals, and current typing is generation 61 / ADR-0142.Do not close #911, mark the goal complete, promote this Draft or infer native visibility from API acceptance. #912 has no implementation or claim yet; it remains a separate next PR. One issue / one BotHarness PR, no WeCom, Human operates native WeChat, PR acceptance then Human QA; merge and deployment each require explicit authorization. The prior #910 merge authorization does not apply to #911.
The receiving task should add its own claim referencing this handoff and continue the existing #1102, rather than creating a second #911 PR.
Final CI addendum — 2026-10-07
Both handoff runs are now completed / success:
apps/docs/test/changelog-public-surfaces.test.ts.0.1.0-alpha.1-preview.1102.37582797109; no npm publication or deployment occurred.Both runs are associated with head
435f694f82962cacd104d706673e2615457e920d. Actions checked out the synthetic PR merge047201b6b7c961c70e0bad13f13e4b3365baa104; its parents are integrated main009e020band handoff head435f694f. GitHub confirms its tree is exactly the handoff head's tree (2574406c28a6ca6fd9fe80efa5f62e0bd36df782), so this full-suite evidence covers the handed-off code contents.These replace the earlier pending-CI status only. Native WeChat observation, Windows packaged E2E, Client screenshot/video evidence, final illustrated guides, PR Lens and standards/spec reviews remain open. Draft status, handed-off claim and separate merge/deploy authorization gates remain unchanged.
DoodleBears commentedon Oct 8, 2026
Agent work claim — Windows continuation
codex/local/01a119ff-d4c2-74b0-9ea8-17aa1a3811d0(not a DSH Session)codex/911-wechat-typingContinuing the explicit Windows handoff, whose previous claim is handed-off. Retain existing Draft PR #1102. Use independent Windows QA Profiles and local model configuration; Human re-scans WeChat. #912 remains unclaimed until #911 Human QA. No merge or deployment authorization; one issue / one PR.
1 remaining item
Merge main identity and conversation flows into WeChat typing candidate
Merge platform conversation defaults without changing WeChat typing o…
fix(wechat): finish typing cleanup diagnostics and Windows QA evidence
docs(wechat): record Windows native typing qualification
Merge qualified group-name Provider without changing native typing ow…
Merge latest main into WeChat typing candidate
DoodleBears commentedon Oct 8, 2026
Agent work outcome
codex/local/01a119ff-d4c2-74b0-9ea8-17aa1a3811d0(not a DSH Session)codex/911-wechat-typing; continuing Draft PR #1102, head7880f106.04c01e0e; kept main's generation 66 unchanged, advanced typing preference to generation 67 / ADR-0145. Provider36da305/.15preserves the latest upstream input and passed 89 focused regressions plus package verification. Host/Client/migration regressions passed 74 tests; defaults/product checks passed another 28. The actual.911.8product boots in a fresh Windows Profile and has a saved real model DM reply..911.7Human observations completed: native execution and final reply, related Assignment, accepted follow-up, preference off, failure/cancellation, Binding disablement, Grant revocation/recovery, genuine Provider disposal, Windows Host interruption/restart and fresh-message recovery. Local DM work left Host typing idle. Human explicitly accepted screenshots instead of video. The Windows record distinguishes preliminary failed attempts, these historical results, and pending.911.8checks..911.8, verify its native execution and Assignment paths after the authorized scoped official ACL repairs, and complete final QA. Before/dark UI capture remains limited by the unpaired baseline and detached browser control; existing native screenshots and both-theme ownership diagrams render on GitHub. Windows full suites are not green; baseline reproductions and limits remain documented. Current CI is linked in the PR.eb2849eeand head7880f106have the same tree. Preview0.1.0-alpha.1-preview.1102.37745847155was prepared with npm dry-run and artifact upload only. This is Linux CI evidence, not Windows native acceptance.WeChat #911: owned native typing — Windows validation (#1102)
DoodleBears commentedon Oct 8, 2026
Windows native QA addendum after Human merge
codex/local/01a119ff-d4c2-74b0-9ea8-17aa1a3811d0.895153357ba11c1729a8f9df2c3e5093401ab968; this task did not merge or deploy it.0.0.0-test.911.8, pinned DSH0.2.0-rc.1, completed fresh owner pairing and binding in an isolated Windows Profile. The qualified Provider pin and schema Generation 67 match the merged implementation.911-V8-COMPLETE: one actual native pwsh 30-second timer, stdout911-V8-COMPLETE, successful tool result and accepted final bridge reply. Human confirmed native input visibility, successful receipt and disappearance afterward.911-V8-ASSIGN: related Assignment ran one native pwsh 30-second timer, reported completed with stdout911-V8-ASSIGNand exit code 0, followed by the Orchestrator's accepted final bridge reply. Human confirmed input visibility, successful receipt and disappearance. Both newly authorized QA directories have now passed their original native sandbox verification following the limited backed-up ACL repairs.911-V8-STOP: approved 90-second native pwsh command was still unsettled when the exact QA Session was cancelled through the native stop endpoint. Host typing returned to idle; Human confirmed the native indication disappeared..911.7completion, disabled preference, Assignment, stop, identity-disable, Grant-revoke/recovery, Provider disposal/recovery, steering and Host-restart/recovery checks remain documented in the Windows handoff. Human waived video; screenshots and observations are the agreed evidence.DoodleBears commentedon Oct 8, 2026
Final Human QA acceptance and continuation
Task:
codex/local/01a119ff-d4c2-74b0-9ea8-17aa1a3811d0.Human has confirmed continuation after the recorded Windows native checks and approved/merged the separate binding UX follow-up #1181. The
.911.8completion, related Assignment and native stop requalification are recorded in #911 (comment); the.911.7cleanup/recovery matrix, genuine native screenshots, video waiver and Windows full-suite limitations remain documented rather than overwritten.#1102 was merged by Human at
895153357ba11c1729a8f9df2c3e5093401ab968. This closes the final #911 Human QA wait and continues separately with #912. No deployment or public release is authorized or performed.