From c580add8bcb9590089f65d5e41ec33207fc73251 Mon Sep 17 00:00:00 2001 From: qer Date: Tue, 23 Jun 2026 18:48:39 +0800 Subject: [PATCH] refactor(web): extract composer text + draft persistence into a composable Move the composer's text ref, textarea ref, autosize helper, the per-session draft load/save watchers, and the loadForEdit handle into useComposerDraft. The returned text/textareaRef/autosize refs are passed straight through to the history / slash / mention composables as their deps, so the rest of the component is unchanged. Composer.vue: 1987 -> 1937 lines. Adds unit tests for useComposerDraft. No behavior change. --- .changeset/web-extract-composer-draft.md | 5 + apps/kimi-web/src/components/Composer.vue | 62 +--------- .../src/composables/useComposerDraft.ts | 71 ++++++++++++ apps/kimi-web/test/composer-draft.test.ts | 106 ++++++++++++++++++ 4 files changed, 188 insertions(+), 56 deletions(-) create mode 100644 .changeset/web-extract-composer-draft.md create mode 100644 apps/kimi-web/src/composables/useComposerDraft.ts create mode 100644 apps/kimi-web/test/composer-draft.test.ts diff --git a/.changeset/web-extract-composer-draft.md b/.changeset/web-extract-composer-draft.md new file mode 100644 index 0000000000..37c120f412 --- /dev/null +++ b/.changeset/web-extract-composer-draft.md @@ -0,0 +1,5 @@ +--- +"@moonshot-ai/kimi-code": patch +--- + +Extract the composer's text state and per-session draft persistence into a reusable composable. diff --git a/apps/kimi-web/src/components/Composer.vue b/apps/kimi-web/src/components/Composer.vue index 02c919898b..a21c741cb0 100644 --- a/apps/kimi-web/src/components/Composer.vue +++ b/apps/kimi-web/src/components/Composer.vue @@ -1,6 +1,6 @@