Repository navigation
Conversation
Security Audit ReportNode module vulnerabilities summary (total across frontend, server, marketplace, plugins, root): Critical packages:
|
Security Audit ReportNode module vulnerabilities summary (total across frontend, server, marketplace, plugins, root): Critical packages:
|
…amic height and Collapse when hidden on pack widgets
…to Brand; pack widgets get Collapse when hidden and no dead Dynamic height
…Variant dropdown and loading
…iant is a dropdown and it is inert while loading
…spector select above the popover
…type, with its menu above the popover
…g its darkening, per-button Default, and the MUI Text Input height and Max length
…eps its darkening, Button Group buttons get a Default switch, MUI Text Input gets a taller default box and one Max length
…it is capped at the box height, and new buttons start in a taller box
…s a taller default box, long style labels no longer push their control out of the Styles panel
…ckage now that the frontend and server copies are one
a059dc2 to
f3790fc
Compare
Pack fixes: Rocket 2.0 Button and Button Group, Material UI Button and Text Input
Contents
1. Rocket 2.0 Button: long label spills and the loader goes out of view
Issue Description
A long Label stays on one line and spills out of the button. While loading, the spinner is pushed out of view.
Root Cause
.ui-btnisnowrapwith a fixed height and the label was a bare text node, so the content overflowed and the centred flex row clipped the spinner. Fix: the label is now in a shrinking, wrapping.n2-btn-labelspan; the button keeps its box height and clips at the bottom. Known gap: a very long label is cut with no ellipsis.Areas to Test
2. Rocket 2.0 Button and Button Group: radius field looks empty
Issue Description
The Button radius and Group radius fields are blank by default, so nothing says they follow the theme.
Root Cause
useThemeRadiusstores no default on purpose (a stored''was saved as{{""}}). Fix: newuseAutoRadius(styleDefaults.ts) defaults the field toauto, which follows the theme radius; a typed number overrides it. Used by Button and Button Group only; other Rocket widgets keep the blank number field.Areas to Test
autoand draw the theme radius; a typed number is drawn.3. Rocket 2.0 Button: hover left at Brand darkens the button (no change)
Issue Description
With Hover background at its default (Brand), hovering darkens the button.
Root Cause
The default variant darkens on hover by design (
.ui-btn--default:hoverinui.css), so this stays. An earlier change that made hover stay Brand was reverted. The hover field still shows a Brand swatch while the button darkens.Areas to Test
4. Pack widgets: "Dynamic height" shown but has no effect
Issue Description
Additional Actions shows "Dynamic height" for Button, but toggling it changes nothing.
Root Cause
SdkComponentHostonly honoursdynamicHeightwhen the manifest hasfit: true, and Button isfit: false. Fix:additionalActionPropstakes afitargument and the inspector hides the toggle unless it is true. This applies to every non-fit pack widget; saved values still render.Areas to Test
fit: true) still do and it works.5. Pack widgets: "Collapse when hidden" missing
Issue Description
Pack widgets did not offer "Collapse when hidden", so a hidden one left a gap.
Root Cause
collapseWhenHiddenwas missing from thePackComponentconfig (frontend and serverpackComponent.js) and fromHOST_PROPERTY_KEYS; the layout code already supports it. Fix: added the toggle (default off) to both copies and the keys. It covers every pack (Rocket, Ant, MUI). The reflow was not re-tested in a browser.Areas to Test
6. Button Group: default name contains "legacy"
Issue Description
A new Button Group is named
buttongrouplegacy2instead ofbuttongroup1.Root Cause
computeComponentNamelooked the pack component's name up in the native widget registry and foundButtonGroupLegacy. The same clash hit Ant Modal, TextArea and Divider. Fix: pack components are named after themselves (drop, paste, duplicate and the collision fallback).Areas to Test
buttongroup1,modal1,textarea1,divider1; numbering increments.7. Button Group: three inputs set the selection, and switching mode loses the default
Issue Description
"Default selected", "Selected value" and "Selected values" were all editable, though the last two are outputs and override the default. Switching Single and Multiple cleared the default selection.
Root Cause
valueandselectedwere read back as the selection, and the default effect re-ran on a mode change with an empty Default selected, writing[]. Fix: each button gets a Default switch (Rocket Button Group only,hasOptionDefault), as MultiSelect has. Multiple selects every marked button, Single the first, re-applied on every mode change.value,selectedand the old Default selected are hidden but still exposed; an app that saved Default selected keeps it. The sample Week button is marked default.Areas to Test
{{buttongroup1.value}}and.selectedstill update on click; Ant Button Group shows no Default switch.8. Button Group: Variant options overflow the inspector panel
Issue Description
The Variant switch (Outline, Secondary, Default, Ghost) is wider than the panel.
Root Cause
Variant used
inspector: 'switch'with four labelled segments. Fix: removed the hint, so it is a dropdown like Button's. The saved value is unchanged.Areas to Test
9. Button Group: buttons stay clickable while loading
Issue Description
When loading, a spinner shows but the buttons still look enabled and react to clicks.
Root Cause
loading: "own"skips the host's inert wrapper, anddisabledinButtonGroup.tsxignoredcontrol.loading. Fix:disablednow includes loading; thesetSelectedandclearactions still work.Areas to Test
onClick/onChange; off again: works. Disabled and loading together.10. Button Group: "Value type" dropdown is a native select
Issue Description
Each button's option popup has a Value type dropdown that is a native browser menu, not the inspector's dropdown.
Root Cause
OptionsEditor.tsxand the sharedSelectFieldused a native<select>. Fix: newDropdowninfields.tsxwraps the inspector's own Select; its menu getszIndex: 2000to open above the popover, and a click in it no longer closes the popup.SelectFieldis also used by the Table columns editor and the per-button Variant, so those change too.Areas to Test
11. Button Group: Large size spills outside its box
Issue Description
With Size set to Large, the buttons stick out past the widget's box.
Root Cause
A Large button is a fixed 40px (
.ui-btn--lg) and the group did not shrink with a shorter box. Fix: the group's row shrinks to the space left in the box and the buttons follow it (max-height: 100%), with a 24px minimum. Checked in Chrome: a Large group in a 38px box is now 38px; other sizes are unchanged. With a label, the box needs to be taller than label plus group.Areas to Test
12. Material UI Button: overflows its widget, and Large spills
Issue Description
With a long label the button is wider than its widget and is cut off mid-word with no ellipsis. At Large the button is taller than the default box and spills.
Root Cause
With a Tooltip set, the Tooltip's wrapper span sized to the full label (478px in a 150px box), so the button could not shrink. A Large button is 42.25px and the default box is 40px. Fix: the wrapper takes at most the box's width (
.tj-mui-fit), the button is capped at the box height (max-height: 100%), and new MUI Buttons default to a 50px box. MUI's size heights are unchanged. Checked in Chrome; CSS only, so no unit test.Areas to Test
13. Material UI Text Input and Number Field: error and helper text cut off
Issue Description
At the default height (70px) the error and helper text under the field are cut off, so users can't see why an input is invalid.
Root Cause
The default box (
defaultHeight7) is shorter than the label gap, the field and the helper row (about 88px). Fix: new Text Fields and Number Fields default todefaultHeight9 (90px); existing widgets keep their size.Areas to Test
14. Material UI Text Input: Max length appears twice
Issue Description
Max length was under Properties (blocks typing) and under Validation (shows an error).
Root Cause
The component declared its own
maxLengthand the host's Validation section also offers one. Fix: removed the Properties one. No migration (still in testing), so a saved value is ignored.Areas to Test
15. Styles tab: long labels push their control out of the panel
Issue Description
On the Styles tab (clearest on Material UI, e.g. "Primary (palette.primary.main)") the label wraps and the colour or number control beside it is pushed past the panel edge and cut off.
Root Cause
Every pack style is drawn beside its label, and a long label leaves too little width. Fix:
styleFieldMetamarks a label longer than 18 characters asnewLine, so its control is drawn on the line below. The labels are unchanged; this applies to every pack's Styles tab and was not checked in the editor.Areas to Test