fix: Plugin Manager '+ Add Directory' khong hien folder picker (ban 1.1.3)
Nguyen nhan: UI that chay tren http://127.0.0.1:8000 (engine) nen window.__TAURI__ KHONG ton tai (Tauri chi inject vao trang no serve - src-tauri/ui/index.html chi la loader redirect). Fallback window.prompt KHONG hoat dong trong WebView2 (no-op) -> khong co picker nao xuat hien. Fix: in-app folder browser qua backend (co san /media/computer + /media/browse trong media.py, auth qua apiRequest): - services/api.js: them browseComputer() + browseDir(path) - app.jsx PluginManagerModal: state pmPicker + overlay UI (roots/drives -> dirs -> 'Len' (parent) -> 'Chon thu muc nay' -> setPmDirs) - Thu tu uu tien: __TAURI__.core.invoke('plugin:dialog|open') -> in-app browser -> prompt (fallback cuoi, browser thuan khong phai WebView2) - Bump ?v= cache-bust index.html (api.js + app.precompiled.js) Verify tren engine frozen: /media/computer tra roots, /media/browse tra {path, parent, dirs} - dir picker flow OK. Skill da ghi lai: ~/.hermes/skills/software-development/sonicforge-daw-engine-packaging
This commit is contained in:
@@ -67,6 +67,10 @@ window.API_BASE_URL = window.API_BASE_URL || window.location.origin;
|
||||
getPluginDirs: () => apiRequest('/api/v1/plugins/dirs', { method: 'GET' }),
|
||||
savePluginDirs: (dirs) => apiRequest('/api/v1/plugins/dirs', { method: 'POST', body: JSON.stringify(dirs) }),
|
||||
scanPluginDirs: () => apiRequest('/api/v1/plugins/scan', { method: 'POST' }),
|
||||
// Folder picker cho Plugin Manager: duyet thu muc qua backend (media)
|
||||
// — hoat dong moi OS, khong can window.__TAURI__ (UI chay tren localhost:8000)
|
||||
browseComputer: () => apiRequest('/api/v1/media/computer', { method: 'GET' }),
|
||||
browseDir: (path) => apiRequest(`/api/v1/media/browse?path=${encodeURIComponent(path)}`, { method: 'GET' }),
|
||||
getSoundfontCatalog: () => apiRequest('/api/v1/plugins/soundfonts/catalog', { method: 'GET' }),
|
||||
listDefaultSoundfonts: () => apiRequest('/api/v1/plugins/default-soundfonts', { method: 'GET' }),
|
||||
listSoundfontInstruments: (sfId) => apiRequest(`/api/v1/plugins/soundfont-instruments/${sfId}`, { method: 'GET' }),
|
||||
|
||||
Reference in New Issue
Block a user