This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Oct 01, 2024
-
-
Romeo Van Snick authored
* Simplify browse components imports * Move metrics-related browse components to separate folder * Move models related browse components to separate subdir * Split up browse/test-utils * Move schemas related browse code to separate folder * Move databases related browse code to separate folder * Move tables related browse code to separate folder * Fix import paths * Avoid drilling into metric module * Avoid drilling into models module * Move enterprise tests for browse models * Format comments * Remove unused sortModelsByVerification plugin helper * Support skipToken in useFetchModels * Simplify models content verification * Fix filter button query * Do not filter recent models if there are no verified models * Use filterButton helper everywhere * Fixup comment * Use new var-style color
-
Nicolò Pretto authored
-
Romeo Van Snick authored
* Await dashcard query when editing * Reload to fix flake * Reset filters to fix flake * Await dashcard query when editing * Wait for query * WIP * Hard-visit dashboard * Split up test to avoid navigation issues
-
Chris Truter authored
-
Kamil Mielnik authored
* Allow using metrics with offset in custom expressions * Unskip and update repro
-
- Sep 30, 2024
-
-
Jeff Bruemmer authored
-
Noah Moss authored
-
Vamsi Peri authored
-
John Swanson authored
* Do not cache all token check failures We want to cache token checks to avoid an issue where we repeatedly ask the store "hey, is this token valid?? is this token valid?? is this token valid??" for the same token. However, transient errors can also occur. For example, maybe a network issue causes the HTTP request to fail entirely. In this case, if we cache the result, the user needs to restart metabase (or wait 5 minutes until the cache is cleared) before they can attempt to validate their token again. This PR moves the cache logic deeper into the stack. We want to cache "successful" responses from the store API - cases where the store has told us categorically that the token is or is not valid. We don't want or need to cache other things that might happen. Maybe your token isn't the right length - we can recalculate that, it's ok. Maybe you get a 503 error from the Store - we should let you retry. Maybe your network is having issues and you can't contact the Store at all - again, we should let you retry. The one potential issue I see here is that if the store goes down, we'll massively increase the number of requests we send to the store, potentially making it harder to recover. If this is a concern, I can add a circuit breaker: if we repeatedly get errors back from the store, back off and stop making requests for a while. * Add a circuit breaker to store API requests In the pathological case where the store goes down for >5 minutes, the cache will expire and all instances everywhere will start repeatedly making requests for token validation at once. This might make recovering from an outage more difficult. This adds a circuit breaker around the API request. If the call repeatedly throws (5XX errors, socket timeouts, etc.) then we'll pause for 1 minute, during which time all calls to token validation will immediately fail without making any request to the API. After one minute, we'll allow one request through to the API. If it succeeds, we'll go back to normal operation. Otherwise, we'll wait another minute.
-
Noah Moss authored
-
Nicolò Pretto authored
* putSetting helper * change all usages of cy.request("PUT" "api/setting/..." to putSetting(...) in e2e tests * Update e2e/support/helpers/api/putSetting.ts Co-authored-by:
Kamil Mielnik <kamil@kamilmielnik.com> * Update e2e/support/helpers/api/putSetting.ts Co-authored-by:
Kamil Mielnik <kamil@kamilmielnik.com> * sort exports * putSetting -> updateSetting as per PR suggestion --------- Co-authored-by:
Kamil Mielnik <kamil@kamilmielnik.com>
-
Romeo Van Snick authored
* Temporarily disable compare to the past ui components * Temporarily disable compare to the past tests * Skip Compare to past unit tests
-
Luiz Arakaki authored
* rename usage analytics and few fixes * update e2e tests * update some other strings too --------- Co-authored-by:
Ryan Laurie <iethree@gmail.com>
-
Uladzimir Havenchyk authored
* refactor: rework stories from MDX to MDX + CSF * short syntax * fix or bypass typescript errors * fix leftovers * cleanup leftovers * convert js stories to tsx * restore some comments * fix linting
-
- Sep 27, 2024
-
-
Noah Moss authored
-
Braden Shepherdson authored
This was old logic to support certain drivers (eg. pre-JDBC Druid) and isn't required for most. It's perfectly sound to filter or even break out on a datetime column without bucketing. Adds a new `:temporal/requires-default-unit` driver feature, and enables it only for the legacy Druid driver. Fixes #47341
-
Nicolò Pretto authored
-
Romeo Van Snick authored
* Reset the dashboard parameter when setting the default value * Fix test for filter default * Add test for setting parameters when editing the defaults * Use plain dispatch Co-authored-by:
Uladzimir Havenchyk <125459446+uladzimirdev@users.noreply.github.com> * Use cy.log instead of comments * Use icon selector --------- Co-authored-by:
Uladzimir Havenchyk <125459446+uladzimirdev@users.noreply.github.com>
-
adam-james authored
Fixes 46575 Creating a Pivot Table Question that is based off of a model that has at least one column derived from a join failed to display row totals. This is because the pivot-options map was being mis-calculated; not all column indices were correctly found/passed in to the :pivot-rows or :pivot-cols keys, causing the pivot query not to compute all necessary data. Here, I just modify the :lib/source key of the columns whose source is a card (as determined by the existence of :lib/card-id). The columns being checked will all have :source/breakout, which caused, in the issue's repro example, the "NAME" column to be missed. If it instead has :lib/source :source/card, the logic inside `lib/find-matching-column` works.
-
Ryan Laurie authored
-
lbrdnk authored
-
Ryan Laurie authored
-
Oisin Coveney authored
-
Chris Truter authored
-
Chris Truter authored
-
- Sep 26, 2024
-
-
Nicolò Pretto authored
* IS_EMBEDDING_SDK_BUILD -> IS_EMBEDDING_SDK to keep things simple, as we already have that name in other places * don't load metabase css in sdk stories * first two stories * make the store not a global "singleton" anymore * basic test for font-family styles in the SDK * allow any custom font in theme.fontFamily as we actually support it * fix tests using hardcoded default font family
-
Ryan Laurie authored
* create dashboard settings sidebar * only show settings to dashboard editors * add dashboard details * update localization * fix merged type * fix mixed-up creation and editing
-
lbrdnk authored
* Databricks JDBC driver base * Add databricks CI job * WIP data loading -- it works, further cleanup needed * Cleanup * Implement ->honeysql to enable data loading * Hardcode catalog job var * Implement driver methods and update tests * Derive hive instead of sql-jdbc * Cleanup leftovers after deriving hive * Run databricks tests on push * Cleanp and enable set-timezone * Disable database creation by tests * Add Databricks to broken drivers for timezone tests * Exclude Databricks from test * Enable have-select-privilege?-test * Restore sql-jdbc-drivers-using-default-describe-table-or-fields-impl post rebase * Restore joined-date-filter-test * Adjust to work with dataset definition tests * Adjust alternative date tests * Remove leftover reflecttion warning set * Update test exts * cljfmt vscode * Add databricks to kondo drivers * Update metabase-plugin.yaml * Update databricks_jdbc.clj * Rework test extensions * Update general data loading code to work with Databricks * Reset tests to orig * Use DateTimeWithLocalTZ for TIMESTAMP database type * Convert to LocalDateTime for set-parameter * Update test extensions field-base-type->sql-tyoe * Update database-type->base-type * Enable creation of time columns in test data even though not supported * Fix typo * Update tests * Udpate tests * Update drivers.yml * Disable dynamic dataset loading tests * Adjust the iso-8601-text-fields-should-be-queryable-date-test * Update load-data/row-xform * Add time type exception to test * Update test data loading and enable test * Whitespace * Enable all driver jobs * Update comment * Make catalog mandatory * Remove comment * Remove log level from spec generation * Update sql.qp/datetime-diff * Update read-column-thunk * Remove comment * Simplify date-time->results-local-date-time * Update comment * Move definitions * Update test extension types mapping * Remove now obsolete ddl/insert-rows-honeysql-form implementation * Update sql-jdbc.conn/connection-details->spec for perturb-db-details * Update load-data/do-insert! * Remove ssh tunnel from driver as tests do not work with it * Update test * Promote ::dynamic-dataset-loading to :test/dynamic-dataset-loading and modify corresponding tests * Adjust to broken TIMESTAMP_NTZ sync * Update read-column-thunk to return timestamps always in Z * Comment * Disable tests for dynamic datasets * Return spark jobs into drivers.yml * Update Databricks CI catalog * Remove vscode cljfmt tweak * Update iso-8601-text-fields-expected-rows * Update datetime-diff * Formatting * cljfmt * Add placeholder test * Remove comment * cljfmt * Use EnableArrow=0 connection param * Remove comment * Comment * Update tests * cljfmt * Update driver's deps.edn * Update tests * Implement alternative `describe-table` * WIP Workaround for timestamp_ntz sync, will be thrown away probably * Update metabase-plugin.yaml with schema filters * Update driver to use schema filters and remove now redundant sync implemnetations * Update tests * Update tests extensions * Update test * Add feature flags for fast sync * Implement describe-fields * Implement describe-fks-sql * Enable fast sync features * Use full_data_type * Comment * Add exception for timestamp_ntz columns to new sync code * Implement db-default-timezone * Add timestamp_ntz ignored test * Add db-default-timezone-test * Fix typo * Update setReadOnly * Add comment on setAutoCommit * Update chunk-size * Add timezone-in-set-and-read-functions-test * Drop Athena from driver exceptions * Use set/intersection instead of a filter * Add explicit fast-sync tests * Update describe-fields-sql and add comment * Add preprocess-additional-options * Add leading semicolon test * Disable dataset creation and update comment * Rename driver to `databricks` * Use old secret names * Fix wrongly copied hsql list * Temporarily allow database creation * Add *allow-database-deletion* * Temporarily allow database creation * Disable database creation * cljfmt * cljfmt
-
Chris Truter authored
-
Oleksandr Yakushev authored
* perf: Faster is-trash? for collections * perf: Faster annotate-collections and collections->tree * perf: Optimize path generation in collection->tree
-
Oleksandr Yakushev authored
-
- Sep 25, 2024
-
-
Noah Moss authored
Co-authored-by:
Thomas Schmidt <thomas@metabase.com>
-
Ryan Laurie authored
-
John Swanson authored
* Require `:encryption` for string settings For settings that are not typed as JSON, CSV, or strings, encryption now defaults to `:no` (*except* if you have explicitly marked your setting as `:sensitive?` - these will default to `:when-encryption-key-set`). I went through all our settings and provided what I think are reasonable values here. I tried to be conservative - when I wasn't sure whether a stored setting was sensitive, I kept it as encrypted. For example, the `ldap-port` setting is probably non-sensitive but theoretically someone could be using a weird port for security-by-obscurity, so I kept that encrypted. * Change possible values for `:encryption` `:maybe` was confusing: let's be more explicit that the value will be encrypted `:when-encryption-key-set` to make it obvious what actually turns encryption on and off.
-
Nick Fitzpatrick authored
* test with disabled query analysis and feature disabled in token * types * useSetting
-
Nemanja Glumac authored
* Pre-fill cloud user info from search params * Autofocus password field for hosted instances * Add tests * Parse setup user info and store it immediatelly * Autofocus password input field for hosted instances * Add e2e reproduction * Fix the user info * Fix unit test
-
Anton Kulyk authored
-
Ryan Laurie authored
* only update version info for latest tag (for now) * add another safety check
-
Ryan Laurie authored
* auto tag nightly releases * update dependencies
-
Ryan Laurie authored
* fix release log generation * proper github actions type casts
-