Align IM connections with local channels

This commit is contained in:
taohe
2026-06-10 22:16:47 +08:00
parent 92c185b90d
commit d06643d8a2
33 changed files with 588 additions and 1536 deletions
@@ -106,12 +106,20 @@ export function WorkspaceChannelsList() {
disabled={!canConnect || isPending}
title={getProviderDisabledReason(provider, t)}
onClick={() => {
const connectWindow = prepareConnectWindow();
const connectWindow =
provider.auth_mode === "deep_link"
? prepareConnectWindow()
: null;
void connectMutation
.mutateAsync(provider.provider)
.then((result) =>
openConnectUrl(result.url, connectWindow),
)
.then((result) => {
if (result.url) {
openConnectUrl(result.url, connectWindow);
return;
}
closeConnectWindow(connectWindow);
toast.success(result.instruction);
})
.catch((error) => {
closeConnectWindow(connectWindow);
toast.error(
@@ -165,10 +165,20 @@ function ChannelProviderItem({
disabled={!canConnect || isConnecting}
title={unavailableReason}
onClick={() => {
const connectWindow = prepareConnectWindow();
const connectWindow =
provider.auth_mode === "deep_link"
? prepareConnectWindow()
: null;
void connectMutation
.mutateAsync(provider.provider)
.then((result) => openConnectUrl(result.url, connectWindow))
.then((result) => {
if (result.url) {
openConnectUrl(result.url, connectWindow);
return;
}
closeConnectWindow(connectWindow);
toast.success(result.instruction);
})
.catch((error) => {
closeConnectWindow(connectWindow);
toast.error(
+3 -1
View File
@@ -35,6 +35,8 @@ export interface ChannelConnectionsResponse {
export interface ChannelConnectResponse {
provider: ChannelProviderId;
mode: string;
url: string;
url?: string | null;
code: string;
instruction: string;
expires_in: number;
}