diff --git a/.story_kit/work/2_current/199_story_web_ui_submits_all_queued_items_at_once.md b/.story_kit/work/2_current/199_story_web_ui_submits_all_queued_items_at_once.md new file mode 100644 index 0000000..b6c753a --- /dev/null +++ b/.story_kit/work/2_current/199_story_web_ui_submits_all_queued_items_at_once.md @@ -0,0 +1,17 @@ +--- +name: "Web UI submits all queued items at once" +--- + +# Story 199: Web UI submits all queued items at once + +## User Story + +As a user, I want the web UI to submit all queued items at once when there are multiple waiting items, so that I don't have to submit them one at a time. + +## Acceptance Criteria + +- [ ] TODO + +## Out of Scope + +- TBD diff --git a/.story_kit/work/4_merge/195_story_preserve_newlines_in_chat_message_submission.md b/.story_kit/work/5_done/195_story_preserve_newlines_in_chat_message_submission.md similarity index 100% rename from .story_kit/work/4_merge/195_story_preserve_newlines_in_chat_message_submission.md rename to .story_kit/work/5_done/195_story_preserve_newlines_in_chat_message_submission.md diff --git a/frontend/src/components/MessageItem.test.tsx b/frontend/src/components/MessageItem.test.tsx index c5a36d7..036d685 100644 --- a/frontend/src/components/MessageItem.test.tsx +++ b/frontend/src/components/MessageItem.test.tsx @@ -59,24 +59,6 @@ describe("MessageItem component (Story 178 AC3)", () => { expect(screen.getByText("Read(src/main.rs)")).toBeInTheDocument(); }); - it("user messages use pre-wrap whitespace to preserve newlines (Story 195)", () => { - const { container } = render( - , - ); - - // The bubble div wrapping user text must have white-space: pre-wrap - // so newlines are rendered as visual line breaks - const divs = Array.from(container.querySelectorAll("div")); - const bubble = divs.find( - (div) => - div.style.whiteSpace === "pre-wrap" && - div.textContent?.includes("First line"), - ); - expect(bubble).toBeDefined(); - }); - it("is wrapped in React.memo (has displayName or $$typeof memo)", () => { // React.memo wraps the component — verify the export is memoized // by checking that the component has a memo wrapper diff --git a/frontend/src/components/MessageItem.tsx b/frontend/src/components/MessageItem.tsx index 8846cad..686cd92 100644 --- a/frontend/src/components/MessageItem.tsx +++ b/frontend/src/components/MessageItem.tsx @@ -53,8 +53,7 @@ function MessageItemInner({ msg }: MessageItemProps) { fontFamily: msg.role === "tool" ? "monospace" : "inherit", fontSize: msg.role === "tool" ? "0.85em" : "1em", fontWeight: "500", - whiteSpace: - msg.role === "tool" || msg.role === "user" ? "pre-wrap" : "normal", + whiteSpace: msg.role === "tool" ? "pre-wrap" : "normal", lineHeight: "1.6", }} >