* feat(sqlfile): add refresh, locate, and context menu to SQL Files panel
- Add per-folder Refresh and Reveal-in-file-manager buttons on each opened
folder header, plus a Refresh-all button on the panel toolbar. Re-scan
prunes expand state for paths that no longer exist after refresh.
- Add right-click context menus (via CustomContextMenu) for files, folders,
folder headers, and the panel background: open, execute SQL file, reveal
in file manager, copy path, expand/collapse all, refresh, remove folder.
- Highlight the selected tree row on click/right-click; clicking empty space
clears the selection.
- Wire "Execute SQL file" from the panel into the App-level
SqlFileExecutionDialog via connectionStore.sqlFileSource.filePath + a new
prefillFilePath prop, so the dialog opens with the file preview preloaded.
- Add zh-CN/en strings under sqlFileTree.
* chore(i18n): autofill new translations
* fix(sqlfile): clear prefillFilePath on close, dedupe i18n keys
---------
Co-authored-by: wanqinghua <wanqhua@gmail.com>
Co-authored-by: dbx-i18n-bot <github-actions[bot]@users.noreply.github.com>
Co-authored-by: t8y2 <1156263951@qq.com>
Milvus supports multiple databases, but the sidebar only ever showed
collections under the hardcoded "default" database. The backend returned
["default"] for every vector store and the frontend loaded collections
for a single database and flattened them under the connection node.
- Backend (vector_driver): add list_databases() that calls Milvus
/v2/vectordb/databases/list (falling back to "default" for older Milvus
and for non-Milvus vector stores), and thread a database parameter
through find_documents() instead of hardcoding "default".
- document_ops: list_databases_core delegates VectorDb to list_databases();
find_documents_core forwards the selected database.
- Frontend: add a "vector-database" tree node type. For Milvus, connections
expand into database nodes, which expand into their own collections.
Collection node ids are namespaced by database to avoid collisions
across databases, and the collection id is stored in meta so activation
no longer parses the node id.
Fixes#2693
Co-authored-by: 朱豪豪 <zhu.hh.sz@belle.com.cn>
* Fix: Scope Disconnects To Connection Attempts
- Allow reconnecting while a scoped disconnect is still pending
- Track successful local connection attempts for scoped backend disconnects
- Prevent older disconnect completions from clearing newer reconnect errors
- Update disconnect state immediately while preserving revision-safe cleanup
- Add regression tests for reconnect and pending disconnect race cases
* Fix: Clear Root Metadata Load On Connection Cancel
* Test: Mock Installed Agents In Connection Store Timeout Spec
* Test: Mock listInstalledAgents in connection store timeout tests
Add db.coll.stats() / dataSize() / storageSize(scale) / totalIndexSize()
so these MongoDB shell commands return a result grid instead of the
"Use MongoDB shell-style commands" error (issue #2529).
- backend: collStats via mongo_driver.collection_stats, wired through
mongo_ops, the dbx-web /mongo/collection-stats route, the tauri
mongo_collection_stats command, and the MCP data bridge
- node-core: parseMongoCollectionStatsCommand + result formatter and
executeQuery dispatch (web build + MCP path)
- desktop: mirror the parser/executor/autocomplete in mongoShellCommand.ts,
queryStore.ts, api/tauri/http facade, and mongoCompletion.ts
- tests for the parser, result formatter, and completion entries
Close#2529
* fix: isolate data tab mysql queries from metadata loads
* refactor(completion): drop unused limiter snapshot and share concurrency constant
---------
Co-authored-by: zero <zero@zeroMacmini.local>
Co-authored-by: t8y2 <1156263951@qq.com>