mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
feat(kanban): modal create-task dialog, editable board project directory, comment workflow hint (#66333)
Community feedback (@LSanapalli on X): the inline task-creation form is cramped inside a ~280px column with no way to resize; board-level workspace defaults can't be changed after board creation; and users believe they must block a task, comment, then unblock just to talk to a worker. - Create-task dialog: replace the inline column form with a centered modal (reuses hermes-kanban-dialog chrome, 36rem wide) with labeled fields for title, assignee, priority, skills, workspace kind/path, goal mode, and parent task. Same request shape; Enter/Escape behavior preserved; submit disabled until a title is present. - Board settings dialog: new Settings button in the board switcher opens a modal to edit display name, description, and the board-level default project directory (default_workdir). PATCH /boards/:slug now accepts default_workdir (validated absolute existing dir; empty string clears; omitted leaves unchanged) and returns the recomputed default_workspace_kind so task-creation defaults follow immediately. - Comment workflow hint: the task drawer's comment box now explains that comments land on the thread immediately and reach the worker on its next run/kanban_show() — no block/unblock dance needed — with a fuller tooltip for when blocking IS the right tool. - i18n: new keys optional in the kanban namespace with English fallbacks in the bundle (established pattern; avoids churning 17 locale files). - Docs: dashboard section updated for the dialog + Settings button.
This commit is contained in:
parent
71252f0dcb
commit
e4f87557b9
7 changed files with 483 additions and 163 deletions
|
|
@ -828,5 +828,25 @@ export const en: Translations = {
|
|||
"workspace path (optional, derived from assignee if blank)",
|
||||
logTruncated: "(showing last 100 KB — full log at ",
|
||||
logAt: ")",
|
||||
newTaskTitle: "New task — {column}",
|
||||
taskTitleLabel: "Title",
|
||||
assigneeLabel: "Assignee",
|
||||
assigneeLabelHint: "(blank = dispatcher picks)",
|
||||
skillsLabel: "Skills",
|
||||
skillsLabelHint: "(optional, comma-separated)",
|
||||
parentLabel: "Parent task",
|
||||
parentLabelHint: "(child stays blocked until the parent is done)",
|
||||
create: "Create",
|
||||
boardSettings: "Settings",
|
||||
boardSettingsTitle:
|
||||
"Board settings — name, description, and the default project directory new tasks inherit",
|
||||
boardSettingsTitleFor: "Board settings — {name}",
|
||||
projectDirectoryOverrideHint:
|
||||
"New tasks inherit this as their workspace default; each task can still override it in the create dialog.",
|
||||
saving: "Saving…",
|
||||
commentHint:
|
||||
"Comments reach the worker on its next run or kanban_show() — no need to block the task first.",
|
||||
commentHintTitle:
|
||||
"Comments are the channel for talking to a task's worker. They land on the thread immediately — no need to block the task first. A running worker picks the thread up on its next kanban_show() or respawn; blocking is only for when you want the worker to STOP and wait for your input.",
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -826,5 +826,25 @@ export interface Translations {
|
|||
workspacePathOptional: string;
|
||||
logTruncated: string;
|
||||
logAt: string;
|
||||
// Optional keys added with the modal create-task dialog, board-settings
|
||||
// dialog, and comment workflow hint. Non-English locales fall back to
|
||||
// the English literal in the plugin bundle until translated, so these
|
||||
// are optional to avoid churning every locale file.
|
||||
newTaskTitle?: string;
|
||||
taskTitleLabel?: string;
|
||||
assigneeLabel?: string;
|
||||
assigneeLabelHint?: string;
|
||||
skillsLabel?: string;
|
||||
skillsLabelHint?: string;
|
||||
parentLabel?: string;
|
||||
parentLabelHint?: string;
|
||||
create?: string;
|
||||
boardSettings?: string;
|
||||
boardSettingsTitle?: string;
|
||||
boardSettingsTitleFor?: string;
|
||||
projectDirectoryOverrideHint?: string;
|
||||
saving?: string;
|
||||
commentHint?: string;
|
||||
commentHintTitle?: string;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue