Skip to content

WeChat tracer: global behavior defaults and Profile inheritance #912

Closed

Description

@DoodleBears

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.

Activity

  1. added this to the v1.1 milestone on Oct 5, 2026
  2. added
    ready-for-agentFully specified, ready for an AFK agent
    area:fullstackEnd-to-end Host and Client implementation
    feature:messagingMessaging module and external providers
    scope:tracerHuman-testable implementation slice
    on Oct 5, 2026
  3. DoodleBears commented on Oct 8, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: Codex
    • Task: codex/local/01a119ff-d4c2-74b0-9ea8-17aa1a3811d0 (not a DSH Session)
    • Issue scope: WeChat tracer: global behavior defaults and Profile inheritance #912 personal WeChat owner-DM global behavior defaults, existing PersonaBot/Profile inheritance, persisted overrides and restoration, capability-gated UI, fresh native E2E and bilingual guides.
    • Branch: codex/912-wechat-defaults
    • Started: 2026-10-08 09:13 UTC
    • State: active

    Claim: 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.

  4. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    in-progressHeld by an agent session; see Claim comment for who
    on Oct 8, 2026
  5. DoodleBears commented on Oct 8, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome — awaiting browser connection and Human QA

    Implemented 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.3 is running in the preserved isolated Profile with pairing intact, authenticated APIs healthy, typing idle, receiver active and SQLite integrity ok. 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.3 and 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.

  6. added and removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    in-progressHeld by an agent session; see Claim comment for who
    on Oct 8, 2026
  7. 1 remaining item

  8. DoodleBears commented on Oct 8, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome — native QA accepted, awaiting merge authorization

    This supersedes the earlier browser-connection/QA handoff. The real Windows .912.3 page 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 EPERM was 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.

  9. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    and removed
    ready-for-agentFully specified, ready for an AFK agent
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 8, 2026
  10. added and removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 8, 2026
  11. DoodleBears commented on Oct 8, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome — merged, release deferred

    Human 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:fullstackEnd-to-end Host and Client implementationfeature:messagingMessaging module and external providersscope:tracerHuman-testable implementation slice

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions