Commit Graph

8453 Commits

Author SHA1 Message Date
Matthew Rathbone
a307e8d9ad ci: add runner.arch to test pipeline cache key
Future-proofs the cache key for multi-arch test runs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:15:42 -05:00
Matthew Rathbone
3a794fbccd ci: add .nvmrc to cache key and cache node_modules in build pipelines
Include .nvmrc hash in the test pipeline cache key so a Node.js
version bump invalidates the cache. Add node_modules caching to
studio-publish and studio-build-non-production pipelines so
subsequent builds with the same deps skip yarn install. These
use runner.arch in the key since they build across x64 and arm64.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:10:02 -05:00
Matthew Rathbone
763588a9b1 Merge branch 'master' into ci/cache-node-modules 2026-03-11 13:02:22 -05:00
Day Matchullis
02da2fb7e0 Merge pull request #3950 from beekeeper-studio/dependabot/npm_and_yarn/dompurify-3.3.2 2026-03-09 14:18:57 -06: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
a889c39c5b Merge pull request #3944 from beekeeper-studio/dependabot/npm_and_yarn/immutable-4.3.8 2026-03-06 15:10:40 -07: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
Day Matchullis
5d83e85676 Merge pull request #3954 from beekeeper-studio/fix/trino 2026-03-06 14:35:26 -07: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
d182828178 ci: cache node_modules across test jobs to speed up CI
Add a prep job that runs yarn install once and caches the full
node_modules tree via actions/cache. All downstream jobs (unit,
integration, e2e) restore from cache instead of running their own
yarn install, saving ~2-5 min per job across 20+ parallel jobs.

Also updates actions/checkout v2 -> v4, fixes deprecated set-output
syntax, and standardizes all jobs on ubuntu-24.04.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 15:22:30 -06:00
Matthew Rathbone
4a04113520 chore: bump version to 5.7.0-beta.1 v5.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
a57718f66e Merge pull request #3903 from beekeeper-studio/feature/connection-query-folders
feat: folder support for saved connections and queries
2026-03-05 11:38:35 -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
dependabot[bot]
bead81f692 Bump immutable from 4.3.7 to 4.3.8
Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.3.7 to 4.3.8.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.3.7...v4.3.8)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 4.3.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 23:32:28 +00: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 v5.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
Day Matchullis
a9c18fb5a7 Merge pull request #3862 from scrlkx/fix/mkdocs-code-block-clipboard 2026-03-03 17:45:45 -07:00
Day Matchullis
a792325f3d Merge pull request #3940 from wallisonfelipe/fix/redis-refresh 2026-03-03 15:25:42 -07:00
wallisonfelipe
104dc94f01 fix: adjust redis refresh 2026-03-03 15:22:56 -07:00
Day Matchullis
30a95ab00d Merge pull request #3925 from beekeeper-studio/rc-56 2026-03-03 15:22:56 -07:00
Day Matchullis
5021999796 Merge branch 'rc-56' 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
077dd89204 Revert "remove explicit allow list in dependabot.yml"
This reverts commit 997e51fac1.
2026-03-02 14:22:55 -07:00
Day Matchullis
997e51fac1 remove explicit allow list in dependabot.yml 2026-03-02 14:08:18 -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