This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Mar 02, 2023
-
-
Mahatthana (Kelvin) Nomsawadi authored
* Fix wrong aggregation field's `base_type` It should be the same as the underlying field, not a hard-coded number typ (`type/Integer` or `type/Float`) * Add unit tests
-
Alexander Polyankin authored
-
Nemanja Glumac authored
-
Ngoc Khuat authored
-
- Mar 01, 2023
-
-
Ryan Laurie authored
* WIP action data type tests * DRY up the actions tests * lots of type tests * make the tests work * reorganize tests * reduce some flakes * updates after rebase
-
adam-james authored
* Add /api/logs/query_execution endpoint for downloading logs. Intended for admins to use only via api to manually save logs if they want. Paired with auto-deleting the query_execution after N days (30 by default), this should help admins keep the query_execution table light. * Add docstrings * Add a test for the logs/query_execution endpoint This test checks that the correct rows are returned, that is, those within the specified number of days. * Tests should pass with h2 now. * Move logs endpoint to Enterprise, allowed only with `:advanced-config` * Forgot to remove api.logs ns require from OSS routes * Wrap logs endpoint in proper premium feature * Test will filter further to only look for THIS run's temp rows * Alter query to give results for a month specified as YYYY-MM This lets admins do paginated log downloads, which is good if the query_execution table is quite large (very likely, at least initially). * Add sanity check test. Address other review feedback
-
Alexander Polyankin authored
-
Gustavo Saiani authored
-
Cam Saul authored
* Release script fix * Add test
-
Cam Saul authored
* Metabase lib PoC RFC [ci skip] * Cleanup [ci skip] * `:lib/uuid` overhaul [ci skip] * More tests [ci skip] * Basic join support [ci skip] * Simplify a few things, more tests, etc. [ci skip] * Pipeline queries FTW [ci skip] * Metabase® Lib™ v2 * Fix cljs test assertions * No bees please * Update docstring * Mega simplification * Fix Kondo warnings * Address PR feedback * Fix Malli util for Cljc * Oops, `instrument!` should be public * Cloverage do not instrument JS util namespace * Fix Cloverage again * Don't count MySQL or Postgres namespaces for Coverage * Address PR feedback * Move dispatch value keyword function to util * Revert acccidental require * Test fix * Fix Cljs =? * Fix totally unrelated broken links
-
Emmad Usmani authored
-
Anton Kulyk authored
-
Aleksandr Lesnenko authored
-
Nemanja Glumac authored
-
Nemanja Glumac authored
-
Cal Herries authored
-
Cam Saul authored
* Build Script overhaul * Remove stray deps.edn * Include :ci profile for build and release tests * Fix release script * Update markdown dox * Update another dox * Tweakz * Don't pin new version of data.xml to core project, just for build scripts * Ignore unrecognized options * Fix i18n/enumerate
-
Natalie authored
-
Ngoc Khuat authored
* expose number of active users as a setting
-
Braden Shepherdson authored
The new approach uses a dev-mode-only CLJC reader conditional `#?(:cljs-dev ...)` to make `metabase.util.devtools` empty except in dev builds. The previous approach for this relied on dead code elimination. But DCE relies on tracing function calls and `:require`s from the `:entries` list in shadow-cljs.edn. Top-level namespace code is handled differently; in particular a namespace listed in `:entries` like `metabase.util.devtools` will always have its top-level code in the build.
-
Nemanja Glumac authored
* Register new E2E path alias * Move E2E support files * Move E2E runner files * Move E2E snapshot related files * Move E2E visual regression tests * Move E2E `downloads` scenarios * Move E2E `admin` scenarios * Move E2E `auditing` scenarios * Move E2E `bining` scenarios * Move E2E `ccollections` scenarios * Move E2E `cross-version` scenarios * Move E2E `custom-column` scenarios * Move E2E `dashboard` scenarios * Move E2E `dashboard-filters` scenarios * Move E2E `dashboard` reproductions * Move E2E `embedding` scenarios * Move E2E `filters` scenarios * Move E2E `joins` scenarios * Move E2E `models` scenarios * Move E2E `native-filters` scenarios * Move E2E `native` scenarios * Move E2E `onboarding` scenarios * Move E2E `organization` scenarios * Move E2E `permissions` scenarios * Move E2E `question` scenarios * Move E2E `visualizations` scenarios * Move E2E `sharing` scenarios * Move E2E `docker-compose` * Fix commands imports * Fix helpers imports * Fix downloads reproductions imports * Fix integration imports * Move visual regression tests * Various fixes * Move `validate-e2e-files` script * Add eslint rules for E2E folder * Improve file paths * Move `cross-version` tests into scenarios * Path fixes * Register E2E alias in tsconfig * Fix failing tests after rebase
-
Ryan Laurie authored
-
Ngoc Khuat authored
* Fix static-viz render with black background when values > 1000 * fix to work with any separator settings
-
- Feb 28, 2023
-
-
Bryan Maass authored
* Adds tests for chain filters security issue * add another test * Users with collection permissions can view chained filters for dashboard - this obeys sandboxing * Users with collection access should be allowed to view chain filters * add test + fix case for block filters * check with premium features * check premium features + revert with-premium-features in tests * remove block check * respond to review comments * ensure data-perms are there + check blocked * rewrite e2e test so that it actually tests chain filters * properly toggle linked filters on - don't use random classes, etc * rename *param-values-query* dynamic var * update chain-filter docstring * token-features should still be private
-
Noah Moss authored
* initial implementation of query_execution retention policy * fix logic and add tests for setting * refactor and more tests * set default on cloud to 0 * try to fix test by loading ee ns if available * address feedback and small refactors * interface file for truncate-audit-log * extract common definitions into an interface to avoid cyclic dependency * fix indentation
-
dpsutton authored
* Ensure query action's db matches model id This is only a half-way measure. Needs some FE loving as well. The +New -> Action workflow lets you create an action. This starts with the user choosing the database, writing the action. On save it prompts you to choose a model it should live under. But this model's db and the db chosen originally are not checked in the FE. Ideally we only show models on that existing db, but it kinda seems weird to have an action do things to a random table and it live under a model that just needs to be on the db. * reword error message Co-authored-by:
Maz Ameli <maz@metabase.com> * Check both databases for enabled actions when they disagree a custom action can have its own query which brings its own database. When creating a new custom action from the models detail page, these go hand in hand. When using the workflow from the "+New" button, the model is chosen at the last step, well after the action's db and query is set. And there's nothing holding these two together. Asked if this was a bug and was told no. But we want to make sure we check both for actions enabled. * fix lint --------- Co-authored-by:
Maz Ameli <maz@metabase.com>
-
Nemanja Glumac authored
-
dpsutton authored
* Delay substituting persisted native query until after analysis We were substituting persisted queries into the query at too early a stage. Card 729 is a persisted model of `select * from categories` ```clojure {:type :query, :query {:source-table "card__729", :expressions {:adjective ["case" [[[">" ["field" 100 nil] 30] "expensive"] [[">" ["field" 100 nil] 20] "not too bad"]] {:default "its ok"}]}, :aggregation [["count"]], :breakout [["expression" "adjective" nil] ["field" 101 nil]]}, :database 3, :parameters []} ``` This would immediately get turned into an equivalent ```clojure {:type :query, :query {:source-table 12 :persisted-info/native "select \"id\", \"ean\", \"title\", \"category\", \"vendor\", \"price\", \"rating\", \"created_at\" from \"metabase_cache_424a9_3\".\"model_729_products_r\"" :expressions {:adjective ["case" [[[">" ["field" 100 nil] 30] "expensive"] [[">" ["field" 100 nil] 20] "not too bad"]] {:default "its ok"}]}, :aggregation [["count"]], :breakout [["expression" "adjective" nil] ["field" 101 nil]]}, :database 3, :parameters []} ``` And the obvious failure here is the use of `[:field 100 nil]` (price) against an inner query of `select ... price ... from cache_table`. This could break many queries and caused a flood of ``` WARN middleware.fix-bad-references :: Bad :field clause [:field 100 #:metabase.query-processor.util.add-alias-info{:source-table :metabase.query-processor.util.add-alias-info/source, :source-alias "price"}] for field "products.price" at [:expressions "adjective" :case :>]: clause should have a :join-alias. Unable to infer an appropriate join. Query may not work as expected. WARN middleware.fix-bad-references :: Bad :field clause [:field 100 #:metabase.query-processor.util.add-alias-info{:source-table :metabase.query-processor.util.add-alias-info/source, :source-alias "price"}] for field "products.price" at [:expressions "adjective" :case :>]: clause should have a :join-alias. Unable to infer an appropriate join. Query may not work as expected. ``` * forgot to commit new test file * Handle persisted before native * Add test for native models - have to populate the metadata. You can do this by running the query, but there are some requirements around the `:info` object to actually save it. So just take the more mechanical route - `wait-for-result` returns a time out value, but it's namespaced autoresolved to a namespace inside of the metabase.test forest and not mt itself. So easy to mess up and watch for the wrong keyword. Want an arity so i can check my own timeout value and throw a helpful error message. I checked around and noone seems to care. So not great, but at least people aren't checking `::mt/timed-out` when it should be `::tu.async/timed-out` or `:metabase.test.util.async/timed-out`. Possibly best scenario is we remove the autoresolved bit and have it return `:async/timed-out` or something stable. * properly compile the native query * bump timeout to set redshift metadata
-
john-metabase authored
Cleans/fixes serdes v2 export :collections handling in cmd and API
-
Anton Kulyk authored
* Handle errors when enabling database actions * Use more common error message fallback * Use `Promise<void>` for other `Sidebar` callbacks
-
Alexander Polyankin authored
-
Nick Fitzpatrick authored
* Adding flex grow to card wrapper * Optimize repro * fix height on cards --------- Co-authored-by:
Nemanja <31325167+nemanjaglumac@users.noreply.github.com> Co-authored-by:
Aleksandr Lesnenko <alxnddr@gmail.com> Co-authored-by:
Aleksandr Lesnenko <alxnddr@users.noreply.github.com>
-
Anton Kulyk authored
* Handle archived and not existing actions * Handle model ID mismatch * Migrate to `fetch-mock` * Don't use URL helpers in tests * Fix action editor assertions in model detail tests
-
john-metabase authored
-
Cal Herries authored
-
Aleksandr Lesnenko authored
* Revert "Fixing Table isValid check (#28411)" This reverts commit 5e18759f. * Revert "GH 28304 and GH 28311 (#28314)" This reverts commit 47bad0d3. * revert column settings changes * object detail view * adjusting e2e tests --------- Co-authored-by:
Nick Fitzpatrick <nick@metabase.com>
-
Denis Berezin authored
-
Nemanja Glumac authored
* Run workflows using `ubuntu-22.04` - batch 2 * Do not run `i18n` workflow on the latest Ubuntu
-
Nemanja Glumac authored
[ci skip]
-
Ngoc Khuat authored
* add tests for sandbox user apis
-