Commit Graph
428 Commits
Author SHA1 Message Date
t8y2 aad8c4a473 fix(mcp): read connections from SQLite instead of deprecated JSON files
After migrating storage to SQLite, the MCP server was still reading
from connections.json/secrets.json which no longer exist. Switch to
better-sqlite3 to read directly from dbx.db.
2026-05-08 12:09:38 +08:00
t8y2 b06d5ded04 fix(redis): align value viewer header height with key browser search bar 2026-05-08 11:49:03 +08:00
skyler de244a0b12 Merge pull request #149 from Bacon2994/codex/redis-rdm-consistency
feat(redis): 修复全库键浏览与二进制展示
2026-05-08 11:34:20 +08:00
t8y2 9fd16e3c1f perf(grid): pre-stringify JSON/JSONB values and truncate cell display
Serialize JSON/JSONB as strings in Postgres and MySQL drivers to avoid
repeated JSON.stringify in the render loop. Truncate cell display to
256 chars so the browser doesn't lay out huge text nodes on scroll.
2026-05-08 11:23:31 +08:00
t8y2 fdf65ac5e3 fix(grid): display JSONB values as JSON string in edit mode and detail panel (#152)
String() on objects produces [object Object]. Use JSON.stringify()
consistently wherever cell values are converted to strings.
2026-05-08 11:12:05 +08:00
t8y2 9683826b15 fix: support MongoDB replica set connections via SSH tunnel (#151)
Rewrite MongoDB URI to use tunnel endpoint and add directConnection=true
when connecting through SSH, so the driver doesn't try to discover
unreachable replica set members.
2026-05-08 11:09:46 +08:00
Bacon2994 3106dfce6f fix(redis): 避免反斜杠字符串误判为二进制 2026-05-08 11:09:25 +08:00
Bacon2994 5d00dd583a style(i18n): 修正英文文案格式 2026-05-08 10:39:12 +08:00
Bacon2994 d6f5c25c17 fix(redis): 优化 UTF-8 展示与提示文案 2026-05-08 10:31:51 +08:00
Bacon2994 b669efb5ff style(redis): 修正 Rust 格式检查 2026-05-08 10:11:44 +08:00
Bacon2994 0fb6aebd59 feat(redis): 修复全库键浏览与二进制展示 2026-05-08 10:06:16 +08:00
t8y2 68c0639e3a feat: persist and restore window state across sessions 2026-05-08 00:12:09 +08:00
t8y2 631db17a08 refactor: merge data table info bar and transaction toolbar into one row
Move refresh/commit/rollback buttons from DataGrid's internal toolbar
to ContentArea's table info header. Remove the redundant second row
and the column count display.
2026-05-07 23:48:51 +08:00
t8y2 52add6a503 fix: raise toast z-index above dialog overlay 2026-05-07 23:30:34 +08:00
t8y2 9206daf679 fix: allow text selection in DDL panel
Closes #143
2026-05-07 23:22:47 +08:00
t8y2 65d184fd03 fix: skip macOS framework lookup in dev mode via build.rs
Use CARGO_MANIFEST_DIR to detect whether CI-copied dylibs exist.
When absent (local dev), override frameworks to empty array so
tauri dev doesn't require libodbc/libltdl installed locally.

Also gitignore *.dylib in src-tauri/ to prevent accidental commits.
2026-05-07 22:21:13 +08:00
t8y2 9a7c12c65a fix: restore macOS frameworks to tauri.conf.json for proper bundling
TAURI_CONFIG env var merge did not apply frameworks to the bundler,
resulting in libodbc/libltdl missing from Contents/Frameworks/.

Restore frameworks in tauri.conf.json and skip them in dev mode via
build.rs when the dylibs are not present locally.
v0.4.3
2026-05-07 22:14:01 +08:00
rarnu 53c5c28542 fix: 修复结果集内的数据过滤功能 (#145) 2026-05-07 22:05:27 +08:00
t8y2 75c7e11f55 fix(docker): touch source files to force cargo recompilation
Docker COPY preserves original file timestamps, which can be older than
the dummy-source binary compiled in the dependency caching layer. Cargo
sees the sources as unchanged and skips recompilation, producing a 329KB
empty binary instead of the real web server.
2026-05-07 21:12:41 +08:00
t8y2 198ac54355 feat: add GitHub proxy endpoints for faster update checks
Add hwdns.net and gh-proxy.org as proxy fallbacks before direct GitHub
access, with 10s timeout per endpoint. Significantly improves update
check speed in regions with slow GitHub connectivity.
2026-05-07 21:07:55 +08:00
t8y2 aefb6bf0ef fix: prevent SELECT with REPLACE/TRUNCATE functions from triggering danger warning
The DANGER_RE regex matched keywords anywhere in the SQL text, causing
SELECT queries using REPLACE() or TRUNCATE() functions to incorrectly
trigger the destructive-SQL warning dialog. Check only the first keyword
of each semicolon-separated statement instead.

Also fix dialog content overflow by adding min-w-0 to the <pre> element,
and move macOS frameworks config from tauri.conf.json to CI-only
TAURI_CONFIG so local `tauri dev` no longer requires libltdl/libodbc
to be globally installed.

Closes #135
2026-05-07 19:07:41 +08:00
t8y2 484dc85114 fix: also bundle libltdl.7.dylib for macOS app
libodbc.2.dylib depends on libltdl.7.dylib (libtool). Rewrite its
install_name and the reference in libodbc to @rpath so both resolve
from Contents/Frameworks/ at runtime.
2026-05-07 18:46:09 +08:00
t8y2 fd444eb080 feat: add duplicate connection context menu action
Closes #136
2026-05-07 18:42:41 +08:00
t8y2 63a32c816b fix(docker): pass library search path via RUSTFLAGS for zig linker
cargo zigbuild's zig linker ignores LIBRARY_PATH; pass -L native=
through RUSTFLAGS so it can find libodbc.so during linking.
2026-05-07 18:40:42 +08:00
t8y2 fbcceb5781 fix: rewrite libodbc install_name so macOS app loads bundled library
The binary was linking against /opt/homebrew/opt/unixodbc/lib/libodbc.2.dylib
(absolute path). At runtime dyld refused to load it due to Team ID mismatch.
Use install_name_tool to set @rpath/libodbc.2.dylib before building, so the
linker records a relative path that resolves via Contents/Frameworks/.
2026-05-07 18:30:20 +08:00
t8y2 2083f48add fix: preserve bigint precision for values exceeding JS safe integer range
Closes #137
2026-05-07 18:12:23 +08:00
skyler cf25b7d6d4 Merge pull request #139 from rarnu/feat/edit-on-resultset
add: 增加对于查询得到的结果集直接进行数据编辑的功能
2026-05-07 17:44:48 +08:00
skyler db16bf5edd Merge pull request #140 from Bacon2994/codex/default-database
feat: 支持设置默认数据库
2026-05-07 17:41:51 +08:00
t8y2 4973912666 fix: bundle libodbc into macOS app and improve update UX
- Bundle libodbc.2.dylib into .app/Contents/Frameworks/ via Tauri's
  macOS frameworks config to fix "app can't be opened" on macOS
- Replace relaunch() with exit(0) to avoid Tauri restart bug (#11392)
- Lock update dialog during download and after install
- Render release notes as markdown
2026-05-07 17:36:44 +08:00
Bacon2994 e1d8993725 style(dbx-core): 统一 Rust 代码格式 2026-05-07 17:01:17 +08:00
rarnu cacaf4d7a2 1. Rust 事务连接池问题 - 用 pool.acquire() 获取专用连接,所有语句在同一物理连接上执行
2. BEGIN 失败静默回退 - 直接返回错误,不再静默降级
    3. queryStore.ts - 清除了 25+ 条 console.log,合并了两个分支的重复逻辑
    4. DataGrid.vue - shouldUseTransaction() 改为 computed 属性 useTransaction
2026-05-07 16:55:32 +08:00
Bacon2994 f9d6edb136 feat(connection): 支持设置默认数据库
统一新建查询的默认数据库选择逻辑,减少重复手动选择。
2026-05-07 16:49:56 +08:00
t8y2 d4d0bb726e perf: use lld linker for faster Windows builds 2026-05-07 16:21:21 +08:00
t8y2 fdb923425d chore: update rust-oracle to latest commit 2026-05-07 15:44:55 +08:00
t8y2 0f904fc2a8 refactor: rename oracle-rs to rust-oracle and unify to git source 2026-05-07 15:41:39 +08:00
t8y2 84cc42a0d4 fix: manually extract arm64 unixodbc debs instead of multiarch apt
Debian multiarch apt sources cause dependency conflicts with
gcc-x86-64-linux-gnu. Instead, download arm64 .deb packages directly
from deb.debian.org and extract with dpkg -x to get the arm64
libodbc headers and libraries without apt dependency resolution.
2026-05-07 15:15:10 +08:00
rarnu 814fda7433 add: 增加对于查询得到的结果集直接进行数据编辑的功能。当查询是单表且包含主键(有联合主键时包含全部主键)时,可以在结果集内双击单元格修改数据,修改结果以事务形式提交或回滚。 2026-05-07 15:09:59 +08:00
t8y2 ddd1733e8f fix: configure Debian multiarch apt sources for arm64 cross-compilation
The rust:1-bookworm image only has amd64 apt sources. Add explicit
arm64 sources from deb.debian.org so unixodbc-dev:arm64 can be
installed alongside the native amd64 version.
2026-05-07 15:07:36 +08:00
t8y2 89fa8c02be docs: add landing page and upgrade all documentation with advanced components
- Add product landing page with hero section, stats, feature cards, database badges, comparison table, and screenshots
- Register Fumadocs MDX components (Tabs, Steps, Callout, Cards, Accordions) globally
- Rewrite all 17 doc pages (CN + EN) with richer content, use cases, and advanced components
- Add competitive comparison table (vs DBeaver/Navicat/TablePlus)
- Add ~300 lines of responsive landing page CSS
2026-05-07 14:53:35 +08:00
t8y2 d4aeb7af68 fix: install cross-architecture unixodbc-dev for Docker multi-platform builds
Install both arm64 and amd64 versions of unixodbc-dev and set
LIBRARY_PATH/PKG_CONFIG_PATH to the target architecture's lib dir
so cargo-zigbuild can find the correct libodbc when cross-compiling.
2026-05-07 14:45:17 +08:00
t8y2 75d7edda27 fix: add missing comment field to TableInfo initializers
The comment field was added to TableInfo but not updated in
clickhouse, gaussdb, oracle, sqlite, sqlserver, dm, and schema drivers.
2026-05-07 14:35:09 +08:00
t8y2 606019b86c ci: use macos-15-intel runner for x86_64 macOS builds
Replace cross-compilation approach with native Intel runner.
macos-15-intel is GitHub's official replacement for the retired
macos-13 runner, available for free on public repos until Aug 2027.
2026-05-07 14:28:40 +08:00
t8y2 63b7458347 ci: install x86_64 unixodbc for cross-compilation on ARM macOS
The ARM runner's Homebrew installs arm64 libraries, which can't link
when cross-compiling for x86_64. Use arch -x86_64 to install the
Intel version of unixodbc and set LIBRARY_PATH accordingly.
2026-05-07 14:14:43 +08:00
t8y2 89e9dde666 ci: replace deprecated macos-13 runner with macos-latest
macos-13 (Intel) runners have been retired by GitHub, causing the
x86_64-apple-darwin build job to queue indefinitely. Use macos-latest
(ARM) and cross-compile via --target instead.
2026-05-07 14:08:15 +08:00
t8y2 f164945d44 docs: update next-env.d.ts for Next.js 16 2026-05-07 13:57:35 +08:00
t8y2 af9c3cb025 docs: add static search support for documentation site 2026-05-07 13:56:42 +08:00
t8y2 8b5abfe832 docs: match wrangler name with Cloudflare Pages project 2026-05-07 13:48:01 +08:00
t8y2 0becd7e831 docs: fix wrangler.json assets config for static deployment 2026-05-07 13:45:35 +08:00
t8y2 875b75de47 docs: add wrangler.json to fix Cloudflare Pages static deployment
Tell wrangler to use the static `out` directory instead of trying
to run opennextjs-cloudflare build.
2026-05-07 13:42:08 +08:00
t8y2 fc4a4bfb5b docs: remove basePath for custom domain deployment
Remove /dbx basePath and update asset paths from /dbx/logo.png to
/logo.png for deploying docs site on a custom domain.
2026-05-07 13:21:46 +08:00