mirivlad
44b39ca051
fix: use modal forms for files
2026-07-14 22:46:14 +08:00
mirivlad
a1b3c31d0d
fix: localize plugin operation errors
2026-07-14 22:00:24 +08:00
mirivlad
eb0f468463
fix: make Todo reminders and selects usable
2026-07-14 08:00:33 +08:00
mirivlad
3dd0ec9f1f
feat: localize official plugins in Russian
2026-07-11 12:42:37 +08:00
mirivlad
c31ee7e0ce
feat: add global trash plugin
2026-07-10 08:43:22 +08:00
mirivlad
d6b8ab17f1
Polish official plugin workbench UI
2026-07-02 00:49:29 +08:00
mirivlad
0e079e8290
Give Files actions distinct icons
2026-07-01 19:20:41 +08:00
mirivlad
6a9d685d48
Add Files no-match clear action
2026-07-01 19:07:00 +08:00
mirivlad
ddc8ffc711
Improve Files rename conflict message
2026-07-01 18:58:26 +08:00
mirivlad
45aac0d3b5
Add Files empty folder actions
2026-07-01 18:49:45 +08:00
mirivlad
32f2c1d6ab
Expose Files icon categories
2026-07-01 18:34:47 +08:00
mirivlad
06ffbf9a6e
Show Files create validation inline
2026-07-01 18:24:50 +08:00
mirivlad
e333be9b9c
Show Files rename validation inline
2026-07-01 07:59:27 +08:00
mirivlad
f34b8a77fc
Add Files escape selection clearing
2026-07-01 03:18:23 +08:00
mirivlad
7b249fcf48
feat: refresh files and notes on file events
2026-06-28 22:57:09 +08:00
mirivlad
914c8a7204
feat: restore files from trash view
2026-06-28 22:19:41 +08:00
mirivlad
67ac99c24d
feat: show files trash metadata
2026-06-28 17:03:50 +08:00
mirivlad
48fe942028
feat: host file and note actions
2026-06-28 16:29:04 +08:00
mirivlad
084580d3fd
Use external open API in Files plugin
2026-06-27 13:34:16 +08:00
mirivlad
5f48c003db
Add files external open fallback
2026-06-27 12:55:43 +08:00
mirivlad
fca7716e75
Keep files plugin note-neutral
2026-06-27 12:39:51 +08:00
mirivlad
39d8df339b
Align official plugins with v2 runtime
2026-06-27 12:36:31 +08:00
mirivlad
321c8e58d1
feat: Notes plugin + Files improvements + Default editor wiki links
...
plugins/files:
- SVG icons for toolbar actions (iconButton helper)
- Multi-select cut/copy/paste (Ctrl+X/C/V)
- Mouse back/forward button navigation (history stack)
- Navigation history persisted per workspace (window.__filesHistoryByWorkspace)
- Context menu: icons, notes integration (Create Note, Open Overview)
- Drag-and-drop folder target fix
plugins/default-editor:
- Wiki links [[Title]] in notes context (renderInline with isNotesContext)
- Save/Read via Notes API when editorMode === 'notes-markdown'
- Internal link click handler (open note via api.request.open)
plugins/platform-test:
- Mouse Event Inspector card for debugging back/forward buttons
plugins/notes (new):
- Basic notes plugin scaffold (plugin.json + frontend entry)
- Contributes workspace item 'Notes'
2026-06-21 23:23:07 +08:00
mirivlad
d3079be007
fix: Cut/copy/paste path consistency and folder cut support
...
- pasteEntry: source path now scoped for readText, relative for trash
- cutEntry: removed folder guard — folder cut via api.files.move
- copyEntry: hidden from context menu for folders (not supported)
- Clipboard object now carries isFolder flag
2026-06-20 20:23:02 +08:00
mirivlad
8f8f431d4d
plugins(files): Feature 11 — Rename validation
...
- Invalid chars: \ / : * ? " < > | and control chars (0x00-0x1f)
- Invalid names: '.', '..', leading/trailing spaces, trailing dot
- Collision check via api.files.metadata before rename
- Special case for case-only difference
- Errors shown in renameInput.placeholder
2026-06-20 20:02:32 +08:00
mirivlad
c3a14411ab
plugins(files): Feature 10 — Navigation history
...
- History stack with Back/Forward (goBack/goForward)
- historyIndex + navigatingHistory flag for correct stack management
- Toolbar buttons: ← (back) and → (forward) before Up button
- Alt+Left / Alt+Right and Ctrl+[ / Ctrl+] keyboard shortcuts
- Future path trimmed on new navigation (forward state discarded)
- Duplicate paths not pushed to stack
- Refresh and direct loadEntries don't pollute history
2026-06-20 20:01:20 +08:00
mirivlad
4a0656cd09
plugins(files): Feature 9 — Rich file type icons
...
- Added FILE_ICONS lookup with SVG paths for 15 categories
- Added EXT_MAP with 70+ extension-to-category mappings
- Images, video, audio, archives, PDFs get distinct icons
- Documents, spreadsheets, presentations get office-style icons
- Code files (JS/Python/Go/Rust/C/etc.) get a dedicated code icon
- Database, font, config files also get proper icons
- Existing behavior preserved: folder, markdown, json->{ }, generic
- fileIcon simplified to use lookup tables
2026-06-20 19:59:12 +08:00
mirivlad
194b68890b
plugins(files): Feature 8 — Keyboard navigation
...
- ArrowUp/Down: move selection by one item
- Shift+ArrowUp/Down: extend selection range
- Ctrl+ArrowUp/Down: scroll viewport without changing selection
- Home/End: jump to first/last item (Shift to extend)
- PageUp/PageDown: jump by one viewport height
- All navigation keys get preventDefault()
- Existing Enter/Delete/F2/Ctrl+A preserved
2026-06-20 19:56:40 +08:00
mirivlad
e5c63576d0
plugins(files): Feature 7 — Drag-and-Drop
...
- Items are draggable (draggable='true')
- Multi-file drag from selection (selectedPaths)
- Drop on folder moves files via api.files.move()
- Visual feedback: .files-dragging (opacity) + .files-drag-over (dashed outline)
- No-op when source === target folder
2026-06-20 19:55:20 +08:00
mirivlad
e74499a329
plugins(files): Feature 6 — Multi-select
...
- Ctrl+click: toggle single file selection
- Shift+click: range select from last clicked to current
- Ctrl+A: select all visible entries
- Click on empty space: deselect all
- Bulk trash: delete all selected files via Promise.allSettled
- Open/Rename disabled when multiple selected; Trash enabled for bulk
- Refactored: selectedPath (string) → selectedPaths (hash map)
2026-06-20 19:51:13 +08:00
mirivlad
281614e1b4
plugins(files): Feature 5 — Cut/Copy/Paste
...
- pasteEntry: reads clipboard, copies file with collision resolution,
handles 'cut' action (trashe source + clear clipboard)
- Paste toolbar button: disabled when clipboard empty, enabled after cut/copy
- Paste in context menu: shown on empty-space right-click when clipboard
has content
- Folder guard: cut/copy for folders logs not-supported and skips
- updateButtons() toggles paste button state on cut/copy
2026-06-20 19:48:53 +08:00
mirivlad
b5d6694afa
plugins(files): fix document event listener leak in context menu cleanup
2026-06-20 19:47:09 +08:00
mirivlad
2ff75c4dca
plugins(files): context menu, confirm modal, duplicate with collision handling
...
- Feature 1: Right-click context menu with actions (Open, Rename, Duplicate,
Cut, Copy, Trash) and empty-space shortcut for new files
- Feature 3: Custom confirmModal instead of window.confirm(), styled overlay
+ modal with danger mode for trash operations
- Feature 4: Duplicate with smart collision resolution — finds first free
name (copy), (copy 2)... up to 100 attempts using api.files.metadata()
2026-06-20 19:43:58 +08:00
mirivlad
7567e38c4f
plugins: files explorer and default editor improvements
...
- Files plugin: richer file list, breadcrumbs, toolbar, sorting,
filter, rename/trash, row actions
- Default Editor: line numbers, markdown toolbar, Edit/Preview/Split,
reload/revert
- Files plugin.json: update manifest
2026-06-20 19:21:24 +08:00
mirivlad
12d491a786
fix: scope files plugin to workspace folders
2026-06-19 23:37:10 +08:00
mirivlad
da49788504
feat: add default-editor + files plugins, bundle execution check, fix platform-test diagnostic priority
2026-06-19 16:41:46 +08:00