Commit Graph

8338 Commits

Author SHA1 Message Date
Matthew Rathbone
2ab12592ff mise update with correct version 2026-02-25 14:34:09 -06:00
Matthew Rathbone
25f5c9d398 refactor: use pluralize library for folder deletion error messages
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 13:54:47 -06:00
Matthew Rathbone
e4e6149b33 test: add @BeforeRemove guards and unit tests for folder models
Add entity-level deletion guards to QueryFolder and ConnectionFolder:
if a folder still has queries/connections, .remove() throws a
descriptive error before touching the database. This mirrors the
cloud API behaviour where non-empty folders cannot be deleted.

Unit tests (18 total, 9 per model) cover:
- Basic save/retrieve
- Deletion blocked when folder contains items (checks error message,
  count wording, singular vs plural)
- Deletion succeeds when folder is empty
- Deletion succeeds after items are moved out (items survive)
- Parent folder relationship is persisted correctly
- Deleting a parent folder (no direct items) succeeds and sets
  child folder parentId to NULL via DB-level SET NULL

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 13:20:19 -06:00
Matthew Rathbone
dc2d938e03 fix: address PR review comments for folder support
- Add @ManyToOne/@JoinColumn FK relationships for parentId in
  QueryFolder and ConnectionFolder (self-referential)
- Add @OneToMany queries/connections to QueryFolder/ConnectionFolder
- Add @ManyToOne/@JoinColumn to FavoriteQuery.queryFolder and
  SavedConnection.connectionFolder
- Add explicit FK constraints (REFERENCES ... ON DELETE SET NULL)
  to both migration files for parentId and the folder FK columns
- LocalQueryFolderModule/LocalConnectionFolderModule: remove
  isUltimate gate from load() — folders always load; check emptiness
  before remove() and throw a descriptive error if non-empty
- New Folder button always visible; clicking it shows upgrade modal
  for Community users (isUltimate check moved to UI)
- Fix modal input focus: use @opened event instead of $nextTick so
  it fires after animation completes
- deleteFolder now catches store errors and shows them via $noty
- Remove foldersUnsupported/foldersSupported in favour of isUltimate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 11:11:08 -06:00
Matthew Rathbone
d58c166dfb feat: add folder support for saved connections and queries
Adds the ability to organize saved connections and saved queries into
folders. For local workspaces this is an Ultimate-only feature; cloud
workspaces use the existing cloud API with Personal/Team root folders.

- TypeORM entities: ConnectionFolder, QueryFolder (mirrors cloud schema
  including parentId for hierarchy)
- SQLite migrations: create connection_folder/query_folder tables and
  add connectionFolderId/queryFolderId FK columns
- IPC handlers via appdb/connectionFolder/* and appdb/queryFolder/*
- LocalConnectionFolderModule and LocalQueryFolderModule: full CRUD,
  license-gated (unsupported=true for Community users)
- UI: New Folder button, create/rename/delete folder modals with parent
  folder picker (cloud), right-click context menus on folders
- ConnectionListItem and FavoriteListItem: show Move to Folder options
  for local Ultimate users as well as cloud
- Subfolder nesting: child folders render inside their parent folder
  with correct visual indentation (margin-left: 0.8rem)
- Fix: ClientHelpers.res() now accepts any 2xx status (was rejecting
  201 Created from POST endpoints)
- Fix: SearchModule was using f.queryFolderId instead of
  f.connectionFolderId when looking up connection folders

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-24 10:35:42 -06:00
Matthew Rathbone
6cdd64e0ba fix workflow with zfs commands 2026-02-20 08:55:25 -06:00
Day Matchullis
d3c9daa142 Merge pull request #3890 from beekeeper-studio/rc-56
Rc 56
2026-02-19 15:11:53 -07:00
Day Matchullis
89c5469c22 Merge pull request #3892 from beekeeper-studio/fix/plugin-view-mount-err
Catch uncaught error during iframe mount
2026-02-19 11:57:05 -07:00
Mohammad Azmi
132168da0f note 2026-02-19 18:01:14 +07:00
Mohammad Azmi
0a0976b1cb remove unused prop 2026-02-19 17:58:18 +07:00
Mohammad Azmi
6085ea1c1b remove reload plugin view 2026-02-19 17:57:39 +07:00
Mohammad Azmi
4e7deb5d04 remove "[DEV] reload plugin view"
1. it doesn't work lol
2. please use vite with its hot reload feature instead
2026-02-19 17:53:50 +07:00
Mohammad Azmi
f5888186cb move url creation to plugin view component 2026-02-19 17:50:02 +07:00
Mohammad Azmi
971bda828b catch uncaught error during iframe mount 2026-02-19 17:36:56 +07:00
Day Matchullis
d559891dd1 chore: bump version to 5.6.0-beta.3 v5.6.0-beta.3 2026-02-18 20:15:06 -07:00
Day Matchullis
3389015993 Merge pull request #3857 from beekeeper-studio/docs/aur-packages
add docs for aur packages
2026-02-18 20:12:42 -07:00
Day Matchullis
19925bc2a8 Merge pull request #3882 from beekeeper-studio/feat/tabulator-history
Support table view history (Undo/Redo)
2026-02-18 20:11:38 -07:00
Day Matchullis
0e07727ffd update config metadata 2026-02-18 20:11:21 -07:00
Day Matchullis
bf35a137d8 Merge branch 'rc-56' into feat/tabulator-history 2026-02-18 20:10:45 -07:00
Mohammad Azmi
92acb4043c add tabulator as keybinding target 2026-02-19 10:05:57 +07:00
Day Matchullis
d31e5e50bd Merge pull request #3881 from beekeeper-studio/fix/result-truncation
Move truncation logic for results to the backend
2026-02-18 19:53:39 -07:00
Day Matchullis
ecbc0471ad remove stale comment 2026-02-18 19:53:25 -07:00
Day Matchullis
43b5f03fad Merge pull request #3883 from beekeeper-studio/fix/duckdb-exports
Fix duckdb exports
2026-02-18 19:52:33 -07:00
Day Matchullis
76f2bef062 use pre-existing bigint helper 2026-02-18 19:52:09 -07:00
Day Matchullis
c9ca15f32c add missing metadata for force close tab keybind 2026-02-18 19:42:09 -07:00
Mohammad Azmi
1a017734a4 remove unused methods 2026-02-19 09:05:48 +07:00
Mohammad Azmi
8e9993b1b5 Merge branch 'rc-56' into feat/tabulator-history 2026-02-19 09:03:28 +07:00
Mohammad Azmi
6bc8dcf32c Merge pull request #3624 from dustin-jones/feat/adjustable-query-font-size
feat: allow query editor window font size to be customized
2026-02-19 09:00:28 +07:00
Mohammad Azmi
6d865aab44 forward client actions to native 2026-02-19 08:57:50 +07:00
Mohammad Azmi
41c805272a rename css vars for consistency 2026-02-19 08:49:12 +07:00
Mohammad Azmi
8cff143d1a support separator for client menus 2026-02-19 08:48:55 +07:00
Mohammad Azmi
a9287679b5 Merge branch 'rc-56' into feat/adjustable-query-font-size 2026-02-19 07:53:07 +07:00
Day Matchullis
41d15f585d Merge pull request #3789 from beekeeper-studio/fix/redshift-table-indexes
fix table indexes for redshift
2026-02-18 15:24:37 -07:00
Day Matchullis
bcca1a6dd9 Merge pull request #3864 from beekeeper-studio/feat/keyboard-shortcuts-modal
Keyboard shortcuts modal
2026-02-18 15:18:01 -07:00
Day Matchullis
6ce79ce4d3 Merge pull request #3855 from beekeeper-studio/claude/issue-3854-20260206-1910
feat: add configuration option to disable automatic update checks
2026-02-18 13:57:15 -07:00
Day Matchullis
e159aa83a9 Merge pull request #3833 from pvlvld/fix-close-tab-modal-queuing
FIX: multiple tab closing modal queuing
2026-02-18 13:26:05 -07:00
Day Matchullis
98f43d6751 Merge pull request #3834 from pvlvld/feat-force-close-query-tab
FEAT: Force close for query tabs
2026-02-18 13:24:10 -07:00
Day Matchullis
2795e73c27 remove redundant void 2026-02-18 13:23:20 -07:00
claude[bot]
7e285d18de remove redundant guard check from checkForUpdates()
The guard check in checkForUpdates() is redundant since manageUpdates()
already performs the same check before calling checkForUpdates().

Co-authored-by: Day Matchullis <not-night-but@users.noreply.github.com>
2026-02-18 20:17:31 +00:00
Day Matchullis
c422ccc1ec Merge branch 'rc-56' into claude/issue-3854-20260206-1910 2026-02-18 13:04:49 -07:00
Day Matchullis
1887d5b771 Merge branch 'rc-56' into fix-close-tab-modal-queuing 2026-02-18 13:02:28 -07:00
Day Matchullis
16be130116 Merge branch 'rc-56' into feat-force-close-query-tab 2026-02-18 13:01:01 -07:00
Day Matchullis
2ae237410b Merge pull request #3750 from smallbenji/fix/trust-from-url
FIX: Trust Server Certificate from URL
2026-02-18 12:52:58 -07:00
Day Matchullis
3b966fe123 Merge branch 'rc-56' into fix/duckdb-exports 2026-02-18 12:45:18 -07:00
Day Matchullis
81b7282745 Merge branch 'rc-56' into fix/redshift-table-indexes 2026-02-18 12:44:29 -07:00
Day Matchullis
026b8ea78c Merge branch 'rc-55' into fix/redshift-table-indexes 2026-02-18 12:44:00 -07:00
Day Matchullis
e4a128bf53 Merge pull request #3425 from beekeeper-studio/fix/clickhouse-export-query
Fix clickhouse query export
2026-02-18 12:43:38 -07:00
Matthew Rathbone
4f1ef507e8 Merge pull request #3884 from beekeeper-studio/fix/surreal-tests
fix surrealdb tests
2026-02-18 10:25:53 -06:00
Matthew Rathbone
f9217f7d85 Merge pull request #3889 from beekeeper-studio/rc-55
Rc 55
2026-02-18 10:24:02 -06:00
Matthew Rathbone
98d7d4a88d Merge pull request #3888 from beekeeper-studio/rc-56
Rc 56
2026-02-18 10:23:36 -06:00