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]

Reply via email to