From 6a17302b0f4b795cc0307d488f9c88a64730ba57 Mon Sep 17 00:00:00 2001 From: BarnacleBoy Date: Thu, 7 May 2026 01:36:42 +0000 Subject: [PATCH 1/2] feat(kanban): convert inline-create title input to multiline textarea - Changed Input component to native textarea for task creation - Removed Enter-to-submit behavior (use Create button instead) - Added proper styling: border, padding, rounded corners, focus ring - 2-row default height with vertical resize and max-height cap - Escape still cancels the form --- plugins/kanban/dashboard/dist/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/kanban/dashboard/dist/index.js b/plugins/kanban/dashboard/dist/index.js index cc8e3a22251b..c65d3905419c 100644 --- a/plugins/kanban/dashboard/dist/index.js +++ b/plugins/kanban/dashboard/dist/index.js @@ -1756,18 +1756,18 @@ : "workspace path (optional, derived from assignee if blank)"; return h("div", { className: "hermes-kanban-inline-create" }, - h(Input, { + h("textarea", { value: title, onChange: function (e) { setTitle(e.target.value); }, onKeyDown: function (e) { - if (e.key === "Enter") { e.preventDefault(); submit(); } if (e.key === "Escape") props.onCancel(); }, placeholder: props.columnName === "triage" ? "Rough idea — AI will spec it…" : "New task title…", autoFocus: true, - className: "h-8 text-sm", + className: "text-sm min-h-[2rem] max-h-32 resize-y w-full border border-input bg-transparent px-2 py-1 rounded-md focus:outline-none focus:ring-2 focus:ring-ring", + rows: 2, }), h("div", { className: "flex gap-2" }, h(Input, { From db9d0b8e31f1deb2b90ec7e6db6c26615e80d616 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Thu, 7 May 2026 05:51:49 -0700 Subject: [PATCH 2/2] fix(kanban): restore Enter=submit, Shift+Enter=newline in inline-create textarea The textarea conversion in the previous commit dropped Enter-to-submit entirely, requiring a mouse click on Create for every single-line task. Restore the common-case shortcut while preserving multiline entry: - Enter (no modifier) submits the form - Shift+Enter inserts a newline - Escape still cancels Matches the convention used by Slack, Discord, GitHub PR comment boxes. --- plugins/kanban/dashboard/dist/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/kanban/dashboard/dist/index.js b/plugins/kanban/dashboard/dist/index.js index c65d3905419c..62a0a2e6f1b5 100644 --- a/plugins/kanban/dashboard/dist/index.js +++ b/plugins/kanban/dashboard/dist/index.js @@ -1760,6 +1760,7 @@ value: title, onChange: function (e) { setTitle(e.target.value); }, onKeyDown: function (e) { + if (e.key === "Enter" && !e.shiftKey) { e.preventDefault(); submit(); } if (e.key === "Escape") props.onCancel(); }, placeholder: props.columnName === "triage"