The GitHub Actions job "Benchmarks" on texera.git/main has succeeded. Run started by GitHub user github-merge-queue[bot] (triggered by github-merge-queue[bot]).
Head commit for run: ded7ba1b49d0dc6644bc34b765b727607ad9d654 / yangzhang75 <[email protected]> feat(workflow-form): show the chosen results (#8441) ### What changes were proposed in this PR? Closes #8024. Part of the Form View stack (parent issue #8011), stacked on #8440 (PR12). Shows the chosen results under the workflow that produced them, as a **display filter over the canvas's view-result set** (settled design): the form reads which operators the canvas already views and shows those, and it NEVER writes the canvas's view-result flags, so a normal canvas user's result-viewing is unaffected. - One result card per chosen, currently-viewed step that produced a non-empty result: a paginated table (`texera-result-table-frame`), a fit-to-card visualisation (`texera-visualization-panel-content`) with per-result zoom, or the section shows a compact "press Run" / "no result yet" state. A step that produced nothing collapses out rather than sitting on a permanent empty card. - `shownResultIds` = the author's `resultOperatorIds` kept to only those still in `graph.getOperatorsToViewResult()`; it refreshes on every result update, so a view-result toggle on the canvas (a co-editor's included) is reflected without a reload. - Adds `WorkflowResultService.hasNonEmptyResult` (main only had `hasAnyResult` = a service exists; this checks the tuple/snapshot count so an empty result reads as "no result"). Picking which results to show is an authoring action added by a later PR (#8026); opening a step to inspect it read-only is #8025. This PR is display-only. ### Any related issues, documentation, discussions? Closes #8024. Part of the Form View feature (parent issue #8011). ### How was this PR tested? Unit tests (vitest). Direct-construction tests cover the display filter (shown = chosen intersect currently-viewed; a de-viewed or deleted operator drops out; never writes view-result), the non-empty gating, the zoom clamp, `resultKey`/`resultVersion` rebuilding a frame on a new result, and the result-update subscription. `workflow-result.service.spec.ts` covers `hasNonEmptyResult` (empty vs full, paginated vs snapshot). A TestBed test covers the results section and card markup (the real table/visualisation children are covered by their own specs; their websocket-backed DI does not run in jsdom). 100% statement and function coverage on the changed source. `ng test` (146 tests), `ng build gui`, eslint and prettier all pass. #### Screenshot The results section under the workflow: a table and a visualisation card after a run. <img width="1299" height="492" alt="Screenshot 2026-09-07 at 12 36 40 PM" src="https://github.com/user-attachments/assets/a05f4e7e-41ec-47b3-97f1-200c74c2b98f" /> <!-- paste the screenshot below this line --> ### Was this PR authored or co-authored using generative AI tooling? Yes. Co-authored with Claude (Anthropic), reviewed line by line by the author before submission. Co-authored-by: Claude Opus 4.8 <[email protected]> Co-authored-by: Meng Wang <[email protected]> Report URL: https://github.com/apache/texera/actions/runs/34475602304 With regards, GitHub Actions via GitBox
