From d7a1306790846a95efd2bd406d26e430106c4c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E5=91=98=E9=98=BF=E6=B1=9F=28Relakkes?= =?UTF-8?q?=29?= Date: Wed, 10 Jun 2026 23:47:57 +0800 Subject: [PATCH] fix(desktop): let memory markdown editor fill pane Tested: cd desktop && bun run test -- src/__tests__/memorySettings.test.tsx --run --reporter=verbose --pool=forks --maxWorkers=1 --minWorkers=1 Tested: bun run check:desktop Tested: bun run check:coverage Tested: Chrome CDP smoke confirmed the memory editor textarea expands to 592px tall Confidence: high Scope-risk: narrow --- desktop/src/__tests__/memorySettings.test.tsx | 10 ++++++++++ desktop/src/pages/MemorySettings.tsx | 16 ++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/desktop/src/__tests__/memorySettings.test.tsx b/desktop/src/__tests__/memorySettings.test.tsx index 0474595b..131a4bec 100644 --- a/desktop/src/__tests__/memorySettings.test.tsx +++ b/desktop/src/__tests__/memorySettings.test.tsx @@ -163,6 +163,16 @@ describe('MemorySettings', () => { expect(await screen.findByTestId('markdown-preview')).toHaveTextContent('Prefer small diffs') }) + it('lets the markdown editor fill the remaining detail pane height', async () => { + render() + + fireEvent.click(await screen.findByRole('button', { name: 'Edit' })) + + const editor = await screen.findByLabelText('Editor') + expect(editor).toHaveClass('min-h-0', 'flex-1', 'resize-none') + expect(editor.parentElement).toHaveClass('flex', 'min-h-0', 'flex-1', 'flex-col') + }) + it('cancels edit mode by discarding the unsaved draft', async () => { render() diff --git a/desktop/src/pages/MemorySettings.tsx b/desktop/src/pages/MemorySettings.tsx index 65e3599e..30895d48 100644 --- a/desktop/src/pages/MemorySettings.tsx +++ b/desktop/src/pages/MemorySettings.tsx @@ -306,7 +306,7 @@ export function MemorySettings() { -
+
@@ -332,8 +332,8 @@ export function MemorySettings() { {selectedFile ? ( isEditing ? ( -
-
+
+
{t('settings.memory.editor')} MARKDOWN @@ -375,12 +375,12 @@ export function MemorySettings() { value={draftContent} onChange={(event) => updateDraft(event.target.value)} spellCheck={false} - className="h-[calc(100%-40px)] w-full resize-none overflow-auto bg-transparent p-5 font-mono text-[13px] leading-6 text-[var(--color-text-primary)] outline-none placeholder:text-[var(--color-text-tertiary)]" + className="min-h-0 flex-1 w-full resize-none overflow-auto bg-transparent p-5 font-mono text-[13px] leading-6 text-[var(--color-text-primary)] outline-none placeholder:text-[var(--color-text-tertiary)]" />
) : ( -
-
+
+
{t('settings.memory.preview')} {t('settings.memory.rendered')} @@ -395,7 +395,7 @@ export function MemorySettings() { icon={
-
+
) ) : ( -
+
} text={isLoadingFile ? t('common.loading') : t('settings.memory.selectFile')} />
)}