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:
41
.changeset/mobile-polish-0-7-1.md
Normal file
41
.changeset/mobile-polish-0-7-1.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
"@runfusion/fusion": patch
|
||||
"runfusion.ai": patch
|
||||
"@fusion/core": patch
|
||||
"@fusion/dashboard": patch
|
||||
"@fusion/desktop": patch
|
||||
"@fusion/engine": patch
|
||||
"@fusion/mobile": patch
|
||||
"@fusion/pi-claude-cli": patch
|
||||
"@fusion/plugin-sdk": patch
|
||||
"@fusion-plugin-examples/auto-label": patch
|
||||
"@fusion-plugin-examples/ci-status": patch
|
||||
"@fusion-plugin-examples/notification": patch
|
||||
"@fusion-plugin-examples/settings-demo": patch
|
||||
"@fusion-plugin-examples/hermes-runtime": patch
|
||||
"@fusion-plugin-examples/openclaw-runtime": patch
|
||||
"@fusion-plugin-examples/paperclip-runtime": patch
|
||||
---
|
||||
|
||||
fix(0.7.1): mobile polish, modal layout fixes, paperclip CLI parity, schema migration
|
||||
|
||||
Mobile / dashboard:
|
||||
|
||||
- ModelOnboardingModal: dialog was off-screen on phones because the desktop `min-width: 640px` won over the mobile `max-width: 100%`. Reset min-width/min-height to 0 in the mobile media query (with `!important` so persisted desktop sizes from `useModalResizePersist` cannot re-pin it). Compact provider cards: keep the icon inline beside the name + description, shrink the icon container, drop name/description font sizes, and rely on flex-wrap so the API-key actions still drop to their own row underneath. The API-key input + Save button now live on a single row at the full card width — input grows left-aligned, Save shrinks to the right with a hairline of inline padding.
|
||||
- NewAgentDialog: the dialog's top was rendering hidden behind the in-page Agents header on mobile. Render the dialog through `createPortal(..., document.body)` so the overlay escapes the `.agents-view` stacking context. Mobile media query also drops the overlay padding, fills 100vw / 100dvh with safe-area insets on header/footer for iOS notch + home indicator, and fixes the classic flex `min-height: auto` bug that prevented `overflow-y: auto` on the body from activating.
|
||||
- TerminalModal: same root cause as the onboarding modal — desktop `min-width: 480px` / `min-height: 320px` pinned the modal off-screen on phones. Reset to 0 in the mobile rule with `!important` so persisted desktop sizes can't override.
|
||||
- WorkflowStepManager: fix React error #310 ("Rendered more hooks than during the previous render") that prevented the workflow steps panel from loading. `useOverlayDismiss` was being called after an `if (!isOpen) return null` early return, so the hook count differed between open/closed renders. Moved the hook above the early return.
|
||||
- SettingsModal auth panel: tightened `.auth-panel-body` horizontal padding from `--space-xl` (24px) to `--space-md` (12px), giving each provider card more horizontal room.
|
||||
|
||||
Paperclip runtime:
|
||||
|
||||
- CLI parity: in the dashboard's "Local CLI" tab, Test / fetch companies / fetch agents now actually shell out to `paperclipai` instead of making HTTP calls through a derived URL. New CLI-backed variants (`probePaperclipViaCli`, `listCompaniesViaCli`, `listCompanyAgentsViaCli`, `createIssueViaCli`, `getIssueViaCli`, `agentsMeViaCli`) drive every Paperclip call that has a CLI counterpart; the runtime adapter routes through them when `transport=cli`. `getIssueComments` / `wakeAgent` / `getRunEvents` continue using HTTP (no matching `paperclipai` subcommands) but rely on the apiKey discovered from the local paperclipai config so CLI mode works end-to-end.
|
||||
- New dashboard routes `/providers/paperclip/cli-status`, `/cli-companies`, `/cli-agents` exposing the CLI helpers.
|
||||
|
||||
Plugin runtime registry:
|
||||
|
||||
- `GET /api/plugins/runtimes` now merges a bundled hermes/openclaw/paperclip fallback list on top of installed plugins, so the NewAgentDialog "Plugin Runtime" dropdown populates without requiring `fn plugin install` on a fresh setup. Installed plugins override the bundled entry by `runtimeId`. Coalesced the optional `version` field to `"0.0.0"` to satisfy the bundled-runtime type.
|
||||
|
||||
Core:
|
||||
|
||||
- Schema migration fix: bumped `SCHEMA_VERSION` from 48 → 49 so migration 49 (per-task `nodeId` column for remote-node routing) actually runs. Existing DBs at version 48 hit the early-return guard, never created the column, and `TaskStore.listTasks` crashed at startup with `no such column: nodeId` — the dashboard exited before initialization. The bump unblocks app startup on any pre-existing 0.7.0 install.
|
||||
Reference in New Issue
Block a user