Commit Graph
136 Commits
Author SHA1 Message Date
t8y2 6a3e8067e1 feat(transfer): add upsert mode for data transfer (#105)
Add a third transfer mode that inserts new rows and updates existing
rows based on primary key, supporting PostgreSQL, MySQL, SQLite,
SQL Server, Oracle, and DuckDB with database-specific upsert syntax.
Also fixes DuckDB primary key detection in transfer operations.
2026-05-06 20:44:05 +08:00
t8y2 569cb26261 feat(grid): show column type and comment in tooltip instead of inline
Move the column type annotation from inline display (#type) to a hover
tooltip on the header cell. The tooltip shows the column type with color
and comment (if present), matching the tab tooltip style.
2026-05-06 19:50:41 +08:00
t8y2 ecdc86a478 feat(connection): add file picker for SQLite/DuckDB and fix default host (#121)
Add a browse button next to the file path input for SQLite and DuckDB
connections, allowing users to select database files via system dialog
instead of manually typing paths. Clear the default host value when
switching to file-based database types.
2026-05-06 18:51:53 +08:00
skyler 133690bca7 Merge pull request #116 from SuLea-IT/codex/issue-110-mongodb-legacy
feat: add MongoDB form URL parameters
2026-05-06 18:29:14 +08:00
t8y2 b6a39c1fa0 feat(query): set schema context (search_path) before query execution (#113)
Add schema selector to the editor toolbar for schema-aware databases
(PostgreSQL, SQL Server, Oracle). When a schema is selected, the backend
sets the appropriate search_path before executing queries so users no
longer need to write schema-qualified table names.
2026-05-06 18:22:41 +08:00
t8y2 e315c4ad36 feat(oracle): add SYSDBA authentication support
Switch oracle-rs to t8y2/oracle-rs fork with SYSDBA support.
Add sysdba field to ConnectionConfig and a checkbox in the
Oracle connection dialog to enable connecting as SYS with
SYSDBA privileges.
2026-05-06 13:23:56 +08:00
SuLea-IT 8c1a75d3d5 fix: improve mongodb legacy connection params 2026-05-06 13:10:46 +08:00
t8y2 746a4c491a fix(grid): display JSONB values as JSON string instead of [object Object]
Closes #100
2026-05-06 12:10:33 +08:00
t8y2 0aa562f6ee fix: replace crypto.randomUUID with polyfill for HTTP contexts
crypto.randomUUID() is only available in secure contexts (HTTPS/localhost).
Add uuid() utility with fallback for HTTP deployments.
2026-05-05 23:51:07 +08:00
t8y2 0f40488bf1 feat(web): add password setup page, change password, and settings tabs
- First-time visitors see a password setup page instead of open access
- Password persisted to SQLite (env var DBX_PASSWORD takes priority)
- Add change password in settings dialog (Security tab, web only)
- Split settings dialog into Editor and Security tabs
- Argon2 hashing for all password storage
2026-05-05 22:22:04 +08:00
skyler 6918903cad Merge pull request #95 from wu-clan/optimize-conn-error
feat: optimize connection error alerts
2026-05-05 17:35:03 +08:00
t8y2 025b676b0b feat(AppTabBar): improve tab scrolling behavior and enhance tab styling 2026-05-05 17:34:18 +08:00
Wu Clan 5242cbb3c6 fix: lint 2026-05-05 17:10:07 +08:00
Wu Clan cc70e4b59c feat: optimize connection error alerts 2026-05-05 17:07:58 +08:00
t8y2 7a71c4866d feat(ContentArea): enhance tab display with improved styling for table name and database info 2026-05-05 16:55:14 +08:00
t8y2 4cef22904b feat(chart): add chart functionality with ECharts integration and update output view options 2026-05-05 16:53:26 +08:00
t8y2 3acd9280ac chore: add oxfmt + husky + lint-staged for code formatting and CI format checks 2026-05-05 15:41:34 +08:00
t8y2 c295bf5780 feat(sql): add save/open SQL file buttons and enable tab persistence on desktop 2026-05-05 15:18:54 +08:00
t8y2 10d1d31053 Refactor code structure for improved readability and maintainability 2026-05-05 13:21:04 +08:00
t8y2 6beae4e139 feat: add Docker update instructions for non-desktop users in UpdateDialog 2026-05-05 12:01:56 +08:00
t8y2 e76b836eb4 feat: refactor database loading logic and update database options handling 2026-05-05 05:13:55 +08:00
t8y2 bdd8b3fa03 refactor: split App.vue into composables and layout components
Extract 11 composables and 5 layout components from App.vue, reducing it
from 1921 to 327 lines. Unify dialog overlay style across DialogContent
and DialogScrollContent for consistent backdrop appearance.
2026-05-05 04:14:00 +08:00
t8y2 41bceffc0e feat: add web deployment with axum server, Docker support, and browser UI
Introduce src-web (axum HTTP server) exposing all 43 database operations
as REST APIs with SSE streaming for AI, transfers, and SQL file execution.
Frontend adapts automatically between Tauri and HTTP backends via api.ts.
Includes password authentication, Docker packaging, and login page.
2026-05-05 03:16:50 +08:00
t8y2 50f55bd6dc feat: enhance connection selection UI with database icons 2026-05-04 23:51:33 +08:00
t8y2 790791f946 feat: add execute mode settings and cursor position handling in SQL editor 2026-05-04 21:19:07 +08:00
Wu Clan 14d23a5824 feat: refactor the new connection dialog 2026-05-04 17:11:13 +08:00
t8y2 bc7f521604 feat: add connection group management and sidebar layout persistence 2026-05-04 13:52:42 +08:00
skyler 1818cd3b78 Merge pull request #78 from SuLea-IT/codex/issue-76-database-search
[codex] Add database-wide search
2026-05-04 12:05:37 +08:00
SuLea-IT 5534b13fde feat: add database-wide search 2026-05-04 12:01:19 +08:00
SuLea-IT 8bd1d4c2a8 feat: improve connection and table tree UX 2026-05-04 11:49:28 +08:00
t8y2 33cb298a8d feat: disable autocorrect and spellcheck for input fields across components 2026-05-04 02:55:19 +08:00
t8y2 71c7ae08c8 feat: add type filtering functionality and update translations for filter options 2026-05-04 02:55:19 +08:00
yavon007 2bd7d1be1a fix: use AcceptableValue type for Select update handler
The Select component's @update:model-value callback expects
AcceptableValue (string | number | null), not string.
2026-05-03 20:44:29 +08:00
yavon007 a59494e4c4 fix: guard index column splits, restrict INCLUDE/WHERE by db, unify index type dropdowns
- Filter empty strings from STRING_AGG/LISTAGG splits in SQL Server, Oracle, MySQL
- Emit INCLUDE clause only for PostgreSQL and SQL Server (not MySQL/SQLite)
- Emit WHERE clause only for PostgreSQL, SQL Server, SQLite (not MySQL)
- Replace index type free-text input with dropdown for all 5 database types
- Fix hardcoded column count in resize handle (use indexColLabels.length - 1)
- Fix pg_get_indexdef type mismatch: cast k.n from bigint to integer
2026-05-03 20:33:09 +08:00
yavon007 51dfba9829 feat: improve index editor with dropdowns, resizable columns, and search
- Replace text inputs with dropdown menus for index and included column selection
- Add search/filter support in column dropdowns for large column lists
- Highlight selected items with background color for easy toggling
- Add resizable column widths via drag handles on table headers
- Add index type, included columns, filter, and comment columns to index table
2026-05-03 20:10:35 +08:00
t8y2 58d6acb2b1 feat: add DM (Dameng) database support and compatibility hint 2026-05-03 12:56:25 +08:00
t8y2 a66cffb692 feat: add configuration export/import with passphrase encryption 2026-05-03 12:46:49 +08:00
skyler 1b8d56a43b Merge pull request #65 from SuLea-IT/codex/field-lineage
[codex] Add field lineage viewer and review fixes
2026-05-03 11:18:36 +08:00
SuLea-IT 4d6cd5351c fix: address lineage review feedback 2026-05-03 06:02:39 +08:00
SuLea-IT 5a37f584aa feat: add field lineage viewer 2026-05-03 05:39:05 +08:00
yavon007 83f5e34cea feat: add autocomplete to DataGrid search input
- Show WHERE keyword suggestion when typing 'w'/'wh' at the start
- Auto-complete column names from current table after WHERE clause
- Dropdown follows cursor position dynamically
- Tab or mouse click to accept suggestion, Enter for WHERE search
- Smart quote/parenthesis pairing: ', ", ( auto-close with cursor centered
- Skip over existing closing character instead of duplicating
- Arrow keys navigate suggestions, Escape dismisses
2026-05-03 04:39:14 +08:00
yavon007 58ca9a3b21 feat: add SSH key passphrase field and file picker for key path
- Add ssh_key_passphrase field to ConnectionConfig model with full keyring lifecycle
- Pass passphrase to russh load_secret_key for encrypted SSH keys
- Add native file picker (FolderOpen icon) next to SSH key path input
- Add password-type input for key passphrase in connection dialog
- Make connection dialog form scrollable for short windows
- Fix alignment of key path input and browse button
- Add i18n keys (en + zh-CN)
2026-05-03 04:39:03 +08:00
skyler fb2982500e Merge pull request #62 from rarnu/fix/ai-chat-api
fix: 大模型配置中的API选项边框
2026-05-02 21:56:12 +08:00
rarnu 1dbe49cafb fix: AI大模型配置,选择的API不明显,添加蓝色的边框来更明确的指出 2026-05-02 21:26:46 +08:00
SuLea-IT d180539778 feat: add explain plan viewer 2026-05-02 21:00:53 +08:00
t8y2 eab5556b6f feat: enhance AI streaming with reasoning support and UI updates 2026-05-02 20:43:49 +08:00
SuLea-IT f09d1b0973 feat: add table structure editor 2026-05-02 19:40:40 +08:00
SuLea-IT 2ebd72b3b7 feat: import table data from files 2026-05-02 19:04:41 +08:00
rarnu bbe32b9376 Merge branch 'main' into feat/sql-editor-settings 2026-05-02 17:23:33 +08:00
rarnu 4d2c34ecb1 add: 将loadTheme抽象到外部模块,使用DEFAULT_EDITOR_SETTINGS默认值,增加老的配置项迁移 2026-05-02 17:19:34 +08:00