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]

Reply via email to