Repository navigation
Conversation
5 tasks
Contributor
Author
Every external output port of an operator that keeps its result is stored, but results were only ever read from the first port, so a Split's second output or an If's True branch could not be shown. A pagination request can now name the output port to read, with the first port as the default, and the reply carries the port it read and that port's row count. The live result updates keep following the first port, so a client paging another port takes the count from the reply. The result store's count per operator now comes from the first port too; it was built from every stored port, so a terminal Split's second output could replace its first output's count. On the frontend, the result service gives each extra port its own pagination service, which names its port in its requests, keeps no page cache and takes its row count from each reply, and every port's service takes its schema only from replies to its own requests. The result table and its row detail can show any port. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kz930
force-pushed
the
feat/9059-console-only-panel
branch
from
October 20, 2026 23:26
29221cd to
8ef2a74
Compare
Switching the table to another output port left the previous port's rows on screen when the new port was empty, with the loading state never ending, and a late reply for the previous port could replace the new port's rows. A port change now starts from an empty table, a reply for an operator or port no longer shown is dropped, and an empty page ends the loading. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…canvas Resting the pointer on an operator for half a second shows a card beside it with the operator's first rows and its size, or its error, or how to keep a result the run did not keep. A pointer passing over, dragging, or a click opens nothing, and the card lingers a moment so the pointer can move into it. An operator with several outputs says the rows are the first output's. The preview can be turned off under Layers, and stays off while the heat-map overlay is on. The first rows come from a request of their own, so a preview never moves the result table's page or reads its cache. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tput port Pinning the hover card opens a window beside the operator with its whole result table, tied to it by a dashed line. Several windows can be open at once; each can be dragged and resized, and follows its operator when the operator or the canvas moves. An operator with more than one output gets a tab per output port in its window. The first port is the one the running execution reports on; another port is read through the port-aware result service when its tab is shown. The table in a window measures what it draws around its rows, the search bar, header, statistics and pager, and fits as many rows as the rest of the window allows, so the pager sits near the window's bottom at any size. The bottom panel keeps its own rule. The statistics row shows only when a column has statistics, which a port past the first never has. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The default height went from 300 to 500 while the docked offset stayed at -300px, so a panel that had never been moved, and every press of the dock button, left 200px of it below the window. The offset now comes from the same constant. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An operator's result is now read beside it on the canvas, in the hover card and the pinned window, so the bottom panel drops its Result tab and holds the console alone. With no operator highlighted, the console shows every operator's messages in time order, each tagged with its operator; clicking a tag narrows to that operator, as highlighting it does. One highlighted operator shows its messages alone under a "Showing" line whose close button goes back to all. The errors that stopped a run or a compilation join the list as ERROR messages, so the Static Error tab goes too; they follow the same rule the Static Error tab did, and the same error gives the same message on every render, so the list does not jump to its end. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kz930
force-pushed
the
feat/9059-console-only-panel
branch
from
October 20, 2026 23:40
8ef2a74 to
d127081
Compare
Contributor
Author
Contributor
Automated Reviewer SuggestionsBased on the
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #9060 +/- ##
============================================
- Coverage 92.33% 92.17% -0.17%
+ Complexity 5045 5044 -1
============================================
Files 1261 1263 +2
Lines 54120 54351 +231
Branches 6768 6808 +40
============================================
+ Hits 49974 50097 +123
- Misses 2486 2566 +80
- Partials 1660 1688 +28
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this PR?
With results open beside their operators (#9063), the bottom panel drops its Result tab and keeps only the console.
With no operator selected, the console shows every operator's messages in time order, each tagged with its operator; clicking a tag narrows it to that operator, as selecting the operator does. With one operator selected, it shows that operator's messages alone, under a line naming it that closes back to all. The errors from the Static Error tab join the console as error messages, shown by the rule the tab used: an operator's own errors with it, and errors that belong to no operator when none is selected. That tab and its component are removed.
This needs #9063 and #9056, so the diff includes their commits, and those of #9058 and #9054, until they merge. The PR's own change is the last commit.
Any related issues, documentation, discussions?
Closes #9059. Part of #9052. Design discussed in #8842.
How was this PR tested?
The specs of the console, the console service and the result panel cover every operator's messages and their tags, narrowing to one operator and back, errors as console messages, and a re-render with an error present not moving the list. The full frontend suite passes. In the running app, two Python UDFs' prints and an error appear together, tagged by operator, and narrow to one operator when it is selected.
Was this PR authored or co-authored using generative AI tooling?
Generated-by: Claude Code (Claude Opus 5.5)
🤖 Generated with Claude Code