Skip to content

Commit ad015c5

Browse files
committed
fix: 체인 템플릿 저장 모달에서 이전 기록이 남아있는 이슈
1 parent 7c99bbd commit ad015c5

File tree

3 files changed

+29
-20
lines changed

3 files changed

+29
-20
lines changed

src/renderer/pages/ChainBuilderPage.tsx

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -337,9 +337,15 @@ const ChainBuilderPage: React.FC = () => {
337337
setOutputText(result.finalOutput);
338338

339339
if (result.success) {
340-
message.success('체인 실행이 완료되었습니다.');
340+
message.success(`체인 실행이 완료되었습니다. (${result.totalDuration}ms)`);
341341
} else {
342-
message.error('체인 실행 중 오류가 발생했습니다.');
342+
// 더 상세한 오류 정보 제공
343+
const failedStep = result.steps.find(step => !step.success);
344+
const errorMsg = failedStep
345+
? `${failedStep.stepType} 스텝에서 오류: ${failedStep.error}`
346+
: '체인 실행 중 오류가 발생했습니다.';
347+
message.error(errorMsg);
348+
console.error('Chain execution failed:', result.steps);
343349
}
344350

345351
// 히스토리에 저장
@@ -649,16 +655,21 @@ const ChainBuilderPage: React.FC = () => {
649655
form.resetFields();
650656
}}
651657
onOk={() => form.submit()}
658+
afterOpenChange={(open) => {
659+
if (open && currentTemplate) {
660+
// 모달이 열릴 때마다 현재 템플릿 정보로 폼을 설정
661+
form.setFieldsValue({
662+
name: currentTemplate.name,
663+
description: currentTemplate.description,
664+
tags: currentTemplate.tags,
665+
});
666+
}
667+
}}
652668
>
653669
<Form
654670
form={form}
655671
onFinish={handleSaveTemplate}
656672
layout="vertical"
657-
initialValues={{
658-
name: currentTemplate?.name,
659-
description: currentTemplate?.description,
660-
tags: currentTemplate?.tags,
661-
}}
662673
>
663674
<Form.Item
664675
name="name"

src/renderer/store/ChainContext.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,12 +144,10 @@ export const ChainProvider: React.FC<ChainProviderProps> = ({ children }) => {
144144
}
145145

146146
for (const step of enabledSteps) {
147-
const moduleInfo = CHAIN_MODULES[step.type];
148-
149147
// Check required parameters for RSA operations
150148
if (step.type === 'rsa-encrypt' || step.type === 'rsa-decrypt') {
151149
if (!step.params || !step.params.keyId) {
152-
errors.push(`${step.name || step.type} 스텝에서 keyId 파라미터가 필요합니다.`);
150+
errors.push(`${step.name || step.type} 스텝에서 키를 선택해주세요.`);
153151
}
154152
}
155153
}

src/shared/constants.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ export const DEFAULT_CHAIN_TEMPLATES = [
7171
description: 'URL을 안전하게 전송하기 위해 인코딩 → RSA 암호화 → Base64 인코딩',
7272
tags: ['보안', 'URL', '전송'],
7373
steps: [
74-
{ id: '1', type: 'url-encode' as const, enabled: true },
75-
{ id: '2', type: 'rsa-encrypt' as const, enabled: true },
76-
{ id: '3', type: 'base64-encode' as const, enabled: true },
74+
{ id: '1', type: 'url-encode' as const, enabled: true, params: {} },
75+
{ id: '2', type: 'rsa-encrypt' as const, enabled: true, params: {} },
76+
{ id: '3', type: 'base64-encode' as const, enabled: true, params: {} },
7777
],
7878
},
7979
{
@@ -82,9 +82,9 @@ export const DEFAULT_CHAIN_TEMPLATES = [
8282
description: '암호화된 URL을 복호화 Base64 디코딩 → RSA 복호화 → URL 디코딩',
8383
tags: ['보안', 'URL', '수신'],
8484
steps: [
85-
{ id: '1', type: 'base64-decode' as const, enabled: true },
86-
{ id: '2', type: 'rsa-decrypt' as const, enabled: true },
87-
{ id: '3', type: 'url-decode' as const, enabled: true },
85+
{ id: '1', type: 'base64-decode' as const, enabled: true, params: {} },
86+
{ id: '2', type: 'rsa-decrypt' as const, enabled: true, params: {} },
87+
{ id: '3', type: 'url-decode' as const, enabled: true, params: {} },
8888
],
8989
},
9090
{
@@ -93,8 +93,8 @@ export const DEFAULT_CHAIN_TEMPLATES = [
9393
description: '텍스트를 URL 인코딩 후 Base64로 한 번 더 인코딩',
9494
tags: ['인코딩', '변환'],
9595
steps: [
96-
{ id: '1', type: 'url-encode' as const, enabled: true },
97-
{ id: '2', type: 'base64-encode' as const, enabled: true },
96+
{ id: '1', type: 'url-encode' as const, enabled: true, params: {} },
97+
{ id: '2', type: 'base64-encode' as const, enabled: true, params: {} },
9898
],
9999
},
100100
{
@@ -103,8 +103,8 @@ export const DEFAULT_CHAIN_TEMPLATES = [
103103
description: 'RSA 암호화 후 Base64로 인코딩하여 전송 가능한 형태로 변환',
104104
tags: ['암호화', '보안'],
105105
steps: [
106-
{ id: '1', type: 'rsa-encrypt' as const, enabled: true },
107-
{ id: '2', type: 'base64-encode' as const, enabled: true },
106+
{ id: '1', type: 'rsa-encrypt' as const, enabled: true, params: {} },
107+
{ id: '2', type: 'base64-encode' as const, enabled: true, params: {} },
108108
],
109109
},
110110
] as const;

0 commit comments

Comments
 (0)