Skip to content

fix(messaging): leave this Bot's own apps out of Bind app (#1127) - #1130

Merged
DoodleBears merged 8 commits into
mainfrom
claude/1127-hide-own-apps
Oct 7, 2026
Merged

DoodleBears merged 8 commits into
mainfrom
claude/1127-hide-own-apps

Conversation

@DoodleBears

Copy link
Copy Markdown
Contributor

Requested by Vain · project thread

Closes #1127 · part of #1107 · stacked on #1121 (base switches to main once #1121 merges)

Before: Bind app listed apps already bound to the same Bot, greyed out as "already bound to this Bot", although External identities already shows them.

After: Bind app leaves this Bot's own apps out. Apps another Bot uses stay greyed out with that Bot's name.

How

  • ExternalIdentityList filters accounts that match one of this Bot's identities before building the Bind app options; the "already bound to this Bot" hint and its locale key are gone.
  • External identities guide (zh/en) and CHANGELOG zh/en updated.

Screenshots

Real Host with a simulated Lark provider; Bind app opened from Bob, whose own app is no longer listed. All variants: https://github.com/BotHarness/BotHarness/tree/claude/1127-hide-own-apps/docs/assets/pr/1127-hide-own-apps

zh light en dark

Tests

  • external-identity-list.test.ts: Bind app lists the free app and another Bot's app (disabled, with owner), not this Bot's own app.
  • tsc, lint, oxfmt, docs tests and pnpm changelog:check are clean.

Human verification

  1. Bind an app to a Bot, then open that Bot's Bind app. The app you just bound is not in the list.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WXjBatxGTRyRSxZYeJpqgH


Generated by Claude Code

claude added 6 commits October 7, 2026 15:27
…llow again (#1109)

The app's Conversations list in Edit identity sorts entries into Waiting,
Active, Muted and Blocked. Mute admits silently, Rules reuses the group
reception editor, Block revokes the entry, cancels unsent replies and
writes a durable block per Bot, app fingerprint and conversation that
survives restart and rebind; Allow again creates a fresh entry with no
backfill. New conversations can be admitted automatically or held for
the user, and new entries are bounded to 20 per hour and 500 active per
app with at most 200 held.

Issue: #1109
Agent-Task: claude-code/cloud/session_01WXjBatxGTRyRSxZYeJpqgH
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WXjBatxGTRyRSxZYeJpqgH
A Bot can now bind several apps of the same platform; one app still
belongs to one Bot. Generation 63 drops messaging_binding_bot_platform
and the bind and authorize commands no longer refuse a second app of a
platform. A new apps projection lists every Provider account with its
bound Bot; Bind app hides apps another Bot uses, External identities
groups apps by platform, and Bot settings gets an IM apps list that
refreshes on roster changes. Shared replies from a Bot with two apps in
the same group refuse with reply-target-ambiguous.

Issue: #1110
Agent-Task: claude-code/cloud/session_01WXjBatxGTRyRSxZYeJpqgH
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WXjBatxGTRyRSxZYeJpqgH
Per review, the app overview lives where apps are chosen. Bind app now
lists every connected app: apps a Bot already uses are disabled and name
that Bot (or say they are bound to this Bot), disconnected apps say so,
and Manage app credentials opens IM bots settings. The IM apps list in
Bot settings and its messagingApps bridge method are removed; the
snapshot's accounts already carry the owner.

Issue: #1110
Agent-Task: claude-code/cloud/session_01WXjBatxGTRyRSxZYeJpqgH
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WXjBatxGTRyRSxZYeJpqgH
They already show under External identities, so listing them again as
"already bound to this Bot" was noise (real-IM QA finding).

Issue: #1127
Agent-Task: claude-code/cloud/session_01WXjBatxGTRyRSxZYeJpqgH
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WXjBatxGTRyRSxZYeJpqgH
# Conflicts:
#	CHANGELOG.md
#	CHANGELOG.zh.md
#	packages/client/src/client/external-entries.tsx
#	packages/client/src/client/external-identity-list.tsx
#	packages/client/src/client/locale.ts
#	packages/client/test/external-identity-list.test.ts
#	packages/core/src/database/schema-plan.ts
@coderabbitai

coderabbitai Bot commented Oct 7, 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 53 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 995427de-eb44-4939-91c1-0be10c25ace5
📥 Commits

Reviewing files that changed from the base of the PR and between 289489f and 69087e7.

📒 Files selected for processing (12)
  • CHANGELOG.md
  • CHANGELOG.zh.md
  • docs/assets/pr/1127-hide-own-apps/README.md
  • docs/assets/pr/1127-hide-own-apps/bind-en-dark.webp
  • docs/assets/pr/1127-hide-own-apps/bind-en-light.webp
  • docs/assets/pr/1127-hide-own-apps/bind-zh-dark.webp
  • docs/assets/pr/1127-hide-own-apps/bind-zh-light.webp
  • docs/channel-sidebar/external-identities.md
  • docs/channel-sidebar/external-identities.zh.md
  • packages/client/src/client/external-identity-list.tsx
  • packages/client/src/client/locale.ts
  • packages/client/test/external-identity-list.test.ts
  • Autopilot · 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.

…apps

# Conflicts:
#	docs/channel-sidebar/external-identities.md
#	docs/channel-sidebar/external-identities.zh.md
#	packages/client/src/client/external-identity-list.tsx
#	packages/client/src/client/locale.ts
#	packages/client/test/external-identity-list.test.ts
@DoodleBears
DoodleBears changed the base branch from claude/1110-several-apps to main October 7, 2026 17:16
…apps

# Conflicts:
#	CHANGELOG.md
#	CHANGELOG.zh.md
#	packages/client/src/client/external-identity-list.tsx
#	packages/client/test/external-identity-list.test.ts
@DoodleBears
DoodleBears merged commit 4a2fc15 into main Oct 7, 2026
2 checks passed
@DoodleBears
DoodleBears deleted the claude/1127-hide-own-apps branch October 28, 2026 04:24
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.

Bind app dialog offers apps already bound to this Bot

2 participants