3104 Commits
Author SHA1 Message Date
t8y2 e249925a7d feat(release): bump app to 0.5.51 agents-v0.2.48 v0.5.51 2026-07-09 00:54:49 +08:00
hhzorg d9bb92d1e9 feat(doris): show external catalogs in sidebar 2026-07-09 00:45:29 +08:00
zipgandzipg 47d9257ac2 feat(dameng): support proxy job administration
* Feature: add Dameng agent job management

* fix(duckdb): stabilize worker process tests

* fix(dameng): address job admin review

---------

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-09 00:39:06 +08:00
Moe. a07f115407 fix(data-transfer): handle missing owner role policy and align web sync behavior
* Feat: Add PostgreSQL transfer ownership preview and resolution

- Add ownership policy support for data transfers: preserve, skip, and reassign missing owners
- Preview missing PostgreSQL roles before creating target schema objects
- Show ownership confirmation dialog when target roles are missing
- Allow users to skip ownership changes or reassign missing owners to the target connection user
- Add Tauri and HTTP API support for ownership preview
- Apply ownership statements according to selected policy during PostgreSQL transfers
- Add Chinese localization for ownership confirmation UI

* Feat: Add ownership confirmation localization

- Add ownership confirmation messages for supported desktop locales
- Include skip and confirm labels for ownership handling
- Update transfer test requests to use Preserve ownership policy
2026-07-09 00:35:34 +08:00
miracle 135d4e15db feat(sql): add support for @set variables in scripts and copy button 2026-07-09 00:34:51 +08:00
Guoyu Su 3bc208dbf9 fix(mongodb): support legacy index commands 2026-07-09 00:33:52 +08:00
K 1d64d66184 fix(agents): add url params for cassandra driver 2026-07-09 00:32:52 +08:00
jischeng ee34a17e82 fix(spark,hive): cap Thrift fetch size 2026-07-08 23:44:59 +08:00
zipg b862870e8e fix(data-grid): show timeout actions on table data errors 2026-07-08 23:44:50 +08:00
Guoyu Su 313ae2d071 fix(zookeeper): show system znodes in root listing 2026-07-08 23:44:41 +08:00
二丫讲梵 7748c13a1e feat(data-grid): show column comments in lookup 2026-07-08 23:44:33 +08:00
二丫讲梵 ddf6b3ed6b fix(sidebar): preserve Mongo collection children in search 2026-07-08 23:44:25 +08:00
二丫讲梵 843babf522 feat(connection): select new databases when visible 2026-07-08 22:51:45 +08:00
zipg 08067320f8 fix(desktop): restore Windows top border 2026-07-08 22:51:33 +08:00
onenewcode 1b13d2176b fix(metadata): unify enum column metadata 2026-07-08 21:02:53 +08:00
miracle c32d0b7d6e fix(duckdb): close worker process reliably 2026-07-08 20:31:02 +08:00
zipg da88d03ad4 fix(driver): keep store update hints visible 2026-07-08 20:23:58 +08:00
auth0 07482557e6 fix(sidebar): locate active table reliably 2026-07-08 20:21:13 +08:00
zipg 33b4fc1dac feat(driver): clear download cache 2026-07-08 20:21:05 +08:00
lexmin0412 ac4b98c97c feat(ai): add general action mode 2026-07-08 19:31:19 +08:00
Guoyu Su dafa3e0f79 fix(mysql): strip allowMultiQueries URL param (#2917) 2026-07-08 19:30:55 +08:00
zipg 0329d9088e feat(dameng): support schema creation 2026-07-08 19:25:20 +08:00
二丫讲梵 fb919efe0a fix(mcp): require auth for web backend access 2026-07-08 19:23:34 +08:00
t8y2 50d4d22f05 docs(agents): document version bump rules, add zh-CN README 2026-07-08 19:15:48 +08:00
ducheng1 b4588b47f1 fix(ui): align LightTooltip arrow surface 2026-07-08 18:53:48 +08:00
Abeautifulsnow ffc0279352 fix(ai): make stop button actually cancel the agent stream
The stop button called aiCancelStream -> notify_one(), but the four
stream_*_with_tools SSE loops only `break`ed and returned Ok(token_usage)
when cancelled. run_agent_loop treated that as a normal completed turn and
kept going (often into contract-repair or the next turn), so isGenerating
stayed true and a single click did not stop the agent.

Return Err(AGENT_CANCELLED_ERROR) from the cancel branch so the existing
Err-cancel match arm sets loop_exit = Cancelled and stops the loop cleanly,
preserving whatever was streamed so far.

Additional:
- Promote AGENT_CANCELLED_ERROR to a shared `pub const` in ai.rs; agent_loop
  now references ai::AGENT_CANCELLED_ERROR.
- Check cancellation before executing requested tools, so a stop landing
  between stream-end and tool execution is honored.
- Wire cancellation into the text-only fallback (previously `_cancelled`,
  ignored) via tokio::select! racing ai::complete against cancelled.notified().

Known limitation left: in-flight tool execution (e.g. execute_query) is
still not interruptible mid-call.
2026-07-08 18:44:13 +08:00
gggaiitx d0bfdb78ac fix(sqlserver): cast sql_variant result columns 2026-07-08 18:07:24 +08:00
zipg c89357c47d fix(redis): keep string edit actions visible 2026-07-08 17:51:16 +08:00
zipg 4d96bac5ff fix(ai): adjust history message editor width 2026-07-08 17:51:09 +08:00
zipg 488f661bf3 fix(sql): allow quoted keyword table navigation 2026-07-08 17:51:03 +08:00
LRcoding ae627de320 fix(core): preserve mysql numeric export literals 2026-07-08 17:31:29 +08:00
LRcoding 430f097602 fix(hana): improve metadata fallback and SQLScript parameters 2026-07-08 17:25:34 +08:00
Guoyu Su fd80464cb2 fix(kafka): clamp peek offset to available range 2026-07-08 17:12:14 +08:00
zipg ac6b2f6cb5 fix(oracle): use USER views for current schema objects 2026-07-08 16:09:40 +08:00
zipg 9319efb9e5 fix(sqlserver): include IDENTITY in table DDL 2026-07-08 16:09:33 +08:00
zipg 2dc8609495 fix(mysql): skip MySQL-only setup for compatible engines 2026-07-08 15:37:49 +08:00
Abeautifulsnow a5359798dc feat(redis): add auto-refresh countdown for key TTL display
* @
feat(redis): add auto-refresh countdown for Redis key TTL display

在 Redis 值查看器的 TTL 徽章旁增加自动刷新按钮,选中时显示 TTL 实时倒计时
(每秒递减),倒计时归零自动刷新数据,刷新按钮持续旋转。TTL 到期或网络异常
时自动关闭自动刷新避免死循环。

改动:
- RedisValueViewer.vue:新增 autoRefresh 状态、定时器与倒计时逻辑,模板增加
  Clock 切换按钮,RefreshCw 按钮支持 animate-spin 旋转
- load() 内复位倒计时;onBeforeUnmount 清理定时器

修复(review):
- #I01 TTL 到期/连接断开后自动关闭 autoRefresh 避免无限重试
- #C01 load() reject 增加 .catch() 处理 UnhandledPromiseRejection

i18n:zh-CN / zh-TW / en / ja / es / it / pt-BR 7 种语言补充 autoRefresh key
@

* @
test(redis): extract auto-refresh logic and add unit tests

将自动刷新核心决策逻辑提取为 lib/redis/redisAutoRefresh.ts 纯函数模块,
并编写 11 个单元测试覆盖状态机转换、TTL 显示计算和自动停止条件。

新增:
- lib/redis/redisAutoRefresh.ts:computeAutoRefreshTick / shouldStopAutoRefresh /
  computeDisplayTtl 纯函数
- lib/__tests__/redis/redisAutoRefresh.spec.ts:11 个测试用例

重构:
- RedisValueViewer.vue 改用提取后的纯函数,确保测试覆盖即实际运行逻辑
@
2026-07-08 15:37:27 +08:00
gggaiitx 73bd133886 fix(sqlserver): strip display width from float type in DDL generation
* fix(sqlserver): strip scale from float type while preserving mantissa bits

* fix: add missing agent_java_options field in test ConnectionConfig
2026-07-08 15:31:49 +08:00
gggaiitx 651c7b8db3 fix(vastbase): tolerate metadata row type mismatches 2026-07-08 14:57:14 +08:00
zipg 3a35f5b911 fix(oceanbase): update default connection port 2026-07-08 13:31:45 +08:00
zipgandzipg ae288a0345 fix(sql): 兼容 MySQL 建表注释选项拆分 (#2837)
Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-08 13:29:55 +08:00
Abeautifulsnow 0901f176b0 fix(grid): preserve current page on data refresh instead of resetting to page 1
* @
fix(grid): preserve current page on data refresh instead of resetting to page 1

When refreshing table data (toolbar button, Ctrl+R, or auto-refresh), the
offset was hardcoded to 0, causing pagination to always jump back to the
first page. This was frustrating for users viewing later pages.

Use the current page offset (currentPage - 1) * pageSize so the user
stays on the same page after refresh. In infinite-scroll mode, the
offset still evaluates to 0 because resetInfiniteScrollState() sets
currentPage = 1, so behavior is unchanged.
@

* @
fix(grid): auto-redirect to last page when refreshed page no longer exists

Extends the refresh pagination fix with a safety net: when data is deleted
while viewing a later page (e.g. page 5 with only 2 pages remaining), the
grid auto-navigates to the last available page instead of showing an empty
page.

Uses a transient isRefreshingData flag to distinguish refresh/rollback
from normal pagination navigation, avoiding false triggers.
@

* Revert "@"

This reverts commit ff0bf0bb31.

* @
fix(grid): auto-redirect to last page when refreshed page no longer exists

When data is deleted while viewing a later page, the grid now auto-navigates
to the last available page instead of showing an empty page.

Uses a transient isRefreshingData flag to distinguish refresh/rollback
from normal pagination, and a loading-transition watcher (true->false)
placed after displayedTotalRowCount declaration to avoid TDZ errors.
@

* @
test(grid): add pagination offset-preservation and auto-redirect tests

Cover the two new behaviors added to DataGrid.vue:

1. dataGridPagination.test.ts — auto-redirect page calculation:
   - page beyond last page after data deletion → triggers redirect
   - page still valid → no redirect
   - fewer rows than one page → redirects to page 1
   - total=0 / total=undefined → guard prevents redirect

2. useDataGridActions.test.ts — offset preserved on reload:
   - onReloadData(offset=400) passes offset=400 to build-table-select-sql
   - resultPageOffset stored as 400 (not reset to 0)
@
2026-07-08 13:28:36 +08:00
t8y2 2929b1c035 feat(hive): add Kerberos connection options 2026-07-08 13:23:21 +08:00
zipgandzipg 5b70626cf7 Improve: 缩短格式化 JSON 编辑提示时长
* Improve: 调整格式化 JSON 编辑提示频率

* Improve: 减少格式化 JSON 编辑提示次数

---------

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-07-08 12:10:46 +08:00
author.zero 76eab8856f fix(log): use local timezone for desktop logs (#2830)
* fix: use local timezone for desktop logs

* test: cover debug log local timestamps

* style: format desktop log formatter
2026-07-08 11:18:52 +08:00
t8y2 15d4dc6e2e fix(sqlserver): omit display width for integer types 2026-07-08 11:05:45 +08:00
t8y2 35710e7766 fix(postgres): handle column metadata type mismatches 2026-07-08 10:52:48 +08:00
gggaiitx 6041c3f70b fix(sql): quote all IN-list values uniformly in expaste
Previously, pure numeric values (e.g. 90001543) in the IN clause were not quoted while values with leading zeros (e.g. 00040787) were, causing inconsistent quoting. Now all non-NULL values are uniformly quoted.
2026-07-08 10:36:01 +08:00
t8y2 bb959697d0 feat(release): bump app to 0.5.50 v0.5.50 2026-07-08 10:02:45 +08:00
t8y2 1830d76a67 fix(sqlserver): narrow named instance test 2026-07-08 09:57:12 +08:00