Commit Graph

5508 Commits

Author SHA1 Message Date
Matthew Rathbone
763588a9b1 Merge branch 'master' into ci/cache-node-modules 2026-03-11 13:02:22 -05:00
dependabot[bot]
779cb08976 chore(deps): bump dompurify from 3.2.4 to 3.3.2
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.2.4 to 3.3.2.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/3.2.4...3.3.2)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-version: 3.3.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 22:14:44 +00:00
Day Matchullis
cfc0af8f6c Merge pull request #3915 from beekeeper-studio/fix/component-resolver 2026-03-06 14:47:55 -07:00
Day Matchullis
76bace04ae Merge pull request #3948 from yogasw/master 2026-03-06 14:43:59 -07:00
Matthew Rathbone
fbf1753f2d Merge pull request #3955 from beekeeper-studio/rc-56
Rc 56
2026-03-06 15:38:22 -06:00
Matthew Rathbone
19eafa6c0b fix(e2e): guard afterEach against missing electronApp
When a test or beforeEach fails before electronApp is assigned,
the afterEach would crash trying to call .close() on undefined,
masking the real error. Add a null check in all 9 e2e test files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 15:34:36 -06:00
Matthew Rathbone
dbe3d594a9 refactor: use nginx load balancer for Trino SSL integration tests
Replace direct Trino HTTPS configuration with nginx reverse proxy
for TLS termination, following Trino docs best practices. Add
http-server.process-forwarded=true to Trino config. Remove alpha
warning from TrinoForm.vue.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 14:33:55 -07:00
Matthew Rathbone
1c145aee61 fix: escape user-supplied values in SQL queries (buildSchemaFilter + Trino)
- buildSchemaFilter now uses escapeString() to escape single quotes in
  schema, only, and ignore filter values.
- Trino driver now wraps this.db with wrapIdentifier() in all queries
  (listSchemas, listTables, listTableColumns, buildPaginatedQuery).
- Trino listTableColumns escapes table and schema string literals.
- Added unit tests for SQL injection in buildSchemaFilter and Trino.
2026-03-06 14:33:55 -07:00
Matthew Rathbone
ab89dcaa67 fix: Trino listTables returns empty and SSL connections not supported (#3947, #3695)
- listTables(null) no longer returns []. Uses buildSchemaFilter() to
  optionally filter by schema, matching the PostgreSQL driver pattern.
- SSL/TLS connections now work. Certificate files (CA, cert, key) are
  read and passed to trino-client. When no certs are provided,
  rejectUnauthorized defaults to false (trust server cert).
- Removed server:ssl from Trino disabledFeatures so the SSL toggle
  appears in the connection form.
- URL parser now auto-enables ssl for https:// URLs.
- Added integration tests for listTables and SSL (with HTTPS-enabled
  Trino testcontainer).
- Added unit tests for SSL config propagation.
- Updated Trino connection docs (EN + ES) with SSL section.
2026-03-06 14:33:55 -07:00
Matthew Rathbone
4a04113520 chore: bump version to 5.7.0-beta.1 2026-03-06 10:22:09 -06:00
Yoga Setiawan
77fecafc37 feat: support redis:// and rediss:// protocol schemes 2026-03-06 15:16:20 +07:00
Matthew Rathbone
25ae6f6a59 Merge pull request #3820 from beekeeper-studio/feature/1317_delete-workspace
Feature/1317 delete workspace
2026-03-05 11:43:53 -06:00
Matthew Rathbone
4631d2bd03 Merge branch 'master' into feature/connection-query-folders 2026-03-05 11:33:06 -06:00
Matthew Rathbone
b31f89512d fixes for minor issues with folders 2026-03-05 11:23:54 -06:00
Matthew Rathbone
bbafe25fef fix: hide 'Move to top level' option in cloud workspaces
Cloud connections/queries must always be in a folder. The option
was silently moving items to the owner's personal folder when null
folder_id was submitted. Hidden in the UI; backend now rejects null
folder_id for workspace records.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-05 10:39:12 -06:00
Matthew Rathbone
15001db415 updated with proper error handling for moves 2026-03-04 16:32:15 -06:00
Matthew Rathbone
b7c68ac24c updated with better error handling for bad moves and visual indicator for when a move completes 2026-03-04 16:20:38 -06:00
Matthew Rathbone
044832008c drag drop to root now working 2026-03-04 15:11:40 -06:00
Day Matchullis
e43cf07591 Merge pull request #3942 from beekeeper-studio/rc-56 2026-03-04 13:43:12 -07:00
Day Matchullis
7618aa6e63 chore: bump version to 5.6.0 2026-03-04 12:33:08 -07:00
Day Matchullis
b4b7c12c5f Merge pull request #3938 from beekeeper-studio/fix/security-deps 2026-03-04 09:55:34 -07:00
wallisonfelipe
104dc94f01 fix: adjust redis refresh 2026-03-03 15:22:56 -07:00
Day Matchullis
a7f16f2220 Merge branch 'rc-56' 2026-03-03 15:21:27 -07:00
Day Matchullis
5f53107e44 Merge pull request #3921 from beekeeper-studio/fix/native-menu-plugin 2026-03-03 13:05:23 -07:00
Day Matchullis
b85cf0a0f7 Merge pull request #3783 from beekeeper-studio/fix/table-keys-performance-regression
fix: severe performance regression in table data loading (#3775, #3402)
2026-03-03 10:12:01 -07:00
Matthew Rathbone
4607227c4a fix: import connections to personal folder only
Clear connectionFolderId when importing connections from local workspace
to prevent them from being placed in team folders due to coincidental
folder ID matches.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-02 16:27:53 -06:00
Matthew Rathbone
e487c35ffd fix: update client to handle folder_id in reorder response
- Add connectionFolderId/queryFolderId to ReorderResult interface
- Update cloud modules to apply folder_id from reorder response
- Update test mocks to include folder_id

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-02 16:21:16 -06:00
Matthew Rathbone
9a354bb866 fix: drag/drop reorder snap-back and unify local/cloud workflows
- Add dedicated reorder API endpoint that returns all affected siblings
- Fix position collisions by updating all sibling positions from API response
- Unify local and cloud workspace reorder actions with same interface
- Fix local workspace bug where unsorted state caused incorrect positions
- Add pendingSaveIds tracking to prevent poll from overwriting optimistic updates
- Add comprehensive unit tests for reorder scenarios

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-02 15:58:06 -06:00
Day Matchullis
a61c4ee00e fix vite security advisory 2026-03-02 14:45:10 -07:00
Day Matchullis
fe8be4145a Merge pull request #3925 from beekeeper-studio/rc-56 2026-03-02 12:11:26 -08:00
Day Matchullis
aea1a6abfc Merge pull request #3922 from beekeeper-studio/fix/upgrade-fast-xml-parser 2026-03-02 12:09:52 -08:00
Matthew Rathbone
c261ae28f5 more fixes for drag drop and some tests 2026-03-02 13:34:15 -06:00
Matthew Rathbone
e60f5d2dfe updated with working positioning 2026-03-02 12:46:39 -06:00
Mohammad Azmi
4ecbec68aa upgrade @aws-sdk packages to latest 2026-03-02 17:37:25 +07:00
Mohammad Azmi
9be0c12aec fix multiple native menu items 2026-03-02 16:45:19 +07:00
Matthew Rathbone
3e95bae1ec feat: persist folder expanded/collapsed state via localStorage
Connection and query folder open/closed state is now saved to localStorage
and restored on page load. New folders default to expanded. Uses separate
keys ('connectionFolderExpanded-v1' / 'queryFolderExpanded-v1') so the two
sidebar lists are independent.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 12:41:31 -06:00
Matthew Rathbone
79525f4b10 feat: add 'Move to top level' context menu option for connections and queries
When a connection or query is inside a folder, its right-click menu now
includes 'Move to top level' (above the other 'Move to ...' options).
The option is hidden when the item is already at the root level.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 12:31:23 -06:00
Matthew Rathbone
d2c6634550 fix: restrict 'New Subfolder' to cloud/team workspaces only
Local workspaces have no subfolder support (flat folder structure).
Subfolders are only for cloud/team workspaces, and only one level deep
(personal/team root folders only — already enforced by the !folder.parentId
check).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-27 12:18:50 -06:00
Will Montgomery
3231279feb Merge branch 'master' into feature/1317_delete-workspace 2026-02-26 21:28:16 -05:00
Matthew Rathbone
701ca6a8f7 fix: remove duplicate folder-drop-zone Draggables that caused vuedraggable crash
Two Draggables sharing the same :list reference caused a race condition:
when the main Draggable's onDragRemove fired and mutated the list,
the folder-drop-zone's onDragRemove also fired but the item was already
gone, returning null from getContext and crashing.

Removed the folder-drop-zone <template> slots entirely. The SidebarFolder
component already handles drag-over expansion natively via @dragover
(auto-expands after 600ms hover), so no functionality is lost.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 15:22:53 -06:00
Matthew Rathbone
f67220e9e8 feat: add right-click context menu items for subfolder, new folder, pin/unpin, and duplicate
- Right-clicking a root folder now shows 'New Subfolder' option (subfolders omit it since the hierarchy is max 2 levels)
- Right-clicking empty space in the lonely connections/queries section shows 'New Folder'
- Connection item context menu now includes Pin/Unpin (mirrors the hover icon)
- Query item context menu now includes Duplicate ('Copy of <title>')
- Modal title updates to 'New Subfolder' when creating a child folder

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 15:19:01 -06:00
Matthew Rathbone
ca5b54d1d3 feat: drag-and-drop ordering for connection and query folders
- Add position column to favorite_query and saved_connection (SQLite migration)
- Add foldersWithQueries getter and moveToFolder action to query folder modules
- Wrap connection/query lists in Draggable for drag-and-drop reordering
- Add saveMany action to utilActionsFor for atomic batch position updates
  (optimistic commit before DB saves to prevent UI flicker)
- Sort lonely connections/queries by position for consistent ordering
- Support drag reordering within the unfiled (lonely) list
- Auto-expand collapsed folders on drag-over (600ms delay)
- Fix folder creation incorrectly defaulting to first existing parent

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 14:16:50 -06:00
Day Matchullis
8a785a3816 Merge pull request #3914 from beekeeper-studio/dependabot/npm_and_yarn/apps/ui-kit/examples/react/rollup-4.59.0 2026-02-26 11:55:43 -08:00
Day Matchullis
9eae0048c8 Merge pull request #3909 from beekeeper-studio/dependabot/npm_and_yarn/apps/ui-kit/examples/html/rollup-3.30.0 2026-02-26 11:55:04 -08:00
Day Matchullis
579906b993 remove component resolver because it doesn't seem to be used anywhere 2026-02-26 12:43:25 -07:00
dependabot[bot]
5c4eacabde Bump rollup from 4.40.0 to 4.59.0 in /apps/ui-kit/examples/react
Bumps [rollup](https://github.com/rollup/rollup) from 4.40.0 to 4.59.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.40.0...v4.59.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-26 19:29:51 +00:00
Matthew Rathbone
6eb81b8583 fix: moving a connection/query between folders now persists correctly
TypeORM @ManyToOne relation fields were initialized to null (= null),
making them own properties that cls.merge() copied into every transport.
On the next save, TypeORM treated the explicit null relation as "unset
this FK", resetting connectionFolderId/queryFolderId in-memory even
though the SQL write was correct.

Fix: remove = null initializers from all @ManyToOne relation fields so
they are not own properties when unloaded. TypeORM then uses the
explicit FK column value exclusively.

Also moves foldersWithConnections from ConnectionSidebar into the
connectionFolders store module as a parameterized getter, and adds a
moveToFolder action to both local and cloud connection folder modules.

Adds tests for the appdb save handler and the store module.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-26 11:18:06 -06:00
Mohammad Azmi
3712c7c45b fix undefined and unresponsive font size 2026-02-26 20:55:08 +07:00
Mohammad Azmi
58295dfa81 Merge branch 'rc-56' into fix/ui-kit-css-var 2026-02-26 19:16:40 +07:00
dependabot[bot]
b7e5a27812 chore(deps): bump rollup in /apps/ui-kit/examples/html
Bumps [rollup](https://github.com/rollup/rollup) from 3.29.5 to 3.30.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/v3.30.0/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v3.29.5...v3.30.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 3.30.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-26 07:05:52 +00:00