You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(assets): resizable wider details panel, direct upload, drop the upload modal
- Details panel is now a resizable right-hand side panel (default 480px,
drag its left edge; width persists to localStorage) instead of a fixed
w-96 column.
- Upload button opens the native file picker directly and uploads the
chosen files immediately — the file-grid/confirm modal is gone.
Whole-frame drag-and-drop still works, now uploading dropped files
directly with a lightweight non-blocking hint overlay (useFileDrop).
- Remove the 'Edit' action from the details panel, and with it the
now-orphaned write-text RPC (its only consumer). Text files still
preview via read-text.
Docs + API snapshots updated; the registration test no longer invokes
the external-launching RPCs (which spawned OS processes and hung the
runner) — it asserts registration on the server context instead.
Co-authored-by: opencode <noreply@opencode.ai>
Search by name and filter by type from an inline chip row, switch between a thumbnail grid (grouped by folder) and a file tree, and open a right-hand details panel with a live preview (image, video, audio, font, or text), file metadata, and ready-to-copy usage snippets (`<img>`, CSS `background-image`, `@font-face`, a download link). Drop files anywhere on the frame to upload them, or select multiple assets to delete them together. A live file watcher keeps every connected client's listing in sync with changes made outside the UI.
13
+
Search by name and filter by type from an inline chip row, switch between a thumbnail grid (grouped by folder) and a file tree, and open a resizable right-hand details panel with a live preview (image, video, audio, font, or text), file metadata, and ready-to-copy usage snippets (`<img>`, CSS `background-image`, `@font-face`, a download link). Upload files with the toolbar button (native file picker) or by dropping them anywhere on the frame, and select multiple assets to delete them together. A live file watcher keeps every connected client's listing in sync with changes made outside the UI.
14
14
15
15
The standalone server requires devframe's trust handshake by default because it can read, write, and delete real files. Uploads, renames, deletes, and folder creation are enabled by default — pass `{ write: false }` (or `--read-only` on the standalone CLI) for a browse-only deployment.
16
16
@@ -72,15 +72,14 @@ All functions are namespaced `devframes:plugin:assets:*`:
72
72
|`list`|`query`, `snapshot: true`| Every file under the managed directory, with type, size, and last-modified time. |
73
73
|`capabilities`|`query`, `snapshot: true`| Whether write actions are enabled, and the upload allow-list — lets the UI gate itself proactively. |
74
74
|`read-image-meta`|`query`| Width, height, and orientation for an image asset. |
75
-
|`read-text`|`query`| Truncated text content, for preview or editing. |
75
+
|`read-text`|`query`| Truncated text content, for preview. |
76
76
|`upload`|`action`| Allocates a streaming upload slot; the client pipes the file's bytes over the paired channel. |
77
77
|`rename`|`action`| Renames an asset within its folder, preserving its extension. |
78
78
|`delete`|`action`| Deletes one or more assets in a single call. |
79
79
|`mkdir`|`action`| Creates a folder, including missing parents. |
80
-
|`write-text`|`action`| Overwrites a text asset's content in place (the details panel's inline editor). |
81
80
|`open-in-editor` / `reveal-in-folder`|`action`| Launch the asset in your editor, or reveal its containing folder in the OS file manager. Always registered, regardless of `write`. |
82
81
83
-
`upload` / `rename` / `delete` / `mkdir`/ `write-text`are registered only when `write` is enabled.
82
+
`upload` / `rename` / `delete` / `mkdir` are registered only when `write` is enabled.
0 commit comments