pedroreyesalavrado commented on PR #8637: URL: https://github.com/apache/texera/pull/8637#issuecomment-5818393762
Thanks — the request for a recording paid for itself: setting it up surfaced two real bugs, both now fixed and pushed. Screenshots and the recording are in the PR description. **The tab did not appear in the common case.** `registerAutoRerenderResultPanel()` re-rendered on execution-state, compilation, selection and result changes, but not on console messages. A Python UDF that raises while the user is already watching that operator moves none of those — the worker pauses so the execution stays `Running`, and the highlight never moves — so the tab only showed up if you clicked another operator and back. Fixed in 2f8bbb7eb by adding the console stream to the merge, debounced 200ms since a chatty UDF's prints share it. **The tab lingered after the error cleared.** It was set when the operator reported an error but never removed when it stopped, so a re-run left a tab offering to fix an error that was gone. Fixed in b8926d21b, matching the teardown the `Static Error` frame beside it already had. Both slipped through because my three existing tests called `rerenderResultPanel()` directly: they covered the branch but never what triggers it, which is exactly where the bugs were. The two new tests drive the stream instead. **Recording details:** Chrome, viewport 1568x653, commit 56889ccef, model `claude-haiku-4.5` through the existing LiteLLM proxy. **Steps to reproduce** (no dataset needed — the workflow sources from `TextInput`): 1. Bring up the stack with `workflowWorkspace.copilotEnabled` on and an LLM configured behind `/api/chat/completions`. 2. Import `demo-workflows/pipeline_missing_column.json` from the workflow list. 3. Select the **Title length (missing column)** operator, then **Run**. The Python worker raises `KeyError: 'lines'` and pauses; the execution stays `Running`. 4. The **AI Fix** tab appears beside **Console**. Click **Analyze with AI**. 5. The panel shows the root cause and the diff `- tuple_["lines"]` / `+ tuple_["line"]`. **Discard** returns it to idle; **Apply and re-run** writes the fix and re-executes — `Filter` and `Sort` then produce rows, 8 → 8 → 6 → 6. For the **unsupported** state in the second screenshot, edit that same UDF to raise something outside the four patterns (`len(title) // 0`) and click Analyze: the panel says so instead of guessing, and no request reaches the model. The warehouse case you flagged is addressed in 19d21b6be: when a warehouse is required and none is selected, Apply writes the fix but reports that separately instead of claiming a re-run `ExecuteWorkflowService` would refuse. Covered by three tests. Full suite: 205 passing across the result-panel specs. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
