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 providersscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Milestone
Description
Parent
#902 — Personal WeChat capability alignment. IM coordination reference: #48.
What to build
Bot-mode settings provide supported WeChat behavior defaults; individual PersonaBot/Profile configurations inherit them unless Human explicitly overrides or restores inheritance.
Scope: personal WeChat/iLink, explicitly authorized paired-owner DM. Enterprise WeChat/WeCom is excluded.
Acceptance criteria
- Integrate WeChat into the existing global platform-defaults settings and PersonaBot/Profile inheritance model, starting with already qualified owner-DM text/identity behavior. Do not wait for sibling media or connector capabilities to establish basic inheritance.
- Use the existing capability matrix to show only verified applicable settings. Native group @ filters and Thread following must not appear for the current owner-DM capability; later slices add their own supported settings without premature toggles.
- Changing a global default affects future events/configurations that still inherit it, preserves explicit overrides, and does not replay past messages or silently broaden account/target authorization.
- An override and restoring inheritance are operable, persisted and visible in the existing Profile UI. Identity behavior and connector intake remain distinct owners; behavior defaults never create a binding or Grant.
- Keep Chinese/English localization aligned, including 频道连接器. Use compact existing tables/modals, primary/destructive operation styling and accessible help affordances.
- Real E2E: verify inherited behavior, a distinct explicit override, a global change, restore-inheritance and restart persistence using fresh owner-DM messages. Include matched UI evidence and confirm no unauthorized target is enabled.
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 providersscope:tracerHuman-testable implementation sliceHuman-testable implementation slice
Type
Projects
- StatusShow more project fieldsDone
Activity
DoodleBears commentedon Oct 8, 2026
Agent work claim
codex/local/01a119ff-d4c2-74b0-9ea8-17aa1a3811d0(not a DSH Session)codex/912-wechat-defaultsClaim: continuing at Human request after #911 native QA and the accepted #1176 binding UX merge. Base is latest main
636a5a6c. No prior #912 claim or implementation exists. One issue / one PR; no WeCom, implicit authorization broadening, merge or deployment authority. Human operates native WeChat and reviews the final tracer.fix(client): keep WeChat defaults help scoped to owner DMs
DoodleBears commentedon Oct 8, 2026
Agent work outcome — awaiting browser connection and Human QA
codex/local/01a119ff-d4c2-74b0-9ea8-17aa1a3811d0(not a DSH Session)codex/912-wechat-defaults7bf33357Implemented qualified WeChat reception and native typing defaults through the existing immutable owner, independent inheritance/overrides/restoration, generation-69 preservation and Binding/Grant resume boundaries. Independent Standards and Spec reviews have no remaining confirmed findings. Combined focused runs pass 55 distinct related cases; the final reception file passes all 21. Latest UI-scoping regression passes five cases, and the latest Bundle builds. Clean Ubuntu CI passes all required steps at
d1fe1295; the subsequent narrow UI help-text commit is running fresh CI.Windows packaged candidate
.912.3is running in the preserved isolated Profile with pairing intact, authenticated APIs healthy, typing idle, receiver active and SQLite integrityok. A checkpointed pre-upgrade database backup was verified before canonical staged migration. Real Host API qualification confirms custom choices survive global pause, restore-inheritance resolves current defaults, global resume records a receive boundary, stale saves are refused and unsupported WeChat combinations are rejected; original custom choices and effective global values were restored.After the Human restarted Chrome, the real page opened and console errors/warnings were empty. Qualified WeChat controls and the inherited typing hint were observed. The control connection then lost its native pipe and Chrome disappeared from the browser tool inventory although the browser process remained alive. A cropped capture contained the background after the dialog had gone away and was rejected; no comparable screenshot pair is claimed. A save action timed out and a later read showed Custom, so its result remains unqualified. No product boot failure is inferred from the control failure.
Remaining: restore the Chrome control connection; inspect final
.912.3and repeat the real save/reopen/restart UI path; capture comparable public-safe UI evidence and integrate it into the PR/guides; qualify fresh native WeChat inherited typing off/on and scoped reception/restore behavior with the Human; complete final CI review. Keep #912 open and the PR Draft. Merge and deployment each need separate authorization.1 remaining item
docs(wechat): record defaults Windows qualification
DoodleBears commentedon Oct 8, 2026
Agent work outcome — native QA accepted, awaiting merge authorization
codex/local/01a119ff-d4c2-74b0-9ea8-17aa1a3811d0(not a DSH Session)codex/912-wechat-defaultsd785400a(latest main455e16b0integrated)This supersedes the earlier browser-connection/QA handoff. The real Windows
.912.3page saved and reopened independent inheritance settings. Human native WeChat qualification passes inherited typing off/on, reception pause, restoration and a fresh exchange after same-Profile restart: typing appears, the successful reply arrives, typing clears, and the paused message receives no delayed reply. The paused marker remains absent from canonical intake. Pairing is retained; both settings remain inherited and enabled, receiving is active and typing is idle.The existing immutable Messaging owner now supports qualified WeChat defaults, preserves legacy explicit choices through generation 69, and fences both Binding and Grant reception on resume. Independent Standards and Spec reviews have zero remaining confirmed findings; 55 focused related tests pass. Latest main's AX diagnostics was then integrated, preserving both bilingual release entries; the WeChat runtime changes had no conflicts. An additional 36-case combined WeChat/AX run, typecheck, Bundle build and ledger checks pass. Full clean Ubuntu CI at the final integrated head is linked in the PR. The Windows full-suite attempt had cleanup/time-limit failures; a SQLite cleanup
EPERMwas reproduced independently on the exact main baseline.Bilingual illustrated guides and the Windows qualification record are committed. All three published PR images were verified loaded in GitHub. Their differing viewport heights and the private identity-image capture limitation are explicit in the PR, with a runnable review path. No private conversation IDs, pairing material, local login links or raw Session data are published.
Remaining: final Human PR review, explicit merge authorization, and separately authorized deployment/release. Keep #912 open until the accepted implementation is merged. No further native test is currently requested.
Merge latest main AX diagnostics into WeChat defaults
feat(wechat): inherit reception and native typing defaults (#1191)
DoodleBears commentedon Oct 8, 2026
Agent work outcome — merged, release deferred
codex/local/01a119ff-d4c2-74b0-9ea8-17aa1a3811d0(not a DSH Session)d685ee562389b6ece99f8b14b323e1160e4233f3Human authorized the merge after native owner-DM QA and final main-integrated CI passed. The exact reviewed head was squash-merged, preserving the issue and task trailers. #912 is closed; all ten WeChat tracer issues #903–#912 are now closed.
Human explicitly deferred new npm publication and deployment to a combined release with other features. This task did not publish a package, create a release/tag or run deployment. Release/deployment authorization is still separate from this accepted merge.