Commit Graph
912 Commits
Author SHA1 Message Date
t8y2 e9dafbf38d fix(prestosql): select builtin JDBC driver 2026-06-23 01:28:03 +08:00
luoianun 8cc7a35c1a feat: add PrestoSQL connector 2026-06-23 01:27:08 +08:00
t8y2 7910a2f68e fix(connection): raise default connect timeout 2026-06-22 23:59:42 +08:00
t8y2 ac3d3a7948 feat(agent): track execution context activity 2026-06-22 23:17:11 +08:00
skyler ee29694776 Merge pull request #1586 from onceMisery/feat/opt-connections
fix: handle connection loss state for new queries
2026-06-22 22:32:02 +08:00
t8y2 099ed62609 fix: preserve known connection loss errors 2026-06-22 22:23:28 +08:00
t8y2 0b6e1579ca feat(agent): add execution context recovery 2026-06-22 22:15:16 +08:00
fagao 718ffde871 test: mock MQ connection health check 2026-06-22 22:02:49 +08:00
fagao c0248cbe8e fix: handle connection loss errors consistently 2026-06-22 21:43:01 +08:00
fagao e2f68de455 fix: resolve MySQL connection state desync after disconnect/reconnect
- Use synchronous pool removal in desktop disconnect_db to prevent
  race condition when user quickly disconnects and reconnects
- Rename recordMetadataLoadError to recordConnectionLostError and
  export it for cross-store reuse
- Sync query execution errors back to connection state via
  recordConnectionLostError in queryStore catch blocks
- Add backend check_connection_health method (dbx-core) with Tauri
  command and web route for proactive pool verification
- Add frontend checkConnectionHealth API (tauri.ts/http.ts/api.ts)
- Enhance ensureConnected to verify backend pool health before
  assuming connection is valid, auto-reconnect if stale
2026-06-22 20:40:40 +08:00
lexmin0412 62f46857b8 fix(i18n): add missing ai.copyTestResult key 2026-06-22 18:29:07 +08:00
t8y2 988b2ab3da feat(sqlserver): recognize readonly keyword 2026-06-22 17:56:49 +08:00
t8y2 6e6f7bda0b fix(mongo): preserve dates during document edits 2026-06-22 17:50:17 +08:00
74df246d7e feat(ai): improve model selection with searchable dropdown
* fix(ui): toast 消息支持换行显示

- 添加 max-w-3xl 限制最大宽度
- 使用 whitespace-pre-wrap 允许自动换行
- 添加 break-words 防止长单词溢出

* fix(ai): 优化模型选择下拉列表

---------

Co-authored-by: t8y2 <1156263951@qq.com>
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-22 17:22:17 +08:00
t8y2 7e5fd88e63 fix(schema): use sync sql for modified schema diff 2026-06-22 17:21:08 +08:00
dac97b83a6 feat(editor): execute single SQL directly without picker
* fix(ui): toast 消息支持换行显示

- 添加 max-w-3xl 限制最大宽度
- 使用 whitespace-pre-wrap 允许自动换行
- 添加 break-words 防止长单词溢出

* feat(editor): 单条 SQL 直接执行

---------

Co-authored-by: t8y2 <1156263951@qq.com>
Co-authored-by: staff <staff@qimaos-MacBook-Pro.local>
2026-06-22 17:14:36 +08:00
t8y2 9c116e8f7e fix(editor): keep select column suggestions active 2026-06-22 16:58:32 +08:00
t8y2 df94a7c1bf fix(postgres): export sequences with database dump 2026-06-22 16:47:10 +08:00
t8y2 09d54d09bc feat(mongodb): support use command to switch database 2026-06-22 16:42:38 +08:00
t8y2 d9256fc1ec fix(sql-library): auto-close tabs when deleting saved SQL files
Closes #1566

When a saved SQL file is deleted from the SQL library panel, any open
tabs referencing that file are now automatically closed to maintain
consistency between the library and open tabs.

Changes:
- Modified savedSqlStore.deleteFile() to find and close all tabs with matching savedSqlId
- Tabs are force-closed to avoid unsaved changes prompts for deleted files
2026-06-22 15:18:41 +08:00
t8y2 7adee1cacf fix(ui): enable text wrapping for toast messages
- Add max-w-3xl to limit toast width (768px on desktop, 90vw on mobile)
- Use whitespace-pre-wrap to allow automatic line breaks
- Add break-words to prevent long words from overflowing
- Long error messages now wrap instead of extending off-screen
2026-06-22 14:58:56 +08:00
t8y2 4346192713 feat(mongodb): show collection metadata in sidebar 2026-06-22 12:42:31 +08:00
t8y2 f0d4b66489 fix(grid): unify data grid font size to 13px 2026-06-22 12:35:53 +08:00
t8y2 9418e37c04 feat(settings): add show execution target picker option and related UI elements 2026-06-22 12:05:47 +08:00
t8y2 d7e52779c3 fix(data): refresh table metadata lazily 2026-06-22 11:49:01 +08:00
t8y2 c94cfb6a91 fix(structure): refresh metadata after applying changes 2026-06-22 11:26:07 +08:00
t8y2 72300a2b8f feat(sql-library): add sort by date modified
- Add sort mode toggle button (folder structure / date modified)
- Sort by date: flat list with all folders and files by updatedAt desc
- Most recently modified items appear at top for quick access
- Hide 'Unfiled' label when not dragging (only show as drop target)
- Remove excessive spacing between folder tree and unfiled section
2026-06-22 10:57:31 +08:00
Abeautifulsnow 629c92bf7e feat: prompt input history navigation with ↑/↓ arrow keys in AI assistant 2026-06-22 10:50:18 +08:00
t8y2 58344cdae0 perf: remove transition-colors from interactive list items
- Remove from QuickOpenDialog list items for instant keyboard navigation
- Remove from DatabaseSearchDialog results for immediate click response
- Remove from CustomContextMenu items for instant menu interaction
2026-06-22 10:48:13 +08:00
t8y2 0a652d1b2c feat(sql-library): add batch selection and deletion for SQL Library panel
- Support Ctrl/Cmd+click for multi-select toggle
- Support Shift+click for additive range selection across folders and files
- Add batch delete via right-click context menu with confirmation
- Add active/inactive visual states matching connection sidebar behavior
- Remove transition-colors for instant selection feedback
- Unified selection index system for cross-type range selection
2026-06-22 10:43:26 +08:00
t8y2 2fc835060e fix: sync saved sql file connection on tab connection change 2026-06-21 23:49:54 +08:00
t8y2 c9cd80fc79 feat(sql-library): add new query option to folder and panel context menus 2026-06-21 23:43:12 +08:00
hb fa59281ef4 fix: prevent data grid footer controls from wrapping incorrectly 2026-06-21 23:29:59 +08:00
t8y2 fae644b888 fix(redis): exclude empty commands from history navigation
- Empty commands show temporary error hint (1s) but not added to history
- Arrow key navigation skips empty command entries
- Add appendCommandOutput helper for transient feedback
2026-06-21 18:55:01 +08:00
t8y2 dbc8668ced feat(redis): add command history navigation with arrow keys
- Press ↑ to recall previous command, ↓ for next command (terminal-like behavior)
- Press ↓ at end of history to clear input
- Use readonly instead of disabled to maintain cursor focus and blink state
- Semi-transparent visual feedback during command execution
2026-06-21 15:49:57 +08:00
t8y2 c94f04ba9b fix(redis): enable text selection and copy in command terminal
- Add user-select: text CSS to allow text selection
- Optimize click handler to preserve user text selection
2026-06-21 15:49:30 +08:00
t8y2 bd671eb1a5 feat(settings): scope reset defaults to current tab 2026-06-21 13:19:12 +08:00
t8y2 9781b0f562 fix(mysql): normalize unsigned column types 2026-06-21 09:02:16 +08:00
t8y2 243b49038a style: format files to fix CI 2026-06-21 00:22:34 +08:00
cherlinbest-pixelandcherlin 28a23de604 feat(desktop): add close behavior prompt with quit-on-close setting
Co-authored-by: cherlin <544026227@qq.com>
2026-06-21 00:04:52 +08:00
t8y2 f32298743d fix(driver): keep custom store paths consistent 2026-06-20 23:58:38 +08:00
t8y2 a1e39333a3 fix(mongodb): remove invalid direct connection 2026-06-20 22:44:17 +08:00
uicky 4d2afcad90 feat(editor): add SQL execution target picker with preview decoration
When the user triggers SQL execution via shortcut/toolbar/context-menu
without a manual selection, a floating picker now surfaces the available
execution targets:

- "Current SQL" — the statement at the cursor
- "All SQL"   — the entire editor content

Each candidate is highlighted as a preview decoration in the editor as
the user navigates the picker with arrow keys. Only a single entry is
shown when the cursor statement equals the full document.

前端 SQL 范围解析器 (sqlStatementRanges.ts) 按分号拆分语句,同时跳过
字符串、引号标识符、注释和美元引用体中的分隔符,与后端 dbx-core splitter
逻辑一致。选取器支持键盘导航、鼠标悬停高亮、Enter 确认、Esc/失焦取消。

Changes:
- sqlExecutionTarget.ts: add SqlExecutionCandidate, SqlExecutionOverride types
- sqlStatementRanges.ts: frontend SQL tokeniser (new, 848 lines)
- SqlExecutionTargetPicker.vue: accessible floating listbox (new, 109 lines)
- QueryEditor.vue: preview StateEffect/StateField; requestExecute() replaces
  executeCurrentSql() to route through picker
- ContentArea.vue: expose requestQueryEditorExecute() to parent
- App.vue: toolbar + global shortcut → requestActiveEditorExecute()
- i18n: editor.executionPicker keys for all locales
- tests: 26 new unit tests for sqlStatementRanges (all 1121 tests pass)
2026-06-20 22:28:02 +08:00
林剑凛 41edb3da91 feat(mongo): add database and collection deletion 2026-06-20 22:22:04 +08:00
funnytime d1fb9b8445 feat(history): add execution time range filter 2026-06-20 22:14:15 +08:00
hb 0720a86d25 feat(grid): copy column names and selection with headers 2026-06-20 22:13:00 +08:00
t8y2 9298a0cc93 fix(linux): keep native window decorations 2026-06-20 22:11:23 +08:00
ptma 5bc168f20c fix(postgres): strip length from fixed-size types and fix SQL library UX issues
* fix(postgre): Fix the data type syntax when creating tables in PostgreSQL

* fix(ui): Save the state when closing the SQL library through the close button
2026-06-20 22:10:26 +08:00
林剑凛 9d329920b9 feat(grid): add drag-and-drop column reordering with persistence
* feat: support data grid column reordering

* fix: improve column visibility footer layout
2026-06-20 21:50:59 +08:00
cherlinbest-pixelandcherlin 72f90a064f fix(grid): remove auto-transpose for single-row results
Co-authored-by: cherlin <544026227@qq.com>
2026-06-20 21:48:40 +08:00