mengw15 opened a new issue, #8587:
URL: https://github.com/apache/texera/issues/8587
Now that the warehouse picker (#7817) sits beside the computing-unit picker
in the workspace toolbar, the two are hard to tell apart and diverge in ways
the warehouse side cannot fix alone.
### Telling the two pickers apart
Both triggers render as `[avatar] <name> ▾` at the same 220-280px width, so
with two arbitrary names side by side nothing says which one chooses where the
run happens and which chooses where it writes.
1. **Type icon.** The warehouse trigger carries `cloud-server`, the same
icon its dashboard tab uses in the sidebar. The computing-unit trigger carries
none; giving it `deployment-unit` — again, its own sidebar icon — would make
each picker identifiable at a glance.
2. **A describing tooltip.** The warehouse trigger's tooltip covers the
whole button and reads "Warehouse this execution writes to", plus the full
warehouse name when one is selected. The computing-unit trigger has no
button-level tooltip; an equivalent ("Computing unit this execution runs on",
plus the unit name) would make both self-describing. Worth folding its existing
name tooltip into that one rather than nesting two tooltips inside one control.
3. **Empty-state wording.** With nothing selected the computing-unit trigger
says `Connect` (a verb) and the warehouse trigger says `Warehouse` (a noun).
Worth settling on one convention for both.
### The Connect button is disabled in exactly the state it exists for
`getRunButtonBehavior` returns `Connect` with `disable: false` and an
`onClick` that calls `runWorkflow()`, which has a branch opening the
create-computing-unit modal. That branch is unreachable from the button: the
template's disabled expression ends in `selectedComputingUnit?.accessPrivilege
!== Privilege.WRITE`, and with no unit selected `selectedComputingUnit` is
`null`, so the comparison is always true and the button renders disabled.
Introduced with the access-control work (#3598).
Repro (menu spec): set `isWorkflowValid = true`, `isWorkflowEmpty = false`,
`computingUnitStatus = NoComputingUnit`, `selectedComputingUnit = null`, a
connected websocket and `executionState = Uninitialized`, apply the behavior
and read the rendered button — it shows `Connect` with `disabled = true`. The
create-unit path is reachable only through the picker's own create entry.
### The status badge claims work that is not happening
`computeStatus()` returns `"processing"` when no unit is selected, which ant
renders as a pulsing blue dot. Nothing is processing in that state; `"default"`
(a grey dot) would say what is true.
--
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]