t8y2
3733c3f08f
chore: bump version to 0.5.3
v0.5.3
2026-05-11 02:31:47 +08:00
t8y2
e03ce491af
feat(ai): add guarded SQL auto execution
2026-05-11 02:27:56 +08:00
t8y2
9355fa7e93
fix(sidebar): 修复侧边栏树状态显示
2026-05-11 02:16:36 +08:00
t8y2
043bd5dd8d
fix: make GitHub link clickable in settings about page
2026-05-11 01:41:17 +08:00
t8y2
b0480494ff
feat: add MongoDB table view with inline editing support
...
- Add document/table view toggle to MongoDocBrowser
- Convert MongoDB documents to DataGrid format (union of all top-level keys)
- Add customSave prop to DataGrid for pluggable save backends
- MongoDB grid save converts dirty rows to mongoUpdateDocument calls
- Enable transaction-mode toolbar (commit/rollback) for customSave
2026-05-11 01:38:24 +08:00
t8y2
14680238b8
feat: editor enhancements, DataGrid refactor, and sidebar improvements
...
- Add bracket auto-close and matching to SQL editor (closeBrackets, bracketMatching)
- Show truncation warning banner when query results exceed 10,000 rows
- Extract shared export format functions (CSV/JSON/SQL INSERT) to lib/exportFormats.ts
- Add progressive rendering to sidebar tree (50-node cap with "show more")
- Fix connection node expanding before connect succeeds
- Split DataGrid.vue (3177→2535 lines) into 4 composables:
useDataGridExport, useDataGridColumnResize, useDataGridSelection, useDataGridEditor
2026-05-11 01:08:07 +08:00
t8y2
49f03b0c69
feat: add loading overlay with elapsed timer to DataGrid
...
Show a semi-transparent overlay with a spinning loader and elapsed
time counter while queries are executing, preventing accidental
interaction with the grid content.
2026-05-11 00:30:46 +08:00
t8y2
f456ddd979
perf: full-stack performance and security hardening
...
Frontend performance:
- Debounce DataGrid search (150ms) and replace O(n) row wrapping with index array
- Replace QueryStore deep watcher with targeted field-level persistence snapshot
- Extract shared nodeConfig computed in TreeItem (eliminates 15x redundant getConfig calls)
- Clear tab result data on close to free memory
- Add LRU eviction for completion caches (50 entry cap)
- Replace savedSql version string join with numeric counter
Memory leak fixes:
- Store Tauri event unlisten handles and clean up on unmount
- Clean up DataGrid search timer on unmount
Backend security & resource management:
- Add 50MB request body size limit
- Reject file uploads >100MB and SQL files >200MB
- Clean up SSE channels after transfer/import completes
- Recover from poisoned mutex instead of panicking
- Delete temporary upload files after preview
- Validate SQL file paths to prevent directory traversal
2026-05-11 00:18:09 +08:00
t8y2
741783445d
feat: add XLSX export to table context menu
...
Add XLSX export option to the sidebar table name right-click menu,
unifying export capabilities with the data grid context menu. Also
add toast notifications for all sidebar data export operations.
2026-05-10 23:38:53 +08:00
t8y2
bafb424b23
perf: full-stack performance optimization
...
Frontend:
- Debounce queryStore tab persistence (remove flush:sync deep watcher)
- Eliminate unnecessary object spreading in connectionStore error handling
- Use in-place delete for completion cache invalidation
- Deduplicate schema cache prefix API calls
- Split echarts, reka-ui, marked, @codemirror/commands into separate chunks
- Lazy-load xlsxExport and markdownTable in DataGrid
- Lazy-load marked parser in UpdateDialog
Backend:
- Replace tokio::sync::Mutex with RwLock for AppState connections/configs
(60+ concurrent reads no longer block each other)
- Parallelize PostgreSQL DDL metadata queries with tokio::try_join!
2026-05-10 23:23:22 +08:00
t8y2
dbfe69572e
perf(build): make DuckDB bundled compilation optional
...
Add duckdb-bundled feature gate (default on) to dbx-core. Local dev
can use --no-default-features to skip DuckDB C++ compilation (~170s),
while CI/Docker keeps the default bundled build.
2026-05-10 22:48:35 +08:00
t8y2
685aba00e2
fix: avoid disconnecting prefixed web pools
2026-05-10 22:41:04 +08:00
t8y2
3eff55e4e2
fix: sync web connection config cache
2026-05-10 22:38:47 +08:00
t8y2
c43ab681cd
test: add backend API contract coverage
2026-05-10 22:34:37 +08:00
t8y2
6addbea72d
test: 接入前端测试脚本
2026-05-10 22:32:01 +08:00
t8y2
417b74cc51
refactor(ci): trigger Homebrew/Scoop publish on release event
...
Move packages job from release.yml to publish-packages.yml, triggered
by release published/released events. Keeps workflow_dispatch as a
manual fallback. Now all external publishing (Homebrew, Scoop, 1Panel,
QQ notify) triggers at the same time: when a prerelease is promoted
to a full release.
2026-05-10 22:23:25 +08:00
t8y2
302835bebb
refactor(ci): trigger 1Panel submission on release publish
...
Move 1Panel App Store submission from release.yml to a standalone
workflow triggered by release published/released events, matching
the same pattern as QQ notify.
2026-05-10 22:19:09 +08:00
t8y2
fdb9a5c4d3
feat(ci): add 1Panel App Store auto-submission
...
Add 1Panel app store configuration files (metadata, docker-compose
template, logo) and a release workflow job that automatically creates
a PR to 1Panel-dev/appstore on each release.
2026-05-10 22:16:07 +08:00
t8y2
c6b6ba5769
feat(connections): import DBeaver connections
2026-05-10 22:10:30 +08:00
t8y2
9661c60812
feat(connections): import Navicat NCX files
2026-05-10 21:51:48 +08:00
t8y2
6d513afc16
feat(objects): show routines in object browser
2026-05-10 21:14:16 +08:00
t8y2
d4afbc7b58
feat(external): add tabular source foundation
2026-05-10 20:52:03 +08:00
t8y2
d917842fca
perf(oracle): speed up initial table loading
2026-05-10 20:47:54 +08:00
t8y2
61bd7480f4
fix(oracle): refresh schema cache and complete table lists
2026-05-10 20:05:11 +08:00
BlueSkyXN
5975a0b0b7
feat(external): add tabular source foundation
2026-05-10 19:50:34 +08:00
t8y2
3e321d869c
fix(oracle): decode NCHAR values correctly
2026-05-10 19:09:06 +08:00
t8y2
0e0195f734
feat(objects): add virtual object browser
2026-05-10 18:32:24 +08:00
t8y2
1cd358f3c1
fix(sidebar): allow collapsing search results
2026-05-10 14:43:49 +08:00
t8y2
f5b36a0f60
feat(history): track database activity
2026-05-10 14:18:20 +08:00
t8y2
dadcd1231f
docs(jdbc): add JDBC plugin usage guide
2026-05-10 13:08:32 +08:00
t8y2
766977e7de
chore: bump version to 0.5.2
v0.5.2
2026-05-10 13:01:38 +08:00
t8y2
10bfede1c7
feat(jdbc): add optional JDBC plugin support
2026-05-10 12:57:38 +08:00
t8y2
3a6078e10c
fix(sidebar): remove tinted row rounding
2026-05-10 10:32:58 +08:00
t8y2
939f36bda6
fix(redis): align key table columns
2026-05-10 10:26:14 +08:00
t8y2
8664cc5b48
feat(grid): add clipboard shortcuts
2026-05-10 10:22:17 +08:00
t8y2
5a15d7a424
fix(ui): refine layout polish
2026-05-10 10:17:18 +08:00
t8y2
ebc905a478
feat(ui): add layout preference
2026-05-10 10:11:55 +08:00
t8y2
28f8c88ea9
feat(ui): refine panel and tab chrome
2026-05-10 09:54:21 +08:00
t8y2
cb7428b5a3
feat(ui): refine app chrome layout
2026-05-10 09:37:02 +08:00
t8y2
0b376c234f
feat(ui): add connection color tinting
2026-05-10 09:19:14 +08:00
t8y2
4cd9432fcb
fix(connection): sync connection state when expanding cached tree
2026-05-10 09:11:12 +08:00
t8y2
3066266697
fix(ui): resolve connection dialog errors
...
- Escape `@` in i18n connection URL placeholder to prevent vue-i18n
linked message compilation error
- Add hidden DialogDescription to DialogContent to suppress reka-ui
aria-describedby warning
2026-05-10 01:13:00 +08:00
t8y2
f4f3193994
fix(sql): detect result queries after comments
2026-05-10 00:48:24 +08:00
t8y2
b013a2ac29
feat(sql): persist SQL library in app database
2026-05-10 00:41:17 +08:00
t8y2
cac383e6bf
feat(sql): add saved SQL library
2026-05-10 00:33:25 +08:00
t8y2
d3919a5c20
fix(grid): refine column filter popover
2026-05-10 00:16:32 +08:00
t8y2
fbe6eb79ba
fix(docs): 修正文档站标签页和代码块样式
2026-05-10 00:13:19 +08:00
t8y2
95519903b6
feat(grid): add DataGrip-style column filters
2026-05-10 00:12:50 +08:00
t8y2
1c53e68269
ci(release): stabilize rust cache keys
2026-05-09 23:57:54 +08:00
t8y2
cdb18baa6a
fix(docs): improve code block styling
2026-05-09 23:52:41 +08:00