From fa5ea4529a307e8789764e66ef6ba6926a5d1186 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sat, 4 Apr 2026 03:39:05 +0900 Subject: [PATCH] fix(types): align rebased channel setup flows --- extensions/feishu/src/setup-surface.ts | 4 ++-- extensions/matrix/src/exec-approvals.ts | 26 +++++++++++++++---------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/extensions/feishu/src/setup-surface.ts b/extensions/feishu/src/setup-surface.ts index f121dd4d33e..959b1f0b0cc 100644 --- a/extensions/feishu/src/setup-surface.ts +++ b/extensions/feishu/src/setup-surface.ts @@ -37,9 +37,9 @@ type ScopedFeishuConfig = Partial & Partial; function getScopedFeishuConfig(cfg: OpenClawConfig, accountId: string): ScopedFeishuConfig { const feishuCfg = cfg.channels?.feishu as FeishuConfig | undefined; if (accountId === DEFAULT_ACCOUNT_ID) { - return feishuCfg; + return feishuCfg ?? {}; } - return (feishuCfg.accounts?.[accountId] as FeishuAccountConfig | undefined) ?? {}; + return (feishuCfg?.accounts?.[accountId] as FeishuAccountConfig | undefined) ?? {}; } function patchFeishuConfig( diff --git a/extensions/matrix/src/exec-approvals.ts b/extensions/matrix/src/exec-approvals.ts index 6da4705d424..2fea05824d9 100644 --- a/extensions/matrix/src/exec-approvals.ts +++ b/extensions/matrix/src/exec-approvals.ts @@ -32,13 +32,13 @@ function resolveMatrixExecApprovalConfig(params: { }) { const account = resolveMatrixAccount(params); const config = account.config.execApprovals; - if (!config || !account.enabled || !account.configured || config.enabled !== true) { - return { enabled: false } as const; + if (!config) { + return undefined; } return { ...config, - enabled: true as const, - } as const; + enabled: account.enabled && account.configured ? config.enabled : false, + }; } function countMatrixExecApprovalEligibleAccounts(params: { @@ -54,18 +54,24 @@ function countMatrixExecApprovalEligibleAccounts(params: { cfg: params.cfg, accountId, }); - if (!config.enabled) { - return false; - } + const filters = config?.enabled + ? { + agentFilter: config.agentFilter, + sessionFilter: config.sessionFilter, + } + : { + agentFilter: undefined, + sessionFilter: undefined, + }; return ( isChannelExecApprovalClientEnabledFromConfig({ - enabled: config.enabled, + enabled: config?.enabled, approverCount: getMatrixExecApprovalApprovers({ cfg: params.cfg, accountId }).length, }) && matchesApprovalRequestFilters({ request: params.request.request, - agentFilter: config.agentFilter, - sessionFilter: config.sessionFilter, + agentFilter: filters.agentFilter, + sessionFilter: filters.sessionFilter, }) ); }).length;