diff --git a/addons/internal/connector-ui/src/ConnectorPage.jsx b/addons/internal/connector-ui/src/ConnectorPage.jsx
index 0158827da..6a89e20ae 100644
--- a/addons/internal/connector-ui/src/ConnectorPage.jsx
+++ b/addons/internal/connector-ui/src/ConnectorPage.jsx
@@ -19,7 +19,7 @@ import { Check, Field, HintLabels, Notice, RadioCards, Select, Switch, TextInput
import NameList from './NameList'
import PermissionFields, { NoCapsNotice } from './PermissionFields'
import { agentsApi, connectorsApi, setApiLanguage } from './api'
-import { canSave, channelOnly, connectorForm, hasNoCaps, connectorPayload, emptyConnector, listEntries, replaceList, senderLine, usualCaps } from './connector'
+import { DUPLICATE_CONFIRMATION, canSave, channelOnly, duplicateOther, duplicateRefusalName, isDuplicateRefusal, connectorForm, hasNoCaps, connectorPayload, emptyConnector, listEntries, replaceList, senderLine, usualCaps } from './connector'
import { registerConnectorLocales } from './i18n'
import './connector.css'
@@ -67,6 +67,23 @@ function SingleToken({ form, setForm, t }) {
)
}
+// Two enabled connections that are the same bot: both answer every message.
+// The warning names the other one, offers to switch this one off and opens the
+// other. The host decides what is a duplicate (c.duplicate); this only shows it.
+function SameBotNotice({ c, s, busy, onOff, onOpen }) {
+ const other = duplicateOther(c)
+ if (!other) return null
+ return (
+ {s('dup.text', { name: other.name })}