Skip to content

fix(messaging): ship the QQ and Lark Provider fixes in the bundled IM Provider - #2959

Merged
DoodleBears merged 2 commits into
mainfrom
claude/project-thread-omu4dl
Oct 27, 2026
Merged

DoodleBears merged 2 commits into
mainfrom
claude/project-thread-omu4dl

Conversation

@DoodleBears

Copy link
Copy Markdown
Contributor

Requested by Vain · project thread

Why the change

The QQ fixes and the Lark Markdown fix are merged in the dsh-im fork, but the bundled IM Provider was still pinned to the old commit beaed4a6, so none of them would ship in 1.6.0.

Closes #2918. Refs #2792, #2868, #2895, #2896, #2897, #2900.

Special things to note

  • What changes: the pin moves to 7505ce6f, the fork main after fix(qq,host): DSH 0.2.1 owner Peer, QQ quotes/media/private messages, group 429 backoff, passive deferred replies dsh-im#33 (QQ) and fix(feishu): send Markdown Bot replies as native Markdown cards dsh-im#34 (Lark Markdown replies). The Provider version moves to 4.32.0-botharness.23.
    • Runtime file count and digest were recomputed with providerRuntimeDigest: 424 files, a4429580…. verifyProviderSource passes on a clean checkout of the new commit.
    • package.json and package-lock.json in dsh-im did not change, so their hashes stay the same.
    • qualifiedImProvider.dsh stays 0.2.1-rc.2.
  • Published Provider record: scripts/published-product-provider.json still describes the published .22. .23 is not on npm yet, so reusePublishedProvider finds no remote and the release publishes the new Provider. The test that required the record to equal the pin now requires either equality or a strictly newer pin. Record .23 after the release publishes it, as was done for .22 in 24d9be4.
  • Merge risk: low and reversible by reverting. It only affects the bundled IM Provider.
  • Verification:
    • vitest run scripts/test/: 825 passed, 1 failed, 3 skipped. The failure is dev-instance-lifecycle … real offline pnpm installation, a 30 s timeout. It is unrelated: it comes from this container running pnpm through npx.
    • scripts/test/product-artifacts.test.mjs and npm-prerelease.test.mjs pass.
    • pnpm changelog:check and lint (no new errors) pass.
    • dsh-im CI was green on Wayfinder: per-PersonaBot 费用与用量可见性 #34.
    • Not run: the live QQ check through the full DeepSeekBot + DSH stack that Package the dsh-im build with the QQ fixes in the next release #2918 step 4 asks for, and a live Lark check. Both need real bot accounts.
  • CI test plan: the npm prerelease preparation workflow runs because its paths include scripts/product-artifacts.mjs and scripts/dev-im-provider.mjs.

Change outline

Field Before After
Provider source beaed4a6… 7505ce6f…
Provider version 4.32.0-botharness.22 4.32.0-botharness.23
Runtime files / digest 421 / 42e1140e… 424 / a4429580…

A change fragment, changes/2918-im-provider-qq-lark.md, adds the bilingual Release Ledger entry.


Generated by Claude Code

… Provider

Pin the dsh-im fork at 7505ce6f (BotHarness/dsh-im#33 and #34) and move
the bundled Provider to 4.32.0-botharness.23 so the release carries the
QQ fixes (#2868, #2895, #2896, #2897, private messages for #2900) and
Lark Markdown replies (#2792). Runtime files and digest are recomputed
from the new source; manifest and lock are unchanged.

The published Provider record still names .22 until the release
publishes .23, so its test now requires the pin to equal or supersede it.

Closes #2918
Refs #2792

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lpx6qnuRKPyBQWbwohCfMZ
@DoodleBears DoodleBears self-assigned this Oct 27, 2026
@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 1 minute.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 23bc4d12-fcf1-4608-8ed8-ebe95c20cd15
Commits

Reviewing files that changed from the base of the PR and between 43bf7b4 and ae569b9.

Files ignored due to path filters: 1
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
Files selected for processing: 9
  • .gitattributes
  • changes/2918-im-provider-qq-lark.md
  • docs/client-bridge.md
  • docs/product-im-installation.md
  • patches/react-native-view-shot@6.1.1.patch
  • scripts/dev-im-provider.mjs
  • scripts/product-artifacts.mjs
  • scripts/test/npm-prerelease.test.mjs
  • scripts/test/product-artifacts.test.mjs
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

qualify-commands (windows-latest) failed installing dependencies with
ERR_PNPM_INVALID_PATCH at byte 0 of patches/react-native-view-shot@6.1.1.patch.
The patch opened with an empty deletion of example-expo/package-lock.json,
which the published package does not need. Drop that section, keep the
exports reorder unchanged, and check patches out with LF so pnpm parses
the same bytes on every platform. The lockfile patch hash is regenerated
by pnpm.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lpx6qnuRKPyBQWbwohCfMZ

Copy link
Copy Markdown
Contributor Author

qualify-commands (windows-latest) failed before any test ran: pnpm install stopped with ERR_PNPM_INVALID_PATCH at byte 0 of patches/react-native-view-shot@6.1.1.patch (added on main in #2836). It is not caused by the Provider pin, and the Ubuntu leg passed. It would also block the Windows qualification of the 1.6.0 release, so I pushed a small fix here:

  • dropped the empty example-expo/package-lock.json deletion section at the top of the patch (the exports reorder is unchanged and applies identically, checked in node_modules)
  • patches/*.patch text eol=lf in .gitattributes so Windows checkouts give pnpm the same bytes
  • lockfile patch hash regenerated with pnpm install --lockfile-only

Generated by Claude Code

Copy link
Copy Markdown
Contributor Author

prepare (npm prerelease preparation) failed on ae569b9 with one test: source-policy.test.mjs > rejects real non-ignored comment and aliased React effect files hit its 15 s timeout inside the full pnpm test run (10432 other tests passed). That test scans the real repository; locally it takes ~6.4 s both with and without this PR's .gitattributes change, and the same job passed on the previous head d370173. Nothing in this diff touches the source-policy scanner, so I read it as load-dependent timing rather than this PR's change, and am re-running the failed job once. If it fails again I will treat it as real.


Generated by Claude Code

@DoodleBears
DoodleBears merged commit 2ac5490 into main Oct 27, 2026
21 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Package the dsh-im build with the QQ fixes in the next release

2 participants