Commit Graph
55 Commits
Author SHA1 Message Date
t8y2 410e3bbfcb feat(completion): suggest database qualifiers 2026-06-10 11:08:13 +08:00
t8y2 3a52d961fc fix(completion): avoid table fallback for aliases 2026-06-10 10:51:41 +08:00
t8y2 edba8214b5 feat: show username/password fields for Access database connections 2026-06-10 08:37:18 +08:00
t8y2 426b7911bc fix(editor): preserve sql tab cursor state 2026-06-09 18:18:18 +08:00
t8y2 80531c8765 fix(editor): restore sql viewport across activation 2026-06-09 18:07:10 +08:00
t8y2 e153d88091 fix(editor): preserve sql tab scroll position 2026-06-09 18:04:03 +08:00
t8y2 6a14b11efc fix(mongodb): skip SQL semantic diagnostics for MongoDB connections
MongoDB shell syntax like db.collection.find({}) was incorrectly
parsed as SQL, causing a "sql parser error" diagnostic in the editor.
Added MongoDB guards in shouldRunSqlSemanticDiagnostics and
refreshSemanticDiagnostics, matching existing Elasticsearch logic.

Also fix a pre-existing TiDB cloud URL param ordering test failure.
2026-06-09 16:20:50 +08:00
SuLea-IT 5138c1a702 Add configurable SQL formatter settings (#908)
Thanks!
2026-06-09 12:05:17 +08:00
t8y2 41c696ef22 perf(editor): optimize sql completion metadata lookup 2026-06-09 11:09:12 +08:00
Yong Studt 2628fb8374 feat(elasticsearch): add SQL-model execution with mapping-aware completion
- Route SELECT * FROM <index> through /_search for simple browses; aggregates/projections stay on /_sql
- Drive completion columns from /_mapping (flattened dotted fields, multi-fields)
- Switch editor completion to SQL when the active statement starts with SELECT/WITH on ES
- Skip generic SQL semantic diagnostics for ES (hyphenated wildcard indices caused 500s)
- Wire ES into server-side pagination plan; derive completion context from line blocks
- Fix result-grid pagination exceeding in-memory result sets (allRowsLoaded)
2026-06-08 17:53:05 +08:00
t8y2 4a64240e8a feat: highlight selected SQL matches 2026-06-07 17:43:11 +08:00
t8y2 15b792a424 fix(editor): improve selection rendering 2026-06-07 14:23:18 +08:00
polempandSam a067ee8d76 feat: custom theme system with PostgreSQL PL/pgSQL highlighting fix
- Fix PostgreSQL function highlighting by disabling doubleDollarQuotedStrings
  in extended PostgreSQL dialect, enabling PL/pgSQL syntax highlighting
  inside $ blocks
- Add complete custom editor theme system with multi-theme management
  (create, rename, duplicate, delete), visual color editor (12 colors),
  JSON import/export, real-time preview, and 12 preset color schemes
- Add background/foreground color customization with system theme defaults
- Optimize EditorSettingsDialog layout: 2-column grid with font selector
  taking available space and theme dropdown grouped with custom theme button
- Add i18n support for custom theme UI (en, zh-CN, zh-TW, es)
- Fix Tauri production build by adding custom-protocol feature
- Update .gitignore for temporary build artifacts

Closes t8y2#788

Co-authored-by: Sam <14344444@@qq.com>
2026-06-06 20:59:21 +08:00
t8y2 9935f8e7fe fix: improve iris schema metadata completion 2026-06-04 15:09:56 +08:00
t8y2 085a2f3870 feat(completion): add database-specific suggestions 2026-06-03 20:47:17 +08:00
t8y2 967b9df604 feat(editor): show column comments in SQL completions 2026-06-03 14:05:30 +08:00
t8y2 4690fd8b81 feat: add elasticsearch command completion 2026-06-03 14:00:52 +08:00
t8y2 e67894bea7 chore: upgrade frontend tooling and speed up checks 2026-06-03 12:20:27 +08:00
t8y2 cc74fabad7 feat(completion): suggest database routines 2026-06-03 11:27:31 +08:00
t8y2 3c93554630 feat(editor): select sql line from gutter 2026-06-03 01:49:35 +08:00
t8y2 b0856e51bc perf(app): pause cached tab background work 2026-06-02 23:41:11 +08:00
t8y2 a54c8cfd93 feat(sql): suggest join conditions from foreign keys 2026-06-02 18:08:06 +08:00
t8y2 41e97baa6e fix(desktop): scope SQL alias completions to columns 2026-06-01 19:31:49 +08:00
t8y2 e515933ab3 fix(sql): quote postgres completion identifiers 2026-06-01 17:13:42 +08:00
t8y2 8e04889745 fix(editor): insert dragged table references 2026-05-30 09:46:59 +08:00
t8y2 879da4b86f fix(editor): make table drag payload reliable 2026-05-30 09:42:12 +08:00
t8y2 eb9030b9ef fix(editor): allow dropped table references 2026-05-30 09:37:13 +08:00
t8y2 e324f35f28 feat(editor): support dragging tables into queries 2026-05-30 09:31:07 +08:00
t8y2 1d2fec4aee perf(editor): optimize SQL autocomplete responsiveness
- Add 150ms debounce on async completion path to reduce redundant Tauri IPC calls during rapid typing
- Parallelize schema table fetching with max concurrency of 5
- Separate schema list cache from table completion cache for longer-lived reuse
- Return keyword completions synchronously when no backend data is needed
- Lower snippet base boost for label-only matches so keywords rank above snippets when user types past snippet prefix
2026-05-28 23:31:31 +08:00
t8y2 025b465bf1 fix(editor): preserve scroll position after SQL execution
After DDL/DML execution via the danger confirmation dialog, the editor
scrolls to the top, making it hard to locate the executed statement.
Fix by scrolling the cursor back into view after execution completes,
using nextTick + requestAnimationFrame to wait for Splitpanes layout
stabilization.
2026-05-28 21:36:29 +08:00
t8y2 4de788ada2 fix(ci): align desktop tests with zoom changes 2026-05-28 17:51:36 +08:00
t8y2 f7f5758c85 feat(desktop): add global UI zoom settings and shortcuts 2026-05-28 17:43:06 +08:00
t8y2 cdadbc19f1 fix: replace reka-ui context menu with lightweight custom component to fix editor lag
The reka-ui ContextMenu component caused significant performance
degradation when multiple editor tabs were cached via KeepAlive,
due to its heavy state machine, provide/inject chain, and document-level
event listeners accumulating across cached instances.

Replaced with a minimal CustomContextMenu that renders via Teleport
without any DOM wrapping or reka-ui dependency, eliminating the lag
while preserving the same visual appearance and functionality.
2026-05-28 12:50:57 +08:00
t8y2 bd78436ab1 feat: add query editor context menu 2026-05-28 00:29:02 +08:00
t8y2 ac4313afee fix(sqlserver): avoid false unknown column diagnostics 2026-05-27 23:07:47 +08:00
t8y2 915728ebec fix(editor): refresh SQL snippet completion after settings changes 2026-05-27 17:46:16 +08:00
t8y2 68c8a5cc7b fix: fix value editor scrolling and add selection highlight
- Fix value editor not scrollable when content exceeds container
  (overflow-hidden -> overflow-auto)
- Extract vscodeSelectionLayer from QueryEditor into shared module
  and apply to value editor for consistent selection highlighting
2026-05-27 16:05:30 +08:00
t8y2 84e2093b82 fix(hana): allow empty database context 2026-05-27 15:53:05 +08:00
t8y2 5c47885a88 fix(editor): fix Cmd+Enter not executing SQL and Enter adding unwanted indent
- Move executeSql and saveSql keybindings to Prec.high to override
  defaultKeymap's Mod-Enter (insertBlankLine) and ensure Cmd+Enter
  executes the current query on macOS
- Override Enter key with insertNewlineKeepIndent instead of
  insertNewlineAndIndent to prevent unwanted continuedIndent from
  SQL language mode when breaking lines
2026-05-27 14:59:07 +08:00
t8y2 20fcea82b4 feat: extract EditorSearchPanel into reusable component
Move search/replace panel from QueryEditor into EditorSearchPanel.vue,
and use it in both QueryEditor and cell detail editor via programmatic
mounting. Removes dependency on CodeMirror's built-in search panel in
the cell detail editor, giving it the same custom search UI.
2026-05-27 12:14:38 +08:00
t8y2 22e8fece1c feat: add query editor replace shortcut 2026-05-27 10:50:54 +08:00
t8y2 94487384e1 feat: add shortcut for accepting completion and update related functionality 2026-05-26 16:59:22 +08:00
t8y2 6107778358 feat: support customizable SQL snippet templates with custom trigger keys
Users can now create, edit, and delete SQL snippet templates from the settings dialog (new "Snippets" tab). Each template has a label, trigger prefix, and SQL body. Built-in defaults are modifiable and can be restored. Templates persist across sessions via the existing settings storage.
2026-05-25 01:43:09 +08:00
t8y2 ae49d87166 fix: sync gutter element heights during editor font size zoom
CSS variable changes alone don't trigger CodeMirror's measure cycle, so
gutter element heights would diverge from content line heights. The fix
reconfigures the font theme compartment (throttled to once per rAF) to
force a proper state transition → measure → syncGutters path.

Also adds missing fontFamily on .cm-gutters and i18n for "Follow app theme".
2026-05-25 00:23:44 +08:00
t8y2 24c334ef61 feat(i18n): add completion and search translations, remove hardcoded Chinese strings
- Add editor.completion (46 keys) and editor.search (10 keys) i18n sections
  across zh-CN, en, es locales, including 38 SQL function descriptions
- Create SqlCompletionTranslations interface in sqlCompletion.ts, pass via
  buildSqlCompletionItems/buildSqlCompletionItemsFromContext parameters
- Replace static FUNCTION_DESCRIPTIONS Map with getFunctionDescriptions(t?)
- Replace 11 hardcoded search toolbar strings in QueryEditor.vue with t()
- Fix YashanDB product label in connectionUrl.ts
2026-05-23 15:47:18 +08:00
t8y2 c7fa74f90c feat(sql): progressive autocomplete enhancements — fuzzy matching, type-aware hints, and more
- Fuzzy matching with character-order scoring (typo/abbreviation tolerant)
- Context-aware keyword filtering (DDL hidden in SELECT, etc.)
- CTE/subquery column resolution from parsed definitions
- INSERT column list completion
- Schema name completion
- Smart GROUP BY non-aggregated column suggestions
- Better FK join inference (shared FK, parent_id, created_by patterns)
- Table alias suggestions
- SELECT * expansion to explicit column list
- Type-aware comparison value hints (string/numeric/boolean/NULL)
- Function signature inline documentation (30+ functions)
- History-based learning ranking via recordCompletionSelection()
- Epoch-based request debouncing in QueryEditor.vue
- Irregular plural handling for singular table names
- Quoted identifier parsing for dots in names
2026-05-23 15:31:05 +08:00
t8y2 cd5d1b928d feat(grid): add configurable keyboard shortcuts for copy and delete current row 2026-05-23 12:44:49 +08:00
t8y2 e62ad97bcd feat(editor): enhance SQL completion icons and styles 2026-05-23 12:33:14 +08:00
t8y2 ac32914797 fix(editor): refine completion popup styling 2026-05-22 16:53:53 +08:00
t8y2 0e189ba0cc feat(editor): add SQL semantic diagnostics 2026-05-22 14:22:58 +08:00