Commit Graph
132 Commits
Author SHA1 Message Date
Abeautifulsnow 52d5c99a92 fix(ai): improve API retry handling 2026-07-29 16:16:39 +08:00
skyler ed6192842d revert(data-grid): remove configurable default sorting 2026-07-29 08:30:53 +08:00
二丫讲梵 2e5b439c8a feat(data-grid): add configurable default sorting 2026-07-29 04:46:46 +08:00
Guoyu Su de44fddf29 feat(ai): add Pi Coding Agent provider 2026-07-29 02:10:06 +08:00
Guoyu Su c7e7b7c9d9 feat(ai): unify model discovery and effort handling 2026-07-28 21:37:55 +08:00
t8y2 054702e223 fix(ai): trim API keys before authentication 2026-07-28 13:19:04 +08:00
gggaiitx e2b35944ce feat(grid): right-align numeric result columns 2026-07-27 18:54:54 +08:00
soddygo 0b7a886cfd feat(data-grid): add multi-format copy extractors 2026-07-27 16:11:53 +08:00
zhangyc 7f20b03177 feat(editor): retain multiple query result runs 2026-07-27 15:06:28 +08:00
t8y2 931cff48c0 fix(editor): improve SQL completion insertion 2026-07-26 13:10:31 +08:00
二丫讲梵 0ad8e4a326 feat(editor): auto-transpose single-row query results 2026-07-24 10:02:45 +08:00
zipg c6135d6bb2 fix(grid): persist table info tab preference 2026-07-23 19:03:14 +08:00
zipg 9f42f478bf feat(sidebar): add right-aligned comment display 2026-07-23 18:34:44 +08:00
zipg 57f2d27313 feat(sidebar): add configurable object metadata display 2026-07-23 00:23:19 +08:00
终焉之时 5d1a6e63cd feat(grid): add table font shortcuts 2026-07-22 22:20:42 +08:00
t8y2 ae7c368c4a feat(grid): support custom result grid font 2026-07-22 19:10:23 +08:00
t8y2 d4c28c5a9a feat(sidebar): add exclusive right panel setting 2026-07-21 21:56:24 +08:00
zhangyc 4b2a6c971a feat(sidebar): add connection list sorting 2026-07-21 16:57:35 +08:00
二丫讲梵 d642d01eac feat(mcp): centralize connection access policies 2026-07-20 22:47:40 +08:00
zipg 1d1959c579 fix(sql): default execution to current statement 2026-07-20 17:32:27 +08:00
二丫讲梵 cdbe0079e7 feat(settings): configure table open page size 2026-07-20 14:05:40 +08:00
t8y2 4cc14f5f72 feat(updater): remove AtomGit download source 2026-07-18 12:23:16 +08:00
二丫讲梵 fec458dc2d feat(ai): allow empty API keys for self-hosted providers 2026-07-17 23:56:33 +08:00
Abeautifulsnow c417e54698 fix(ai): preserve last-used model during app session 2026-07-17 18:14:49 +08:00
二丫讲梵 1e1d424164 feat(settings): persist grid display preferences 2026-07-17 15:29:57 +08:00
Guoyu Su d3947d246c feat(ai): add Claude Code CLI provider 2026-07-17 01:17:06 +08:00
gggaiitx 916aad66bf feat(tabs): add multi-row tab layout option 2026-07-17 00:11:47 +08:00
CSXFanMeng f08a0b7f7f feat(backup): add scheduled database backups 2026-07-16 18:49:15 +08:00
lexmin0412 dd3a2e30a4 feat(ai): support multiple configurations and models 2026-07-16 17:59:40 +08:00
zipg 0a1efdcb85 feat(settings): add global date and time formats 2026-07-16 14:49:28 +08:00
gggaiitx e9e59113a3 fix(query): continue batch after statement errors 2026-07-14 12:51:24 +08:00
zipg 16724074c0 feat(grid): improve cell detail panel 2026-07-13 17:16:38 +08:00
Abeautifulsnow 9e1b0c478e feat(editor): prefill new queries from focused tables 2026-07-13 16:15:09 +08:00
Freedom 86dad5db9f feat(editor): show column hints for INSERT values 2026-07-13 00:39:36 +08:00
miracle 16e879e40e perf(query): optimize result loading and connection reuse 2026-07-12 11:18:52 +08:00
miracle 1a309b6b63 feat(editor): configure SQL variable syntax 2026-07-11 20:45:07 +08:00
lexmin0412 dd8f4a0f87 fix(ui): deactivate settings when activating tabs 2026-07-11 00:05:05 +08:00
gggaiitx ae4bbe1564 feat(grid): adjust column widths by density 2026-07-10 19:39:28 +08:00
t8y2 3b1a9cb98b feat(grid): allow table font size down to 8 2026-07-10 14:39:21 +08:00
t8y2 1c18a80092 feat(grid): allow table font size down to 10 2026-07-10 14:14:49 +08:00
Abeautifulsnowanddbx-i18n-bot 2c2d9d7fef feat(objects): add checkbox multi-select and grid view for object browser
* feat(objects): add checkbox column toggle for object browser

- Add objectBrowserShowCheckbox setting (default: false) to EditorSettings
- Checkbox column hidden by default; auto-shows when any tables are selected
- Toolbar button toggles multi-select mode (active state highlighted in primary color)
- Clearing the toggle also clears all selections
- Add i18n key objects.toggleCheckbox in en/zh-CN

Closes #2748 (part 2)

* feat(objects): add grid view mode for object browser

- Add objectBrowserViewMode setting (list | grid, default: list) to EditorSettings
- Toolbar segmented control toggles between list and grid views, persisted across sessions
- Grid view renders cards (icon + name + type + row count) in a responsive auto-fill layout
- Reuses existing sort, search, filter, multi-select and context menu
- Partition children not expandable in grid mode (minimal version)
- Add i18n keys objects.viewList/objects.viewGrid across all locales
- Backfill objects.toggleCheckbox in es/it/ja/pt-BR/zh-TW (missed in prior commit)

Refs #2748

* fix(objects): redesign grid view cards for visual polish

- Center-align content (icon + name + metadata) for a proper tile look
- Enlarge type icons (h-7) so color coding is visible at a glance
- Merge type label and row count on one line with separator
- Reduce internal spacing (gap-1.5) and tighten padding
- Replace background hover with border glow + shadow for cleaner feedback
- Narrow min card width (150px) for denser grid, add align-content:start
- Softer rounded-lg corners

Refs #2748

* fix(objects): polish grid view card visual details

- Add colored circle background behind icons (type-matched opacity-10)
- Increase name font from text-xs to text-sm for better legibility
- Separate row count into a primary-tinted badge (only shown when > 0)
- Keep type label clean without mixing row count inline

Refs #2748

* fix(objects): refine grid card min-width, icon shadow, and type label size

* @
feat(object-browser): align tile/grid card metadata with list view columns

Add the metadata categories present in the list view but missing from
the tile/grid card view (objectBrowserViewMode === "grid"):
- Size pill (totalBytes) next to the existing rows pill in the stats row
- Timestamps row showing created_at · updated_at (per-row conditional)
- Comment row (truncated, per-row conditional, with hover tooltip)

Each card now shows: icon, name, type label, rows pill, size pill,
timestamps (when present), and comment (when present) — matching the
same metadata categories the list view displays across its 8 columns.

Also fix a pre-existing bug in the list view where the totalBytes
column tooltip (:title) used formatObjectBrowserCount instead of
formatObjectBrowserBytes, showing a count-formatted number instead
of a byte-formatted size string.
@

* @
feat(object-browser): add sort selector in toolbar for grid/list views

The list view has column header click-to-sort but the grid/tile view
had no way to change sort order. Add a compact sort selector in the
toolbar that works identically in both views:

- Native <select> dropdown with all 7 sort keys (name, type, rows,
  size, created, updated, comment) using existing column i18n labels
- ArrowUp/ArrowDown direction toggle button with localized tooltip
- Positioned between schema selector and view toggle in the toolbar
- Shares the existing sortKey/sortDirection/toggleSort logic — list
  view column headers continue to work as before
- Accessible: aria-label on select, title on direction button

i18n: added sortAsc/sortDesc/sortBy to en.ts and zh-CN.ts
@

* @
fix(object-browser): make sort key options reactive to available data

sortKeyOptions was a static array that always included created_at and
updated_at even when no row had data for those fields. Sorting by an
empty field is a no-op that silently confuses users.

Convert to a computed that mirrors the list view column visibility logic
(hasCreatedAt / hasUpdatedAt): the two time-based sort options only
appear when at least one loaded row has that field populated.

Follows design decision: sort selector remains visible in both list and
grid views (plan B), acting as a shared sort state indicator.
@

* @
fix(object-browser): reset sortKey when selected option disappears from options

When sortKeyOptions loses created_at or updated_at (e.g. after a schema
switch clears all rows), sortKey could remain set to a key no longer in
the dropdown, causing the <select> to show a blank selection.

Add a watch on sortKeyOptions that resets sortKey to "name" and
sortDirection to "asc" whenever the current key is no longer present.
@

* chore(i18n): autofill new translations

* perf(object-browser): virtualize tile/grid view with RecycleScroller

Replaces the flat v-for over filteredRows with a row-chunked
RecycleScroller, matching the list view. Previously, switching to tile
mode on a schema with thousands of tables mounted every card and its
CustomContextMenu at once, stalling the UI for several seconds.

Changes:
- gridRows computed: chunks filteredRows into rows of gridColumns cards
- ResizeObserver on the grid container drives gridColumns; initial read
  uses getComputedStyle to match contentRect.width and avoid a 1-frame
  column jump on mount
- objectGridRowHeight computed: item-size adapts to whether the dataset
  has timestamp/comment rows, minimising wasted row space
- watch(gridContainerRef) re-attaches the observer across list<->grid
  toggles; onBeforeUnmount cleans up
- scrollObjectsToTop() resets scroll position on sort, search,
  object-type filter and view-mode changes
- CSS: new .object-browser-grid-wrapper / -scroller / -row classes with
  will-change / contain parity with the list scroller

---------

Co-authored-by: dbx-i18n-bot <github-actions[bot]@users.noreply.github.com>
2026-07-09 11:59:25 +08:00
gggaiitx 2f134585ea feat(editor): add auto close brackets setting 2026-07-09 09:53:01 +08:00
t8y2 3d935f7eb6 feat(editor): 默认字体改用 Fira Code 优先回退链 2026-07-07 18:53:19 +08:00
LRcodingandzero f41c7dd6a0 fix(toolbar): sync SQL file tree visibility setting
Co-authored-by: zero <zero@zeroMacmini.local>
2026-07-07 13:18:42 +08:00
t8y2 65af804099 feat(editor): allow disabling SQL snippets 2026-07-07 12:36:51 +08:00
二丫讲梵 18e5df6f5e feat(query-editor): enhance current statement framing 2026-07-06 23:09:21 +08:00
二丫讲梵 6d0a59a913 feat(editor): SQL editor execution button config toggle & optimization
- 在 SQL 编辑器的左侧添加每条语句的执行按钮
- 支持通过快捷键和右键菜单执行语句
- 增加多语言支持的相关文本描述
2026-07-06 18:01:31 +08:00
二丫讲梵 35d5e90378 feat(settings): improve sidebar search
- 新增设置选项以启用/禁用数据库内的表搜索
- 更新相关组件以支持表搜索功能
- 添加多语言支持的描述信息
2026-07-06 17:24:56 +08:00
miracle 4afc3297e1 feat(duckdb): add worker concurrency setting 2026-07-06 00:13:11 +08:00
t8y2 6b13564180 fix(desktop): persist UI state asynchronously 2026-07-05 02:22:13 +08:00