Commit Graph
6866 Commits
Author SHA1 Message Date
github-actions[bot] b5bf45e224 chore(packages): release 0.4.91 [skip node-packages-release] packages-v0.4.91 2026-09-19 12:05:35 +00:00
github-actions[bot] 1c618a9c7f chore: bump module versions [skip ci] 2026-09-19 11:44:03 +00:00
t8y2 f638e31a79 chore(release): prepare v0.6.17 agents-v0.2.114 v0.6.17 2026-09-19 19:42:29 +08:00
Jinpy b1b99eccfb feat(desktop): deliver font settings to plugin sandboxes 2026-09-19 19:13:30 +08:00
luo jiyin ba6b74beea perf(ci): parallelize and cache Windows compatibility checks (#9587)
* perf(ci): parallelize and cache Windows compatibility checks

* test(ci-plan): require both Windows jobs when bundle routing is selected
2026-09-19 15:23:52 +08:00
zipgandzipg c71c35624b fix(structure): 表结构编辑器补充可拖拽的纵向滚动条 (#9585)
编辑表结构的「字段 / 索引」页签之前只有自绘的横向滚动条,纵向只能靠滚轮,
字段较多时既没有“还有更多内容”的视觉提示,也无法拖拽定位。

- 复用 useVerticalOverlayScrollbar 组合式函数,为当前激活的表格页签
  (字段 / 索引)渲染与横向滚动条同款的覆盖式纵向滚动条;
- 页签面板改为三行两列的 grid:工具栏、滚动区、横向条在第一列,
  纵向条独占第二列,仅在有溢出且处于表格页签时出现;
- 隐藏该滚动区残留的原生纵向滚动条,避免与自绘条重叠;
- 补充单测:纵向滚动条在有溢出时出现、拖拽可同步 scrollTop,
  以及非表格页签(DDL)下不渲染。

Fixes #9408

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 15:23:27 +08:00
zipgandzipg 0adef6e16a fix(export): 分页导出按列名对齐每一页,修复字段错位 (#9583)
Schemaless 引擎(Elasticsearch/Easysearch)的列集合是按每个响应里的文档现算的,
因此 select * 的不同分页可能给出不同的列顺序或列集合。查询结果导出把表头冻结在
第一页,却按位置写入后续页的行,导致第二页起的值落到错误的列里(#9522 反馈的
"导出字段错位",例如 beta 的值被写进 alpha 列)。

- 新增 export_column_remap/realign_page_cells/realign_page_rows:后续页按列名映射到
  冻结表头,列名缺失时填 NULL,列顺序不同也能正确还原;
- 列类型同样按列名对齐,保证按页的日期/时间格式化使用正确的类型;
- spatial_values 随行一起对齐,保持与单元格的 SRID 对应关系;
- 第一页仍是表头来源,新增列(表头里没有的列)与被删除的列都会被忽略,行为与写出
  表头保持一致。

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 15:23:22 +08:00
zipgandzipg 687b988b7d fix(mysql): 显式配置的 group_concat_max_len 稳定生效并补充连接表单提示 (#9582)
DBX 连接 MySQL 时会执行 SET SESSION group_concat_max_len = 1048576,
避免 GROUP_CONCAT 结果被静默截断(#2775)。但当用户在 URL 参数里用
Connector/J 语法 sessionVariables=group_concat_max_len=... 显式指定值时,
内置语句与用户语句的执行先后取决于底层驱动,覆盖行为不具备确定性;
连接表单也没有任何提示,导致按服务端配置排查问题时被误导(#9412)。

- 新增显式覆盖检测:解析 sessionVariables 中的赋值目标,命中
  group_concat_max_len(含大小写、@ 前缀、session 限定)时不再下发内置的
  SET SESSION,用户/服务端的值始终生效;@user 变量与 @@global. 赋值不影响
  默认行为。
- 连接表单 URL 参数下方为 MySQL 增加提示,说明可用的覆盖写法
  (sessionVariables=group_concat_max_len=@@global.group_concat_max_len 即
  完全跟随服务端配置),并补齐 10 个语言包文案。

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 15:23:16 +08:00
Jinpyandjinpy.he 1f3beb11dc fix(macos): let held keys repeat instead of opening the accent picker (#9572)
WKWebView shows the macOS accented-character popover when a key is held
down, which suppresses key repeat entirely: holding a key in plugin
terminal workbenches (e.g. the SSH plugin) registers nothing, and keys
typed while the popover is up are swallowed, so fast typists lose
characters. Terminals want key repeat, not diacritics entry.

Setting ApplePressAndHoldEnabled to false in the bundle Info.plist
restores normal key repeat inside the webview (same approach as iTerm2
and other terminal apps). macOS-only key; other platforms unaffected.

Co-authored-by: jinpy.he <jinpy.he@kuehne-nagel.com>
2026-09-19 13:31:50 +08:00
zipgandzipg 74c275b2ce fix(sqlserver): 表结构支持查看约束(主键/唯一/外键/检查/默认值) (#9581)
SQL Server 连接的「编辑表结构」面板里只有 DDL/字段/索引/外键/触发器,
没有「约束」页签;用户无法查看某张表的约束。

list_constraints 在 SQL Server 驱动中完全缺失:驱动侧没有对应实现,
dbx-core 的 list_constraints_core 没有 SQL Server 分支,直接落到默认的
空数组;前端 tableMetadataCapabilities 也没有声明 sqlserver 支持,
因此即使是空页签也不会渲染。

- dbx-drivers 新增 list_constraints,用一条 UNION ALL 查询汇总
  sys.key_constraints(PK/UNIQUE)、sys.foreign_keys(含引用库表列、
  ON UPDATE/DELETE 动作、is_not_trusted)、sys.check_constraints、
  sys.default_constraints;列名用 FOR XML PATH('') 聚合,兼容 SQL Server
  2008(无 STRING_AGG)
- list_constraints_core 增加 SQL Server 分支与链接服务器早退
- tableMetadataCapabilities 为 sqlserver 打开 constraints,前端显示「约束」页签
- 新增单测覆盖 SQL 形态与列名拆包,并补充前端能力断言

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 13:31:45 +08:00
zipgandzipg ed1881e323 fix(editor): 右键粘贴含 CRLF 的剪贴板文本不再报选区越界 (#9576)
SQL 编辑器里选中一百多行后,右键“粘贴”从 Excel 复制的表格数据会报
“读取剪贴板失败:Selection points outside of document”,文档内容不变;
先删除文本再粘贴则正常。

右键粘贴按剪贴板原文长度计算光标位置,而 CodeMirror 会把插入文本中的
\r\n、\r 归一化为 \n,实际写入的文本比原文短,光标落到文档末尾之后,
dispatch 抛出 RangeError: Selection points outside of document。

- 新增 queryEditorClipboardPasteChange:先归一行尾再按实际插入长度计算光标
- QueryEditor 右键粘贴改用它,选区长度不再影响粘贴是否成功

Co-authored-by: zipg <4047349+zipg@users.noreply.github.com>
2026-09-19 13:31:40 +08:00
Jinpyandjinpy.he 58fd050a28 fix(desktop): keep timeout inherit flags when saving plugin connections (#9579)
* fix(desktop): keep timeout inherit flags when saving plugin connections

* fix(desktop): hide dead query timeout scope from plugin connections

query_timeout_secs only feeds the database query pipeline (dataGrid,
queryStore); plugin connections such as SSH never consume it, so the
generic Advanced-tab radio only suggested a budget the provider cannot
honor. Hide the row for plugin connections while keeping hydration and
submit untouched, and pin the round-trip contract (explicit inherit
flag, preserved scalar) plus the deliberate keep of the connect timeout
radio in the regression spec.

---------

Co-authored-by: jinpy.he <jinpy.he@kuehne-nagel.com>
2026-09-19 13:31:36 +08:00
luo jiyin cf6467ab08 perf(ci): shard frontend checks and vitest suites 2026-09-19 12:39:20 +08:00
t8y2 3100a918cc feat(plugins): classify install beacons by kind and client id 2026-09-19 10:56:01 +08:00
dienaso 280af02120 fix(sql): keep merge update set line in statement continuation 2026-09-19 10:55:37 +08:00
zipg ffb915061f feat(editor): select all and deselect all in completion column picker 2026-09-19 10:55:21 +08:00
zipg 257e023120 fix(completion): stop appending space before statement terminators 2026-09-19 10:55:06 +08:00
二丫讲梵 4a068a4eeb fix(grid): project mongodb full export to visible columns 2026-09-19 10:54:51 +08:00
t8y2 73178fe677 ci(rust): pin mold 2.42.1 from upstream for linux links
jammy's mold 1.0.3 mis-links the bundled duckdb C++ library: every
runtime test panicked in duckdb_create_config. Install the current
static upstream build (with a post-install version check) instead.
2026-09-19 09:50:58 +08:00
КГБ Lieu 30fe61d440 fix(sql-file): extend relational constraint bypass to Postgres and SQL Server 2026-09-19 09:47:58 +08:00
Jinpy 2b15327de3 feat(plugins): hand SOCKS5 transport proxy routes to connections 2026-09-19 09:47:15 +08:00
dienaso 8518a5bd25 fix(sql): quote case-sensitive Oracle identifiers in completion 2026-09-19 09:47:04 +08:00
Elias 5a59777246 fix(xugu): expose identity columns to data generation 2026-09-19 09:46:53 +08:00
zipg 85a10be4c9 fix(mongodb): keep local value filters across page size changes 2026-09-19 09:46:36 +08:00
t8y2 2fa113b495 ci(rust): link with mold in linux cargo jobs
sccache cannot cache the link step, so test-binary linking dominated
rust-test and the packages release build. Wrap the cargo-invoking steps
with 'mold -run' (PATH-level ld interception) instead of touching
RUSTFLAGS or .cargo config, which would rekey the shared sccache cache.
2026-09-19 09:33:41 +08:00
二丫讲梵 bb4fb6c83a feat(grid): incremental column freeze and single-column unfreeze 2026-09-19 09:28:38 +08:00
ReadMe.md 1f43d184aa feat(sidebar): add nested virtual table groups with drag and batch move 2026-09-19 09:24:34 +08:00
Elias 0db9756a57 fix(xugu): restore table import support 2026-09-19 09:24:16 +08:00
zipg a03d19a76c fix(redis): localize set editor row and column labels 2026-09-19 09:24:05 +08:00
jearhe f3e5909a20 feat(nacos): add YAML diagnostics for config editor 2026-09-19 08:52:39 +08:00
jearhe d10216e302 feat(data-compare): support per-table match column configuration 2026-09-19 08:52:27 +08:00
zipg aa4e0a30fd fix(plugin-cli): honor CARGO_BUILD_TARGET artifact paths when packaging 2026-09-19 08:52:16 +08:00
github-actions[bot] 5c4cf9871f chore(docs): refresh contributor activity 2026-09-18 18:11:34 +00:00
t8y2 9ae10f3717 ci(rust): add sccache to packages and agent jobs, drop gha fallback
The packages job compiled dbx-cli/dbx-mcp cargo targets with no cache at
all. agent-rust only had rust-cache, so every lock change recompiled the
bundled duckdb C++ library. The GHA sccache fallback for fork PRs wrote
nothing (0% hits, all writes erroring under the v2 cache service) while
main only populates S3, so forks now build without a wrapper and lean on
the rust-cache restore from main.
2026-09-19 00:29:44 +08:00
zipg 00c4d30453 fix(agent): keep offline import resilient per item with os error detail 2026-09-19 00:22:18 +08:00
zipg e0e6a696b0 fix(kingbase): prefer factory default test database for empty connections 2026-09-19 00:21:57 +08:00
zipg c3d4061868 fix(agents): resolve system java from JAVA_HOME before PATH 2026-09-19 00:21:43 +08:00
gggaiitx 04c6e67bbd feat(search): add global file content search in QuickOpen 2026-09-19 00:21:27 +08:00
Abeautifulsnow 5278594ed2 feat(mcp): make dbx_execute_query row limit configurable 2026-09-19 00:20:33 +08:00
zipg 9d29f53e37 feat(editor): optional space completion confirmation for SQL Server 2026-09-18 23:43:58 +08:00
t8y2 54652951d1 fix(mcp): use slice contains for sql risk classification 2026-09-18 23:20:01 +08:00
zipg f0342ad3d9 feat(updates): centralize client and component update management 2026-09-18 23:14:00 +08:00
ccq 0f6db4b2c7 feat(mcp): record SQL executions in query history 2026-09-18 22:50:26 +08:00
jearhe 1c47062cdd fix(grid): support text preview of binary cells 2026-09-18 22:49:58 +08:00
二丫讲梵 ccc0361907 feat(meilisearch): add search filter to multi-select dropdown 2026-09-18 22:49:45 +08:00
zipg 68f905e0c2 fix(elasticsearch): retry /_sql with PUT on 405 for legacy clusters 2026-09-18 22:48:27 +08:00
ccq 8bafe0916c fix(grid): replace matches in truncated large values 2026-09-18 22:48:16 +08:00
zipg 4699295ed6 fix(mysql): execute adjacent statement on delimiter directive lines 2026-09-18 22:48:04 +08:00
zipg 6d8e0d886a feat(mongodb): add range and list operators to document filters 2026-09-18 22:47:51 +08:00
zipg ef086865dd fix(completion): add contains fallback for first fuzzy input 2026-09-18 22:47:40 +08:00