Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot save to sub-collection, where parent collection is revoked access #14052

Closed
flamber opened this issue Dec 11, 2020 · 4 comments · Fixed by #22663
Closed

Cannot save to sub-collection, where parent collection is revoked access #14052

flamber opened this issue Dec 11, 2020 · 4 comments · Fixed by #22663
Assignees
Labels
Administration/Permissions Collection or Data permissions Organization/Collections Priority:P2 Average run of the mill bug .Reproduced Issues reproduced in test (usually Cypress) Type:Bug Product defects
Milestone

Comments

@flamber
Copy link
Contributor

flamber commented Dec 11, 2020

Describe the bug
When you create a collection ("Parent") in "Our analytics" and Revoke access, and then create a sub-collection inside of that ("Child") with Curate access, then it's not possible for the users to save anything new to the Child collection - but they can edit and view existing objects.

To Reproduce

  1. Create a hierarchy of collections like this:
- Our analytics (Revoke)
- - Parent collection (Revoke)
- - - Child collection (Curate)
  1. Login as user - viewing "Our analytics" will show "Child", but not "Parent" - as expected:
    image
  2. Trying to save (or move) a question, the "Child" collection is not an option in the collection selector of the modal:
    image
  3. But it's possible to use the search 🔍 in the collection selector to find the hidden "Child" collection, which then allows you to save to the collection:
    image

Information about your Metabase Installation:
Tested 0.34.3 thru 0.37.3

Additional context
Related to #11605 and perhaps #8198

⬇️ Please click the 👍 reaction instead of leaving a +1 or update? comment

@nemanjaglumac

This comment has been minimized.

@flamber

This comment has been minimized.

@nemanjaglumac

This comment has been minimized.

nemanjaglumac added a commit that referenced this issue Feb 2, 2021
nemanjaglumac added a commit that referenced this issue Feb 2, 2021
… is revoked [ci skip] (#14619)

* Make a common `describe` block for the related issues

* Use `signIn()` function

* Assert that the "Parent" collection is not visible

* Update repro for #14114 with the negative assertion

Co-authored-by: flamber <1447303+flamber@users.noreply.github.com>
@nemanjaglumac nemanjaglumac added the .Reproduced Issues reproduced in test (usually Cypress) label Feb 2, 2021
derekdna added a commit to DNAstack/data-explorer that referenced this issue Mar 9, 2021
* Add test for load from h2 and dump to h2. (#14353)

Co-authored-by: Cam Saul <1455846+camsaul@users.noreply.github.com>

* Run Cypress EE tests in isolation (#14339)

* Run all tests in isolation for `ad-hoc.cy.spec.js` [ci skip]

* Refactor sandboxes [ci skip] (#14340)

* Fix typo

* Use API for question creation

* Divide test for admins and sanboxed users

* Organize tests better and run them all in isolation

* A detailed explanation of all changes is available in the original PR: #14340

* Use template tag variable in an SQL query

Co-authored-by: flamber <1447303+flamber@users.noreply.github.com>

* Refactor whitelabel Cypress tests [ci skip] (#14346)

* Run all tests in isolation for `drill_through.cy.spec.js`

Note: This test is skipped. It should probably be deleted.

* Run all tests in isolation for `snippet-permissions.cy.spec.js`

* Use aliased import path [ci skip]

* Refactor Cypress test related to changing the comapny name

* Refactor Cypress test related to the logo customization

* Update tests related to colors

* Run all tests in isolation

* Reorganize tests and run them in isolation

* Extract company name in a `const`

* Supply only `value` to API logo update

* Refactor auditing Cypress tests [ci skip] (#14362)

* Use API to create dashboards
Note: This change alone cuts down total run time by 10s.

* Clean up helper functions

* Extract the setup logic

* Reuse `USERS` object

* Tidy up the test

* Do not export helper functions [ci skip]

* Simplify variables [ci skip]

* Mark skipped test with the issue number [ci skip]

Co-authored-by: flamber <1447303+flamber@users.noreply.github.com>

* Merge `Run Cypress EE tests in isolation` PR from `release-x.37.x` branch (#14339) (#14377)

* Run Cypress EE tests in isolation (#14339)

* Run all tests in isolation for `ad-hoc.cy.spec.js` [ci skip]

* Refactor sandboxes [ci skip] (#14340)

* Fix typo

* Use API for question creation

* Divide test for admins and sanboxed users

* Organize tests better and run them all in isolation

* A detailed explanation of all changes is available in the original PR: #14340

* Use template tag variable in an SQL query

Co-authored-by: flamber <1447303+flamber@users.noreply.github.com>

* Refactor whitelabel Cypress tests [ci skip] (#14346)

* Run all tests in isolation for `drill_through.cy.spec.js`

Note: This test is skipped. It should probably be deleted.

* Run all tests in isolation for `snippet-permissions.cy.spec.js`

* Use aliased import path [ci skip]

* Refactor Cypress test related to changing the comapny name

* Refactor Cypress test related to the logo customization

* Update tests related to colors

* Run all tests in isolation

* Reorganize tests and run them in isolation

* Extract company name in a `const`

* Supply only `value` to API logo update

* Refactor auditing Cypress tests [ci skip] (#14362)

* Use API to create dashboards
Note: This change alone cuts down total run time by 10s.

* Clean up helper functions

* Extract the setup logic

* Reuse `USERS` object

* Tidy up the test

* Do not export helper functions [ci skip]

* Simplify variables [ci skip]

* Mark skipped test with the issue number [ci skip]

Co-authored-by: flamber <1447303+flamber@users.noreply.github.com>

* Fix `auditing` test failure on `master` (#14378)

The failure was introduced by this commit: https://github.com/metabase/metabase/commit/992f8475b4c68dd96032e99ee0cd1274204f12b8

### Additional context
- We now have randomized sync times so it's not possible to assert on the string "Every hour" anymore.
- Given that the sync time was not even crucial for this test, I have removed that assertion and added two new ones

Co-authored-by: flamber <1447303+flamber@users.noreply.github.com>

* Modify color utility classes in night mode dashboards (#14364)

* change background / border colors in night mode

* tweak medium color

* docs - saved question page - closes #14198

* Pivot tables public/embed endpoints (#14189)

* Adding missing endpoints

* wire up embed/public endpoint frontends
* Adding a parameter test for pivot tables
* Testing of public endpoints
* don't use credentials on public http requests
* Refactor to eliminate "advanced_computation"
* update endpoints on frontend
* adding additional endpoint

Co-authored-by: Robert Roland <rob@metabase.com>

* Fix sandboxing cache issue (#14388)

* add docstring for system-exit! (#14375)

* avoid exceptions trying to use pivot tables on sql queries (#14381)

* Remove jasmine (#14390)

* Convert `redux.unit.spec.js` from using jasmine to jest

* Convert `data_grid.unit.spec.js` from using jasmine to jest

* Remove jasmine from `DataSelector.unit.spec.js`

* Remove `eslint-plugin-jasmine`

* Remove `jasmine`

- `jasmine`
- `jasmine-core`
- `jasmine-promises`
- `jasmine-reporters`
- `jasmine-spec-reporter`

Co-authored-by: @paulrosenzweig

* Revert frontend changes from 8fd4f2af6fdcaa02e88ec2163280ddb1a981a086 (#14392)

These snuck in by mistake in #14300

* Run Cypress OSS tests in isolation (#14372)

* Run all tests in isolation for `frontend/test/metabase/scenarios/permissions.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/add.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/hide_tables.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/table.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/list.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/data_ref.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/operators.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/settings.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/trendline.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/reference/databases.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/downloads.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/segments.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/metrics.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/permissions/permissions.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/settings/spinner.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/auth/search.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/auth/signin.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/dashboard_data_permissions.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/dashboard-drill.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/embed.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/title-drill.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/loading.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/nested-cards.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/text-box.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/home/activity-page.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/native_subquery.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/visualizations/drillthroughs/chart_drill.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/nested.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/view.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/visualizations/drillthroughs/dash_drill.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/home/overworld.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase-db/postgres/custom-column.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/alert/alert.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/parameters-embedded.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/settings/settings.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/edit.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/alert/alert.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/permissions.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/pulse/pulse.cy.spec.js` [ci skip]

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/snippets.cy.spec.js` (#14380)

* Run `collections.cy.spec.js` tests in isolation (#14383)

* Apply dashboard filters to subscriptions (#14354)

* Revert part of "Don't return Pulses used for DashboardSubscriptions (#14300)" (#14410)

This reverts commit 8fd4f2af6fdcaa02e88ec2163280ddb1a981a086.

[Fixes #14395]

* Fix schedule picker for pulses (#14413)

* Fix schedule picker for pulses

don't know why there's a `_.pick` here. This would have worked "out of
the box" if this didn't have opinions about which parts of the
schedule to throw away

* Also fix schedule picker for new dashboard subscriptions sent via Slack

* Revert "Fix schedule picker for pulses"

This reverts commit d10eb2727f95c67be56ef50d879c071f7c57482f.

* Make minute picker on scheduler optional

only needed (as yet) on the db schedule page. pulses don't use cron
strings but have each part of the schedule map as a db field so would
need a migration to use it.

* Revert "Also fix schedule picker for new dashboard subscriptions sent via Slack"

This reverts commit 05ed9da535e897e859c8f258b23f0892e15b2f57.

Co-authored-by: Tim Macdonald <tsmacdonald@gmail.com>

* Make the rows/columns/values text in pivot table settings stand out more (#14425)

* make the rows/columns/values text stand out more

* add missing t tags

* fix test

* Disable the Sidebar component's Done button after click (#14422)

[Fixes #14397]

* Disable pivot tables for DBs that don't support them (#14419)

* Disable pivot tables for DBs that don't support them

* prevent swapping endpoint when db doesn't support pivots

Co-authored-by: Paul Rosenzweig <paul.a.rosenzweig@gmail.com>

* Update which-databases-does-metabase-support.md (#14156)

Vertica is missing compared to README of Metabase [ci skip]

* Sync startup cleanups (#14428)

* Log db info from db query

we're already making the query might as well also get the information
we want to log

* Alignment settings in .dir-locals

* Inverted logic for logging fingerprint vs refingerprint

* Tweak the rows that get returned by the pivot QP  (#14389)

* Update tests

* Simpler diff

* Even smaller diff

* Test fix :wrench:

* Test fix :wrench:

* Remove unused fn :wrench:

* Make CodeCov happy

* Pivot tables - Display more levels of subtotals (#14370)

* Ignore the collapsed setting when column split setting was updated (#14382)

* fix translations for 0.38 (#14432)

* replace the positional qp-runner with a keyword arg (#14415)

* Fix `downloads.cy.spec.js`

This file was different on `master`, and that's why the version from `release-x.37.x` branch didn't work.
It had to be adjusted to be able to run in isolation.

* Fix `pulse.cy.spec.js`

* Merge `Run Cypress OSS tests in isolation` PR from `release-x.37.x` branch (#14372) (#14394)

* Run Cypress OSS tests in isolation (#14372)

* Run all tests in isolation for `frontend/test/metabase/scenarios/permissions.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/add.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/hide_tables.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/table.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/list.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/data_ref.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/operators.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/settings.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/trendline.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/reference/databases.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/downloads.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/segments.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/metrics.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/permissions/permissions.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/settings/spinner.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/auth/search.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/auth/signin.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/dashboard_data_permissions.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/dashboard-drill.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/embed.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/title-drill.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/loading.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/nested-cards.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/text-box.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/home/activity-page.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/native_subquery.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/visualizations/drillthroughs/chart_drill.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/nested.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/view.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/visualizations/drillthroughs/dash_drill.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/home/overworld.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase-db/postgres/custom-column.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/alert/alert.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/parameters-embedded.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/settings/settings.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/edit.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/alert/alert.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/permissions.cy.spec.js`

* Run all tests in isolation for `frontend/test/metabase/scenarios/pulse/pulse.cy.spec.js` [ci skip]

* Run all tests in isolation for `frontend/test/metabase/scenarios/question/snippets.cy.spec.js` (#14380)

* Fix `downloads.cy.spec.js`

This file was different on `master`, and that's why the version from `release-x.37.x` branch didn't work.
It had to be adjusted to be able to run in isolation.

* Fix `pulse.cy.spec.js`

* Un-stuck codecov diff report?

* Pivot tables public/embed Cypress coverage and repro for #14447 (#14418)

* Upgrade helper function

* Add tests for public links and embed previews

* Abstract test logic for both questions and dashboards

* Fix linter error

* Skip the whole block (reproduces #14447)

* Closes #14262

* #14426 Repro: Admin localization tab showing excessive options [ci skip] (#14449)

* Use system timezones instead of a hardcoded list (#14429)

[Addressess #8943, #13403, #14240]

* Add script to run EE version of Metabase with one command only (#14459)

* Add script to run EE version of Metabase with one command only

* Include `MB_EDITION=ee` automatically

Co-authored-by: Paul Rosenzweig <paulrosenzweig@users.noreply.github.com>

* #11183 Repro: Missing Time series filter and granularity widgets (#14460)

* Add repro for #11183 [ci skip]

* Update test name [ci skip]

* Improve pivot table performance (#14448)

* Reduce the verbose error message in the custom expression input field (#14452)

The error message is not shown while the user is still typing. If there
is any error, it is shown once the focus leaves the input field.

Also, when the input is empty, show any useful suggestions instead of
displaying nothing.

This fixes #14345 and #14341.

* Convert metabase.api.preview-embed-test tests to the new style (#14416)

* Convert metabase.api.preview-embed-test to the new style

* Test update

* test.metabase.pulse.render.* tests -> new style (#14130)

* Merge pull request from GHSA-frx5-q4fp-vr4j

* Disable sharing button on public dashboards (#14475)

[Fixes #14365]

* Rotate the loading spinner in a non-linear fashion (#14438)

* Rotate the loading spinner in a non-linear fashion

This adds some flair of "physics" to the spinner.

* slow it down half a second

Co-authored-by: Maz Ameli <maz@metabase.com>

* Remove extra column options from admin (#14480)

* Only show relevant currency settings in admin

[Fixes #14426]

* Finish list nomenclature refactor

* Make sure GET /api/collection/tree elides Collections you can't see (#14367)

Note: UI-related problem (parent collection should be immediately open) will be addressed in a separate isue.

Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* #14482 Repro: UI should update when a collection changes parent [ci skip] (#14483)

* Convert metabase.query-processor.middleware.add-implicit-clauses-test to new style; (#14466)

remove expect-schema macro

* #14405 Repro: Dashboard subscription should not display "null" day of the week (#14498) [ci skip]

* Add repro for #14405 

* Rename describe block to reflect its contents appropriately

* Fix #14327: Collapsed calendar prevented adding a date filter (#14492)

* Add CTA to migrate to MB Cloud in admin panel (#14458)

* add mb cloud cta to admin updates page

* change url to the new redirect url

* add cta to email setup form

* add cta to admin checklist page

* add cta to state when update is available

* extract reusable bits into components

* hide CTAs if site url is on mb cloud

* extract isHosted logic to an accessor

* pivot tables: add column-level expand/collapse (#14485)

* Add drill-through items to pivot tables (#14469)

* add dimensions and event to fix popover on normal pivot cells

* remove accidentally included code

* top/left header action menus

* prevent propagation, style cursor

* Prettier to fix coding style

Co-authored-by: Ariya Hidayat <ariya@metabase.com>

* #12581 Repro: Revision history restore shows wrong query and misconfigured UI  [ci skip] (#14501)

* #14495 Repro: Cannot drill-through on question joined with SQL [ci skip] (#14510)

* docs - dashboard subscriptions - closes #14075

* Fix public/embedded pivot tables (#14462)

* abiltity to dump-to-h2 removing encryption (#14457)

* Pivot table: column options (#14464)

* WIP: Pivot table: column options

* Fields for table values can only have Formatting option

* styling tweaks

* change the Formatting option, plus css cleanup

* Adjust the chevron icon according to the state

* Pivot table options: connect handlers for totals, order, formatting

* wire up formatting

* ugly hack to fix unit tests

* more eslint

Co-authored-by: Maz Ameli <maz@metabase.com>
Co-authored-by: Paul Rosenzweig <paul.a.rosenzweig@gmail.com>

* Pivot table: Cypress test to check for column formatting (#14518)

* add a link to store.metabase.com for hosted instances (#14511)

* add a link to store.metabase.com for hosted instances

* only show to admins

* use externalLink to open url in new tab

* check for null site url

* Adjust the test for non-hosted instances

* Refactor menu options (DRY)

* Harden the test

We're more explicit. This will not let any "extra" option slip through.

* Expand test to include hosted instances

* Update frontend/src/metabase/nav/components/ProfileLink.jsx

* Update frontend/test/metabase/nav/ProfileLink.unit.spec.js

Co-authored-by: Maz Ameli <maz@metabase.com>
Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* Support development using VS Code Remote Container (#14412)

* Support development using VS Code Remote Container

Co-authored-by: Kyle Doherty <5248953+kdoh@users.noreply.github.com>

* translate last-minute 0.38 strings (#14527)

* #14517 Repro: Regex escape characters shouldn't be removed [ci skip] (#14530)

* Fix null day-of-week in SchedulePicker (#14525)

[Fixes #14405]

* Use docker --no-cache --pull for building Docker images

* Add link to dashboard in emailed dash subs (#14500)

* Add link to dashboard in emailed dash subs

[Fixes #14211]

* styling for dash subscription title link

* Add end-to-end dashboard sub testing

Test for dashboard link inclusion in email

Co-authored-by: Maz Ameli <maz@metabase.com>

* Sanitize URL substring used for determining if the instance is hosted (#14526)

- Sanitizes URL substring used for determining if the instance is hosted
- Simplifies `isHosted()` method by using regex
- Fixes the [CodeQL warning](https://github.com/metabase/metabase/pull/14511/checks?check_run_id=1770709190) from #14511

* Guard against trailing forward slash `/`

* Very fast vertica data loading (#14484)

* Remove some commas in arglists

* Clarify dox and add some arglists metadata

* EXTREMELY FAST VERTICA DATA LOADING

* Improved `u/profile` macro

* Test fixes :wrench:

* Test fix :wrench:

* Fix occasional test failures in metabase.api.dataset-test

* Add Cypress coverage for the Cloud CTA in admin panel (#14520)



Co-authored-by: flamber <1447303+flamber@users.noreply.github.com>

* use the right bg color for ProfileLink's hover state (#14537)

* Pivot table: Cypress to check for value formatting (#14532)

* Validate dashboard sub to Slack creation (#14531)

[Fixes #14494]

* #14473 Repro: Click behavior with cross-filter does not list columns [ci skip] (#14536)

* #14494 Repro: "Done" button should be disabled prior to selecting Slack channel (#14544)

* Issue #14456 - Enable search in timezone select component (#14519)

* Enable search in timezone select component

* Add simple cypress test for timezone select interaction

* apply cy test suggestions from @nemanjaglumac

Co-authored-by: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com>

Co-authored-by: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com>

* Fix test from #13015 not running against Redshift (#14499)

* Fix test from #13015 not running against Redshift

* Move old test to h2-test

* PivotTable scroll alignment fix (#14522)

* initial version of row alignment fix

* Update frontend/src/metabase/visualizations/visualizations/PivotTable.jsx

* Update frontend/src/metabase/visualizations/visualizations/PivotTable.jsx

Co-authored-by: Paul Rosenzweig <paulrosenzweig@users.noreply.github.com>

* prettier

* use scroll bar size more directly

Co-authored-by: Paul Rosenzweig <paulrosenzweig@users.noreply.github.com>

* Fix setting of selectedSchema in MetadataTablePicker (#14549)

* Polish/style metric segment lists (#14539)

* style metric list

* style segments list

* fix tests i think

* missed two spots in the tests

* disable settings cache to fix flakiness (#14541)

* Pivot table options: check expand/collapse the field options (#14562)

* Pivot tables sorting (#14559)

* When logging db, actually need to select name and engine (#14567)

had destructured them for logging but forgot to actually select them

* #12720 Repro: Dashboard filter connected to a card without data-permissions blocking QB question (#14557) [ci skip]

* Add repro for #12720 [ci skip]

* Test both question types (QB and SQL) [ci skip]

* #13832 Repro: Filters should use cached results after the first DB call [ci skip] (#14571)

* Pivot table options: hover effect with DragWrapper (#14538)


Co-authored-by: Kyle Doherty <5248953+kdoh@users.noreply.github.com>

* update pivot table image and text (#14570)

* fix right alignment of cells with multiple value columns (#14580)

* Add autofocus to username input (#14572)

* Add autofocus to username input

* add cypress test for autofocusing username input

* Try bluer bg colors for pivot tables (#14556)

* try bluer bg colors

* smarter colors

* try refactoring styling

* fix css refactor

Co-authored-by: Kyle Doherty <5248953+kdoh@users.noreply.github.com>

* improve MB_DB_CONNECTION_URI example (#14586)

The example now follows a standard jdbc uri string

* #8055 Repro: Dashboard drill-through on a FK fails [ci skip] (#14587)

* Pivot table: Cypress test to ensure no value sorting (#14577)

* Fix occasional test failure

* Use docker --no-cache --pull for building Docker images

* Update `cypress_repro.md` template (#14589)

Co-authored-by: Tim Macdonald <tsmacdonald@gmail.com>

* Prettier

* Don't save site-url on general settings page load (#14558)

* Don't inform admins about MB cloud on EE instances (#14569)

* hide ctas when version is enterprise

* add isEnterprise to settings

* only run CTA test on OSS

Co-authored-by: Paul Rosenzweig <paul.a.rosenzweig@gmail.com>

* Add Log4j2 config for containers :) (#14455)

* Add Log4j2 config for containers :)

* Update docs/operations-guide/log-configuration.md

Co-authored-by: Jeff Bruemmer <jeff@metabase.com>

* Update docs/operations-guide/log-configuration.md

Co-authored-by: Jeff Bruemmer <jeff@metabase.com>

Co-authored-by: Jeff Bruemmer <jeff@metabase.com>

* Integrate driver JAR strip-and-compress logic into build-driver script (#14535)

* Integrate driver JAR strip-and-compress logic into build-driver script

* Fix missing import

* Minor improvements

* add 'jdbc:' prefix to connection-uri if needed (#14573)

* Trim packages and update (#14585)

* Trim packages and update

- Removed the make and wget dependency
- Made the release container to auto-update
- Adds are now a curl in a single command to reduce intermediate images
- consecutive run commands into 1 line
- ENVs to 1 line to reduce intermediate images

* Update the docker file for the releases

* Issue #12203 - Sample Dataset data doesn't add up (#14513)

Fixing total for all order records in sample data EDN file

Making same update in sample-dataset H2 file, via:

UPDATE ORDERS SET TOTAL=SUBTOTAL+TAX-IFNULL(DISCOUNT,0);

* Update mysql.md (#14407)

* Update mysql.md

* Update docs/administration-guide/databases/mysql.md

Co-authored-by: Jeff Bruemmer <jeff@metabase.com>

* Added examples of docker run and docker-compose, not sure about the format though

* a well formatted yml file for docker compose

* A new commit for refreshing the PR and also I removed a modifier that shouldn't be there

Co-authored-by: Jeff Bruemmer <jeff@metabase.com>

* Update the developers guide with all the steps to build from source (#14543)

* Add and update a few steps

Just built from source on my own machine (Ubuntu 20.04 LTS) and I had to do a few additional steps to build from source

* Update developers-guide.md

Changed the Clojure installation since Ubuntu repos have an old version and we need the latest

* Update developers-guide.md

removed JDK 11 and changed JDK for JRE in Java 11

* Update developers-guide.md

* Update developers-guide.md

* Build scripts should use oss/ee like everyone else instead of ce/ee (#14551)

* Add support for the "CHARACTER VARYING" and NUMERIC Redshift type (#14496)

CHARACTER VARYING seems to be an official Redshift type; see: https://docs.aws.amazon.com/redshift/latest/dg/r_Character_types.html#r_Character_types-varchar-or-character-varying

It doesn't always seem to show up.  For example, in a plain CREATE TABLE then that DDL actually is seen by Metabase as "varchar" still.  But if a late binding view is created pointing to that table, then it can show up thusly

NUMERIC is a straight up synonym for DECIMAL; see: https://docs.aws.amazon.com/redshift/latest/dg/r_Numeric_types201.html#r_Numeric_types201-decimal-or-numeric-type

Using the database-type->base-type mechanism to recognize these type name and treat them as :type/Text and :type/Decimal respectively, while delegating to the parent (Postgres) types for any others

Adding a test that creates a table with both and late binding view of that, and asserts the correct types are synced

* Nested queries revamp base (#14014)

* Fix SQL for custom columns referring to aggregations. Fixes #12762

* Add test & enable cypress

* Disambiguate fields with same name in source query

* Use field-id where possible

* More untaglment

* move defs around

* lift joined fields when lifting expressions

* cleanup

* More cleanup

* More cleanup

* Reuse alias in unique name

* Add `source_alias` to metadata map

* Remove cruft

* Simplify expression generation

* Don't try to infer col types of native queries

* Fix metadata flowing for field ids

* Remove unneeded require

* Fix tests

* Banish mbql->honeysql

* Correctly infer base type for expressions field-literal

* Fix tests

* More test fixes

* Fix BQ driver

* Handle joined fields bette

* Remove unneeded requires

* Update test to mt

* simplify test

* Unmangle merge

* Add cypress tests

* Remove unneeded requires

* Get metadata for all fields used not just result cols

* typo

* use mt/format-name for `source_alias` in tests

* Explicitly use uppercasing when normalizing `:source_alias`

* Oracle: truncate identifiers if needed

* Correctly use Identifier

* Operate only on the last part of the identifier

* add missing arg

* Oracle: Use only letters in identifier names

* Normalize source_alias in tests

* Bigquery: update hardcoded query

* Delete duplicate test

Note: this is a left-over from before. I missed it somehow. Removing it now to avoid further confusion.

* Update repro for #12928 [ci skip] (#14468)

Expose error in Cypress runner rather than relying on UI.

* Move sandobxing middleware

* Make field read permissions work with sandboxing

* Sandboxing: use table metadata for native source cards

* Re-enable cypress tests for ee/520 & ee/154

* Add missing arg

Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* Update values and fix failing Cypress tests on `master` (#14606)

* Fix `pivot_tables.cy.spec.js` failing tests

* Fix `segments.cy.spec.js` failing tests

* Fix `metrics.cy.spec.js` failing tests

* Fix `new.cy.spec.js` failing tests

* Fix `dash_drill.cy.spec.js` failing tests

---

- Updates the values in Cypress tests according to the changes introduced in 595594357796c0b03669cc938716108d4a5656a4

### Additional notes:
- Caching mechanism prevented us from catching this failure prior to merging #14513 
- Failures started appearing in 6b1b4a1eb5980748db79d0f16a8a66bc3caffcac
- Example of failing tests in CI:
    - [CircleCi dashboard](https://dashboard.cypress.io/projects/a394u1/runs/4368/test-results?actions=%5B%5D&browsers=%5B%5D&groups=%5B%5D&isFlaky=%5B%5D&modificationDateRange=%7B%22startDate%22%3A%221970-01-01%22%2C%22endDate%22%3A%222038-01-19%22%7D&orderBy=EXECUTION_ORDER&oses=%5B%5D&specs=%5B%5D&statuses=%5B%7B%22value%22%3A%22FAILED%22%2C%22label%22%3A%22FAILED%22%7D%5D&utm_source=github)

* #13785 Repro: Clicking on a bar graph that represents a date range chooses only the start of the range [ci skip] (#14593)

* fix bottom of pivot tables getting cut off on dashboards (#14592)

* handle long body cells in pivot table (#14608)

* Remove Cypress test for EE_524 issue (#14611)

* Remove Cypress test for https://github.com/metabase/metabase-enterprise/issues/524

* CI: include sample-dataset.db.mv.db in frontend checksums (#14615)

* Allow SSL client certificates to work in pgsql (#13797)

* Allow SSL client certificates to work in pgsql

When a user specifies a `sslmode` or `sslfactory`, we should honor that instead of overwriting their selections.

The NonValidatingFactory isn't something we should default to - it just checks that an SSL certificate is present, it does not attempt
any sort of validation of said certificate, and it also explicitly blocks support for client certificates.

Update pgsql driver to one that supports PKCS12

Resolves metabase/metabase#13796

* Pivot tables – Add "Show totals" column setting (#14621)

* #14052 Repro: Cannot save to sub-collection when access to its parent is revoked [ci skip] (#14619)

* Make a common `describe` block for the related issues

* Use `signIn()` function

* Assert that the "Parent" collection is not visible

* Update repro for #14114 with the negative assertion

Co-authored-by: flamber <1447303+flamber@users.noreply.github.com>

* Include Vertica/Oracle JDBC drivers in EE version (#14550)

* workaround safari css issue by swapping visibility toggle to display (#14627)

* disable width on pivot table AutoSizer (#14630)

* #14629 Repro: Sandboxing should work on tables with remapped FK display values (#14631)

* Make a common `describe block for related issues (FK remapping)

* Add repro for #14629

* image and link fixes (#14633)

* #10474 Repro: Cannot use Saved Question with remapped "Display values"="Use foreign key" [ci skip] (#14638)

- Reproduces #10474 (`.Regression`!)
- VERY related issue #14629

* #14604 Repro: Custom columns break pivot tables [ci skip] (#14618)

* update pivot with custom column test

* add another test

* Group issues in a common `describe` block [ci skip]

Co-authored-by: Paul Rosenzweig <paul.a.rosenzweig@gmail.com>

* Don't run visualization auto-selection when drilling from dashboard (#14640)

* Skip `ee520` again (the issue has been reopened) [ci skip] (#14643)

* #14636 Repro: Troubleshooting tasks pagination not working [ci skip] (#14641)

[20/20 tests passed](https://github.com/nemanjaglumac/metabase-tests/actions/runs/537379410) in a stress-test

* Add an alternative QB-version of the repro for EE_520 [skip] (#14661)

- Provides an alternative reproduction for https://github.com/metabase/metabase-enterprise/issues/520
- This version is using query builder instead of SQL questions for an advanced sandboxing

* Merge nested settings between question and dashcard (#14659)

* Collections tree API endpoint results should always return :children key (#14622)

* Fix #14482

* Remove console.log

* Oops, just fix the API endpoint

* Test fixes :wrench:

* Update Cypress test for #14482

Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* #14650 Repro: Drill-through on a map results in a wrong filter value [ci skip] (#14665)

* Log complete token validation error only to debug log (#14674)

* Log complete token validation error only to debug log

Logging e's stack trace causes _thousands_ of extra noisy log lines,
even for relatively benign causes, like tokens expiring. The noise makes
it difficult to see what actually wrong.

* Add colon before exception message

* Fix custom columns in pivot tables (#14651)

* Enable Cypress test

* :wrench:

* :wrench:

* Test fix :wrench:

* Test fix :wrench:

* More test fixes :wrench:

* Test fix :wrench:

* Test fix :wrench

* Longer timeout for the test that keeps failing

* PLEASE WORK [ci nocache]

* Convert hundreds of tests to the new style (#14623)

* Goodbye forever to expect-with-driver

* :wrench:

* Update expectations counts

* Convert metabase.mbql.util-test to the new style

* Convert some more test namespaces to the new style

* Convert four more namespaces to the new style

* Turn off Cypress recording/parallel runs (#14686)

* remove projectId

* turn off --record

* remove parallel/group

* Separate Oracle/Vertica plugin manifests for EE driver versions

* Bump test HTTP client timeout on CircleCI to fix random failures

* include edition in cypress group

Co-authored-by: Cam Saul <github@camsaul.com>

* only apply cellData class if there's data to display (#14687)

* Don't show reset settings button for text cards (#14667)

* Make sure resolved-joined-fields deduplicates :fields  (#14655)

* Fix 14629

* Add test for resolve-joined-fields middleware

* Test fix :wrench:

* Update Cypress repro to sandbox on `ORDERS.USER_ID`

This doesn't change anything fundamentally about this test.
It simply returns fewer rows (only the orders for user ID = 1)

Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* Skip failing pivot tables Cypress tests (#14698)

* Skip test currently failing on `release-x.38.x` branch

* Refine the assertion

* fix(doc) put jdbc user&password in querystring (#14702)

* Split repro for EE_520 in two versions (#14663)

* fix broken tests - guard against undefined settings (#14704)

* Show error messages in create/edit GTAP modal (#14673)

* Rework tests in api.gtap-test

* Return actual error message when trying to save an invalid sandbox query

* Minor refactor

* GTAP modal should display errors

* Fix flow failure

* Test fix

* Another flow fix :wrench:

* Longer timeout for the test that keeps failing

* Return error message as :message

* New cache key for drivers/uberjar so Oracle/Vertica errors stop popping up

* Revert cache key rotation

* #14612 Repro: Sandboxing limitations should have meaningful UI error message/feedback (#14690)

* Fix random Cypress test failures when fingerprinting fails?

* Bump no-output-timeouts to 15m because CircleCI is extra slow lately

Co-authored-by: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com>

* add cmd rotate-encryption-key (#14552)

* Use correct filter value for region maps, fix tooltips (#14688)

* Tests: do "quick" sync for non-test-data datasets; shave MINUTES off of test runs (#14691)

* Quick sync

* Try reducing -Xmx for :ci profile a bit to prevent random test failures

* Update quick sync parameter name

* Update docstring for dataset

* Fix sync-database! schema

* Fix schema again

* Test fix :wrench:

* Sort GeoJSON maps (#14697)

* Sort GeoJSON maps

* Fixup syntax, removing $FlowFixMe

not sure if this is a no-no but `yarn lint-flow` succeeded for me

* Use pairs and watch for null names

* update timeseries data interval computation (#14706)

* Fix two issues with dashboard click behavior (#14668)

* unskip repro for 13415 (#14715)

* add documentation for rotate-encryption-key (#14720)

* #14649 Repro: Cannot add subsequent aggregation on a custom expression in notebook (#14723) [ci skip]

* #13150 Repro: Dashboard card sends a query for each filter defined [ci skip] (#14725)

* #14726 Repro: Custom filter expression does not show original editor on subsequent click [ci skip] (#14728)

* Query results metadata should include field refs (#14695)

* Quick sync

* Try reducing -Xmx for :ci profile a bit to prevent random test failures

* Reenable test

* Query results metadata should include field refs (Fixes #10474)

* Test fixes :wrench:

* Test fix :wrench:

* Try unskipping some EE tests, let's see what gets fixed

* Try lowering heap size limits on CI a bit to see if things will actually run.

* Test fix

* Re-skip 13641 and 13642 tests

* Revert changes to backend.js

* Fix saving a Card, add test

* #14724 Repro: Cannot use saved question with joins as a base for new question [ci skip] (#14727)

* Use log instead of printf/println for copy (#14692)

* Use log instead of printf/println for copy

* Use log/warn for the message about H2 database already existing

* Remove compare-h2-dbs -main entrypoint

* Clean namespace decl

* Feedback from @walterl

* Fix occasional test failures with metabase.api.dataset-test/basic-test

* Fix occasional test failure :wrench:

* Mb db connection uri parsing (#14716)

* Parse mb-db-connection-uri when it contains a password

Using the raw jdbc string when its of the form
`username:password@host:port` causes problems if passed directly to
jdbc. Clojure.java.jdbc has some special handling for username and
passwords

```clojure
(if-let [user-info (.getUserInfo uri)]
  {:user (first (str/split user-info #":"))
   :password (second (str/split user-info #":"))})
```

Our logic here is:
1. if mb-db-connection-uri is set and not an older style password,
return that, possibly prepending jdbc: to it
2. if mb-db-connection-uri is set and is an older style passowrd, then
we use the old parsing code which doesn't support all of the crazy
stuff individual connection strings may offer and return a db-spec
3. if all the individual parts are supplied (mb-db-host, mb-db-port,
etc) are used to construct a db-spec

* Correct what old style means for conn-uri

accidentally thought user@host/metabase?password=password was ok. Any
credentially in the host spot is not supported

* Cleanup documentation

don't refer to old password style but call it inline credentials

* Fixups for connection parsing

- ensure we turn postgres: to postgresql: in connection string
- ensure we warn about postgres ssl edge case when using raw
  connection string
- make warnings testable

* Space in inline credentials warning

* Strip jdbc from connection when checking if inline credentials

* Fix for old credential style

* Make sure resolve-joined-fields works on all levels (fixes #13642) (#14717)

* Quick sync

* Try reducing -Xmx for :ci profile a bit to prevent random test failures

* Reenable test

* Query results metadata should include field refs (Fixes #10474)

* Test fixes :wrench:

* Test fix :wrench:

* Try unskipping some EE tests, let's see what gets fixed

* Try lowering heap size limits on CI a bit to see if things will actually run.

* Test fix

* Re-skip 13641 and 13642 tests

* Make sure resolve-joined-fields works on all levels (fixes #13642)

* Fix missing :require

* Remove logging

* Text fix

* Revert changes to backend.js

* Test fixes :wrench:

* Remove stray printlns

* Test fix :wrench:

* Fix saving a Card, add test

* Fix saving a Card, add test

* Test fix for non-H2 drivers

* Fix occasional test failures with metabase.api.dataset-test/basic-test

* Fix occasional test failure :wrench:

* Another driver test fix :wrench:

* Extract remap logic into a separate function

* Run repro for #13642 in 2 versions: "remapped" and "default"

* Fix 13642 with FK remaps in place

* Test fix :wrench:

Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* Make sure field refs returned by sandboxing middleware match non-sandboxed field refs (#14719)

* Quick sync

* Try reducing -Xmx for :ci profile a bit to prevent random test failures

* Reenable test

* Query results metadata should include field refs (Fixes #10474)

* Test fixes :wrench:

* Test fix :wrench:

* Try unskipping some EE tests, let's see what gets fixed

* Try lowering heap size limits on CI a bit to see if things will actually run.

* Test fix

* Re-skip 13641 and 13642 tests

* Make sure resolve-joined-fields works on all levels (fixes #13642)

* Fix missing :require

* Remove logging

* Re-enable test

* Add ->$ids and ->query-shorthand test util macros

* Fix 13641

* Text fix

* Revert changes to backend.js

* Test fixes :wrench:

* Remove stray printlns

* Test fix :wrench:

* Fix saving a Card, add test

* Fix saving a Card, add test

* Test fix for non-H2 drivers

* Test fixes :wrench:

* Revert accidental commit of experimental test macros

* Fix occasional test failure :wrench:

* Fix occasional test failures with metabase.api.dataset-test/basic-test

* Fix occasional test failure :wrench:

* Another driver test fix :wrench:

* Re-enable test for #14724

* Extract remap logic into a separate function

* Run repro for #13642 in 2 versions: "remapped" and "default"

* Update repro for #14724

* Run repro for #13641 in 2 versions: "remapped" and "default"

* Fix 13642 with FK remaps in place

* Test fix :wrench:

Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* Allow for `quick` parameter on `notify/db/:id` for quick syncing (#14645)

* Allow for `quick` parameter on `notify/db/:id` for quick syncing

* Ensure auth-ed in api tests

* Move to mt/client

* Full sync / metadata sync of db

* Update tests

* errant comment no longer applicable

* Rename parameter to {:scan full} or {:scan schema}

* Update api/notify/db docstring and remove extra require

* Use defendpoint schema enforcement instead of bad custom one

* Run tests synchronously

* Remove custom macro for `mt/with-temporary-setting-values`

* Ensure request has non-nil api-key before checking

* Incorporate feedback from cam about macros

- it is super important that the db/table-syncs are off thread and the
request is not blocked. Getting that macro wrong would be devastating
and it only exists so it can be written `(execute (db-sync-fn
database))` instead of *gasp* `(execute #(db-sync-fn database))`. Used
in three places, and getting it wrong is terrible. Delaying into the
thunk makes clear that this will work just fine.

* Fix metadata for SQL-based sandboxes  (#14734)

* Export `remapDisplayValueToFK` function (#14736)

* Export `remapDisplayValueToFK` function

* Pass `name` field as an argument in a function

* Update latest OSS on downloads.metabase.com (#14737)

* Add "remapped" version of the repro for #14724 (#14738)

* Run repro for #14724 in 2 versions: "remapped" and "default"

* Use helper function for value remapping

* fix bug with download popover on pivot tabes (#14761)

* Add hover effect to pivot table cells (#14763)

* use lighten() for PIVOT_BG_DARK and PIVOT_BG_LIGHT

* apply TableInteractive-cellWrapper class to pivot table cells

* better import

* [Fixes #14746] Close dashboard subscription list sensibly (#14759)

* Relax restriction that sandboxes cannot add columns (ignore additional columns instead) (#14735)

* Fix metadata for native sandboxes

* Relax the restrictions

* Another fix :wrench:

* Revert accidental commit

* Update repro for #14612

Throw an error for differently-typed columns.

Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* #14766 Repro: Cannot summarize columns from joined table based on a Saved Question [ci skip] (#14770)

* fix(rotate-encryption-key) settings-last-updated is not encrypted (#14769)

This field is always plain text to let other instances of mb know they
have to flush the settings cache.

* Make access logging happen again (#14777)

Changing the namespace name of the logging middleware broke access
logging. Changing this config file to the proper namespace for logging
makes it happen again

See #14773

* Merge pull request from GHSA-jw8j-qp56-25m2

* "regex-match-first" and "replace" operators aren't safe against SQL injection

DRIVER SPECIFIC CHANGES:
Updating Redshift driver code to use parameterized search/replace patterns for :replace, and the result of running the QUOTE_LITERAL function on the raw string for :regex-match-first

Updating Redshift driver version to latest

Parameterizing pattern in Postgres version of :regex-match-first implementation

TESTS:
Adding new tests to string_extracts_test.clj for ensuring :replace and :regex-match-first work with single quotes in expressions, across all DB drivers supporting those features

Adding ability to pass filter into test-string-extract helper, using that from new tests

Fixing typo in name of test-replace

* Fixing import order in namespace declaration

Adding explicit group number param of 0 for Hive-like driver (since the default is 1), when calling regexp_extract

* Remove trace logging in the new test

Co-authored-by: Jeff Evans <jeff.evans@metabase.com>

* Fix using a query that contains joins to a table with FK remaps as a source query (#14745)

Fixes #14724 × FK remaps
Fixes #14724 × inception query
Fixes #14724 × inception query × FK remaps
Fixes #14766

Co-authored-by: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com>

* #12492 Repro: Custom expression filter with dates wrong display on subsequent click [ci skip] (#14772)

* #14705 Repro: Cannot select all items in a collection using checkbox [ci skip] (#14778)

* Add Hours and Minutes to dashboard time filter (#14512) (#14794)

Supporting "seconds", "minutes", and "hours" for relative date strings under "past", "next", "last", and "this" in the backend

Add the "minutes" and "hours" options to the frontend widget for relative date picker

Adding backend parsing tests for new options

Adding Cypress test to ensure new options appear in the relative date filter widget

* #14787 Repro: "Distribution" doesn't always work on joined saved question (#14795)

* #14793 Repro: X-rays fails on explicit joins, when metric is for the joined table (#14796)

* #14749 Repro: Email settings "Save changes" button enabled without any changes [ci skip] (#14798)

* Ignore source metadata for sources queries if missing 0.38.0+ field refs (#14804)

* Unskip repro for #11439 (#14816)

It was fixed in #14804.

* Refine and upgrade repro for #12985 (#14815)

* Group 2 repro versions into common describe block

* Unskip repro version 1 (fixed in #14804)

* Rewrite version 1 of the repro for #12985 using API

* Add version 2 of repro for #12985

* Upgrade field literals (#14812)

* postgres ssl cert validation note for 0.38 (#14646)

* #14775 Repro: Custom column not removed when a join is removed [ci skip] (#14821)

* #14776 Repro: Autocomplete results not correctly showing summary columns when full word entered [ci skip] (#14827)

* #14753 repro: Collections without sub-collections have an "expand" arrow [ci skip] (#14831)

* Fix check for disabled button in `add.cy.spec.js` (#14833)

* reorder waterfall and pivot viz options (#14826)

* #14841 Repro: Cannot remove column via QB sidebar / settings (#14845)

* #14843 Repro: Filtering a Custom Column does not give correct results when using "Not equal to" (#14847)

This issue is fixed on dc50e8a26963c933a1951b24ff89b2d7ce5df108
Closes #14843

* Watch out for errant DS_Store files in modules/drivers (#14851)

* #14854 Repro: Custom Expression using `case()` function fails when referencing the same column names [ci skip] (#14857)

* Revert "Mb db connection uri parsing (#14716)" (#14856)

* Revert "Mb db connection uri parsing (#14716)"

This reverts commit b779333f108f08c0c39a2a050e8aafde3fd1ba81.

* Readd the parsing of connection strings for db.env

* Fix laziness in SQL QP query compilation (#14858)

* Revert test-data-loading tweaks for now

* Test fix :wrench:

* Test fix

* Test fixes

* Unskip repro for #14859

* Test fix :wrench:

Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* docs - clarify pivot tables only work with simple and custom questions (#14371)

* clarify pivot tables only work with simple and custom questions

* typo

* Maz edit

Co-authored-by: Maz Ameli <maz@metabase.com>

* picking your starting data

Co-authored-by: Maz Ameli <maz@metabase.com>

* Upload 'latest' uberjar for OSS releases.

* Fix documentation links for developers (#14853)

* docs - add dash subs to user guide toc (#14865)

* #14872 Repro: Multi-level aggregations fails when filter is the last section [ci skip] (#14875)

* Add Cypress custom commands (#14881)

* Add first Cypress custom command for selecting icons

* Use new `cy.icon()` command in all Cypress files in the project

* #14880 Repro: Negative filter can not be converted to custom expression [ci skip] (#14885)

* Fix confusing "current" breadcrumb UX (#14884)

Closes #14879.

* #14757 Repro: New collection saved inside "My personal collection" not available in "New collection" modal [ci skip] (#14899)

* Revert "#14757 Repro: New collection saved inside "My personal collection" not available in "New collection" modal [ci skip] (#14899)" (#14901)

This reverts commit 86048b1e3537299e9a027456b27ddb15ad5bc451.

* #14178 Repro: "Saved Questions" dialog doesn't respect nested collections structure [ci skip] (#14902)

* fix crash in InputWithSelectPrefix on null site-url (#14891)

* fix crash in InputWithSelectPrefix on null site-url

* #14900 Repro: Admin > Settings > General not working, when setup using environment variable `MB_SITE_URL` (#14903)

Co-authored-by: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com>

* #14919 Repro: "Reset to defaults" on dashboard card "Visualization settings" removes all "Click behavior" [ci skip] (#14920)

* #14907 Repro: Snippet folder is showing as part of collections [ci skip] (#14922)

* #14873 Repro: `regexextract` breaks query on a sandboxed table [ci skip] (#14925)

* Enable running a single spec in Cypress (#14942)

* Enable running a single spec in Cypress

* Rename flag name to run Cypress files from a specific folder

* Fix #9357: Native question filter widget reordering via drag and drop (#14952)

* Fix:Native question filter widget reordering doesn't work #9357

* Add  Cypress test to native.cy.spec.js

* Rebase and adjust the Cypress test (repro for #9357)

Co-authored-by: sun <776766759@qq.com>

* Updgrade `react-sortable-hoc` library to the latest version (#14955)

* #14957 Repro: Saving a question before query has been executed can be slow with UI "hanging" [ci skip] (#14965)

* #14959 Repro: Can not convert case-insensitive filter to custom expression (#14963) [ci skip]

* #13455 Repro: Order of rearranged columns not preserved after column removal via sidebar [ci skip] (#14967)

* #14515 Repro: Slack-based dashboard subscriptions should have a "Send to Slack now" button (#14968) [ci skip]

* Extract common repro steps in `beforeEach`

* Add repro for #14515

* Coerce query id for object details prev/next buttons to int (#14977)

* add cypress test

* actions now parse int

Co-authored-by: Paul Rosenzweig <paul.a.rosenzweig@gmail.com>

* Add set of Cypress custom commands related to permissions API (#14948)

* Add `updatePermissionsGraph` custom command

* Add `updatePermissionsSchema` custom command

* Add `updateCollectionGraph` custom command

* Update `updatePermissionsSchemas` command

This accounts for a different case sensitivity that different DBs have.

* Fix regex-match-first operator for Postgres to work properly when run against subqueries (#14924)

* Fix regex-match-first operator for Postgres to work properly when run against subqueries

Capture col-name at beginning of fn for :regex-match-first operator in Postgres driver to work around laziness problem (see PR #14858)

Adding test

* Unskip Cypress test for #14873

* #14969 Repro: Pivot tables don't work for sandboxed users [ci skip] (#14981)

* Fix redshift test failures (#14988)

* Change string-operations-from-subquery to use test-data instead of sample-data, because the latter currently is incompatible with Redshift (see #14784)

* Add MSSQL_MEMORY_LIMIT_MB: 1024 to CircleCI config (cherry pick of https://github.com/metabase/metabase/commit/4a714f3e21fb06fdb73b11fa7812f417b38a069e)

* Replace ExitOnOutOfMemoryError with CrashOnOutOfMemoryError (#14972)

This will make the JVM output more details as it crashes for running out of memory.

New output:

```text
rroland@tardis:~/src/metabase/target/uberjar$ java -Xmx50m -XX:+CrashOnOutOfMemoryError -jar metabase.jar
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
2021-02-25 11:38:31,689 INFO metabase.util :: Maximum memory available to JVM: 50.0 MB
Aborting due to java.lang.OutOfMemoryError: Java heap space
\#
\# A fatal error has been detected by the Java Runtime Environment:
\#
\#  Internal Error (debug.cpp:338), pid=40255, tid=40256
\#  fatal error: OutOfMemory encountered: Java heap space
\#
\# JRE version: OpenJDK Runtime Environment (11.0.10+9) (build 11.0.10+9-post-Debian-1)
\# Java VM: OpenJDK 64-Bit Server VM (11.0.10+9-post-Debian-1, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
\# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
\#
\# An error report file with more information is saved as:
\# /home/rroland/src/metabase/target/uberjar/hs_err_pid40255.log
\#
\# If you would like to submit a bug report, please visit:
\#   https://bugs.debian.org/openjdk-11
\#
Aborted
```

Previous output:

```text
rroland@tardis:~/src/metabase/target/uberjar$ java -Xmx50m -XX:+ExitOnOutOfMemoryError -jar metabase.jar
WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
2021-02-25 11:38:46,898 INFO metabase.util :: Maximum memory available to JVM: 50.0 MB
Terminating due to java.lang.OutOfMemoryError: Java heap space
```

* Fix queries with multiple levels of nesting and aggregating/filtering (#14992)

There was a bug where we were reusing source query metadata with multiple levels of nesting which was actually incorrect with breakouts/aggregations were used in the nested levels. Simple fix, should eliminate a whole class of bugs around nesting multiple levels deep

* Add Cypress custom log command (#14986)

* Add custom Cypress log function

Shoutout to @filiphric for the original idea and inspiration.

* Update all occurrences of `cy.log`

* Remove `.only` from a test left by mistake

* Reset log counter for each test

* Add new dev QP tool to convert an MBQL query to MBQL shorthand (#15002)

* Fix nested queries with joins and expressions (#14969) (#15001)

* Fix nested queries with joins and expressions (#14969)

* Re-enable cypress tests

* Test fix :wrench:

* Test fixes :wrench:

* Fix Cypress test

* Remove check for "Grand totals" from Cypress test

* Test fixes :wrench:

Co-authored-by: Nemanja <31325167+nemanjaglumac@users.noreply.github.com>

* #14989 Repro: Pivot Table does not work for users without data permissions (#15011)

* Make the number formatting, global or otherwise, apply to percentages in pie charts (#14995)

* obey those number separator settings

* make it lint

* format table cells with dashboard click behavior as links (#15015)

* #14985 Repro: Pivot table breaks with custom mapping of display values (#15018)

* Fix pivot table queries w/o data permissions; a few other related fixes (#15019)

* Fix pivot table queries w/o data permissions

* Text fix :wrench:

* Refactor

* Ns sorting

* Add Cypress custom command for creating the dashboard (#15004)

* Fix BigQuery generated field aliases when table names contain non-alphanumeric characters (#15023)

* Fix BigQuery not returning errors right away (#14918)

* Remove diacriticals and other invalid chars from BigQuery field alias identifiers

* Test fix

* Add Cypress custom command for creating the question (#15005)

* #14990 Repro: Dashboard Subscription sidebar broken for Sandboxed users (#15035)

* Delete unused `metadata.js` file (#15037)

* fix(load) aggregated questions can be dumped/loaded (#14871)

* Add Cypress custom command for creating native questions (#15007)

* Date range filters should respect the start-of-week Setting 📆  (#15040)

* Date range filters should respect the start-of-week Setting (#14294)

* Test fix :wrench:

* Test fixes :wrench:

* Add test for #13604

* Test fix :wrench:

* Improved BigQuery data loading

* Fix BigQuery bucketing by day-of-week

* Fix Oracle bucketing by :day-of-week

* Add error type

* Presto ??

* Test fix :wrench:

* Fix a few things

Co-authored-by: Raimon Grau <raimonster@gmail.com>
Co-authored-by: Cam Saul <1455846+camsaul@users.noreply.github.com>
Co-authored-by: Nemanja Glumac <31325167+nemanjaglumac@users.noreply.github.com>
Co-authored-by: flamber <1447303+flamber@users.noreply.github.com>
Co-authored-by: Kyle Doherty <5248953+kdoh@users.noreply.github.com>
Co-authored-by: Jeff Bruemmer <jeff@metabase.com>
Co-authored-by: Paul Rosenzweig <paulrosenzweig@users.noreply.github.com>
Co-authored-by: Robert Roland <rob@metabase.com>
Co-authored-by: Tim Macdonald <tsmacdonald@gmail.com>
Co-authored-by: dpsutton <dan@dpsutton.com>
Co-authored-by: Maz Ameli <maz@metabase.com>
Co-authored-by: Paul Rosenzweig <paul.a.rosenzweig@gmail.com>
Co-authored-by: Cam Saul <github@camsaul.com>
Co-authored-by: ghaudiquet <76477647+ghaudiquet@users.noreply.github.com>
Co-authored-by: Ariya Hidayat <ariya@metabase.com>
Co-authored-by: Dalton <daltojohnso@users.noreply.github.com>
Co-authored-by: Luis Paolini <paoliniluis@gmail.com>
Co-authored-by: Jeff Evans <jeff303@users.noreply.github.com>
Co-authored-by: Simon Belak <simon@metabase.com>
Co-authored-by: Walter Leibbrandt <23798+walterl@users.noreply.github.com>
Co-authored-by: Jeff Evans <jeff.evans@metabase.com>
Co-authored-by: sun <776766759@qq.com>
Co-authored-by: Howon Lee <hlee.howon@gmail.com>
@tovbinm

This comment has been minimized.

@flamber flamber linked a pull request Jan 7, 2022 that will close this issue
4 tasks
alxnddr added a commit that referenced this issue May 16, 2022
… parent (#22663)

* Enable saving to subcollection when access to parent is revoked (#14052)

* Formatting

* fix adding questions to dashboards when parent is not shared

* add lodash to dependencies

Co-authored-by: Chris Wu <chris@faros.ai>
@flamber flamber added this to the 0.44 milestone May 16, 2022
alxnddr added a commit that referenced this issue May 16, 2022
… parent (#22663)

* Enable saving to subcollection when access to parent is revoked (#14052)

* Formatting

* fix adding questions to dashboards when parent is not shared

* add lodash to dependencies

Co-authored-by: Chris Wu <chris@faros.ai>
This was referenced Mar 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Administration/Permissions Collection or Data permissions Organization/Collections Priority:P2 Average run of the mill bug .Reproduced Issues reproduced in test (usually Cypress) Type:Bug Product defects
Projects
5 participants