diff --git a/.storkit/work/1_backlog/450_bug_web_ui_silently_swallows_chat_errors_including_oauth_login_link.md b/.storkit/work/1_backlog/450_bug_web_ui_silently_swallows_chat_errors_including_oauth_login_link.md deleted file mode 100644 index 50efe07c..00000000 --- a/.storkit/work/1_backlog/450_bug_web_ui_silently_swallows_chat_errors_including_oauth_login_link.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: "Web UI silently swallows chat errors including OAuth login link" ---- - -# Bug 450: Web UI silently swallows chat errors including OAuth login link - -## Description - -When the WebSocket chat returns an error (e.g. OAuth authentication failed with a login URL), the `onError` handler in `Chat.tsx` only logs to `console.error` and resets loading state. The error message is never displayed to the user. This means the OAuth login link from story #448 works on Matrix/WhatsApp but is invisible in the web UI. - -## How to Reproduce - -Use the web UI with missing or expired OAuth credentials. Send any chat message. The server detects auth failure, attempts token refresh, fails, and returns an error containing a login URL over WebSocket. - -## Actual Result - -Nothing visible happens. The error is logged to browser console only. The user sees no feedback. - -## Expected Result - -The error message (including the clickable OAuth login link) should be displayed in the chat as an assistant message so the user can act on it. - -## Acceptance Criteria - -- [ ] WebSocket error messages are displayed in the chat UI as assistant messages -- [ ] OAuth login URL in the error is rendered as a clickable link -- [ ] Consistent with how Matrix and WhatsApp transports display the same error diff --git a/.storkit/work/1_backlog/451_bug_chat_test_tsx_help_test_expects_removed_overlay_behavior.md b/.storkit/work/1_backlog/451_bug_chat_test_tsx_help_test_expects_removed_overlay_behavior.md new file mode 100644 index 00000000..6fc1b23f --- /dev/null +++ b/.storkit/work/1_backlog/451_bug_chat_test_tsx_help_test_expects_removed_overlay_behavior.md @@ -0,0 +1,27 @@ +--- +name: "Chat.test.tsx /help test expects removed overlay behavior" +--- + +# Bug 451: Chat.test.tsx /help test expects removed overlay behavior + +## Description + +The test `AC: /help shows help overlay` in `Chat.test.tsx:1645` expects `/help` to show the `help-overlay` testid element. However, the `/help` intercept was removed from Chat.tsx and `help` was added to `knownCommands`, so `/help` now goes through `api.botCommand()` like other commands. The test needs to be updated to expect a `botCommand("help", ...)` call instead of the overlay. This is blocking gates on stories 449 and 450. + +## How to Reproduce + +Run `cd frontend && npm test` — the test `AC: /help shows help overlay` fails. + +## Actual Result + +Test fails: `findByTestId("help-overlay")` times out because the overlay is never rendered. `/help` is dispatched to the backend via `botCommand` instead. + +## Expected Result + +Test should pass by expecting `/help` to call `api.botCommand("help", ...)` and display the response in chat, consistent with the current code behavior. + +## Acceptance Criteria + +- [ ] The /help test in Chat.test.tsx is updated to expect botCommand dispatch +- [ ] All frontend tests pass +- [ ] HelpOverlay component and showHelp state can be removed from Chat.tsx if no longer used