fix(dashboard): mobile polish, modal layout fixes, keyboard-aware terminal + add 0.7.1 changeset

- WorkflowStepManager: fix React error #310 ("Rendered more hooks than during
  the previous render") that broke the workflow steps panel from loading.
  `useOverlayDismiss` was being called after `if (!isOpen) return null`, so
  the hook count differed between open/closed renders. Move the hook above
  the early return.
- ModelOnboardingModal: API-key input + Save button now span the full card
  width on mobile via negative inline margins that bleed past the card's
  horizontal padding, so the form sits flush to the card edges instead of
  picking up a chunky left indent from the icon-row's flex start position.
- TerminalModal: same desktop-min-width-pinning bug as the onboarding modal.
  Reset min-width/min-height to 0 on mobile with `!important` so persisted
  desktop sizes from useModalResizePersist cannot re-pin the modal at 480×320
  on smaller phones. Also add `!important` to the keyboard-overlap height/
  max-height so the visual-viewport adjustment wins against the new
  fullscreen rule — without this the terminal stayed at 100dvh while the
  mobile keyboard covered the bottom of the screen.
- Add 0.7.1 changeset covering the full mobile polish + paperclip CLI parity
  + plugin runtime registry fallback + SCHEMA_VERSION bump series.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gsxdsm
2026-04-28 00:35:48 -07:00
parent 4cb6ac4ef8
commit 187fc798c0
4 changed files with 83 additions and 15 deletions

View File

@@ -1348,8 +1348,19 @@
min-width: 0;
}
/* Bleed the API-key form past the card's horizontal padding so the input
and the Save button span the full width of the card on mobile. Without
this the form sat inside the 12px card padding (and on Safari sometimes
inherited the icon-row's start indent), which read as a chunky left
margin on phones. Width = 100% + 2*card-padding cancels the padding
out; matching negative inline margins re-anchor it to the card edges.
A tiny --space-xs inline padding keeps the input from kissing the
border. */
.onboarding-provider-card__actions--api-key {
width: 100%;
width: calc(100% + 2 * var(--space-md));
margin-inline: calc(-1 * var(--space-md));
padding-inline: var(--space-xs);
box-sizing: border-box;
}
/* When actions are simple buttons (Connect / Skip), make them split the