This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Feb 28, 2024
-
-
Sloan Sparger authored
-
Oleg Gromov authored
-
Denis Berezin authored
* Add local-global styles * Add local-global styles * Fix missed rules * Fix vendors styles * Revert emotion refactors * Fix vendor styles * Fix eslint * Fix e2e tests * Fix review comments * Fix * Code review fixes * Hotfix after merge
-
Alexander Polyankin authored
-
Uladzimir Havenchyk authored
-
Nemanja Glumac authored
Fixes #39053.
-
Kamil Mielnik authored
* Show unsaved changes warning for native questions only when the query has been changed * Drop legacyQuery usage * Add test for new behavior * Update pathnames for running questions - required to make native_subquery.cy.spec.js pass - this test suite uses native queries referencing other questions by id instead of a full slug, and upon opening such question the id in the query automatically changes to the full slug, and the URL gets a hash
-
Tony-metabase authored
Removing a trailing `/`
-
Nemanja Glumac authored
* Add new user-specific setting `last-used-database-id` * Update user settings when user selects a database for a native query * Remember the last used database in the native query editor * Fix type error * Set database id when initializing new native question * Persist the database only for "New > Native query" * Persist last used database for native models * Mark `last-used-database-id` setting as potentially `undefined` * Reduce diff * Remove unused prop from QB * Lift dispatch logic up to the `View` component * Fix type errors * Make this setting work for all authenticated users * Add initial E2E tests * Add initial backend unit test * Expand the backend unit test to check for user-local only property * Fix E2E test and make it more explicit * Add mongo-related E2E test * Fix typo * Add permission-related E2E tests - Adds reproduction for #39053 * Make sure no redundant requests are made This commit ensures no redundant requests are made when selecting the same, i.e. the previously selected, database. * Add E2E tests related to model actions * Clean up * Extract persist database logic into an action * Update the setting name as suggested in the code review * Make the setting description a bit more explicit * Add one more permissions-based E2E test * Store postgres database name in a variable
-
Kamil Mielnik authored
* Keep result-metadata of native queries if possible Part of #37009. * Fix typo * Add a fallback for when resultMetadata is not available * Revert "Add a fallback for when resultMetadata is not available" This reverts commit 5ad3a8b4081ed192267621b716b1634d304f470f. * Move resultsMetadata logic into getSubmittableQuestion * Add a fallback for when resultMetadata is not available * Add explanatory comment * Guard against missing resultsMetadata * Add repro for #35039 * Simplify the test * Add an explanatory comment * Fix test * Rename promise to runQuestionPromise --------- Co-authored-by:
Tamás Benkő <tamas@metabase.com>
-
Mahatthana (Kelvin) Nomsawadi authored
* Remove unused props to avoid confusion * Fix incorrect official collection icon in collection view * Fix hardcoded SVG icon color * Remove unused prop
-
- Feb 27, 2024
-
-
dpsutton authored
We prune persisted info records if they meet any of the following criteria: ```clojure (or (contains? (persisted-info/prunable-states) current-state) (:archived card-info) (not (:dataset card-info))) ``` But we only deleted the record when: ```clojure (when (= "deletable" current-state) (t2/delete! PersistedInfo :id (:id persisted-info))) ``` So any records that were in a "creating" state (persist a model, but before it first gets persisted, make it not a model, or archive the underlying model), we constantly pruned them but never removed the persisted info record. Leading to task results like: ```javascript {"success": 21, "error": 0, "skipped": 0} ``` Because 21 things were queued up for pruning, were attempted to be pruned, but the persisted info record never removed.
-
Cam Saul authored
* Drop report_card.dataset [WIP] [ci skip] * Drop report_card.dataset * Some test fixes * More test fixes * All OSS tests should be fixed now? * Remove check for :dataset key from snake-hating-map * Remove NOCOMMIT stuff * Remove unused namespaces * PR feedback * Migrate dataset attribute in autocomplete suggestions (#39054) * FE - Migrate `dataset: true` to enum value in Bookmarks (#39056) * Fix Card["type"] - Bookmark["card_type"] mapping and add an extra assertion * Fix card-type check out of raw query * Fix the test * Fix tests after merge * Log body when unexpected response code * Get logging in CI * Relax is_upload schema for latest mariadb --------- Co-authored-by:
Kamil Mielnik <kamil@kamilmielnik.com> Co-authored-by:
Case Nelson <case@metabase.com> Co-authored-by:
Alexander Polyankin <alexander.polyankin@metabase.com>
-
Mark Bastian authored
This PR updates the logic of skipping what cards are displayed in a pulse email by ensuring the type of the card being processed is a `:card` in addition to having no results.
-
Uladzimir Havenchyk authored
-
Nemanja Glumac authored
This PR narrows down the matching pattern for the milestone reminder to only the descriptions that explicitly contain one of the closing keywords followed by the issue (number). To verify that the proposed solution works, please check: - https://regexr.com/7sk94 Also see the list of the closing keywords as defined by GitHub. https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests * Make the pattern case insensitive Co-authored-by:
Nicolò Pretto <info@npretto.com>
-
Mark Bastian authored
* Fixing bad pulses when bad params exist Previously, when a dashboard parameter was removed that was depended upon by a subscription, the subscription went into a broken state that was unfixable (the removed param was still attached to the notification but not visible in the UI for editing). Rather than remove that parameter, which could potentially lead to data leaks, we just archive the pulse. Now, when a dashboard is saved that would break a pulse/subscription, we archive the pulse and send an email the the dashboard and pulse creators to notify them that the pulse has been removed. The email also contains which params were removed as well as a list of who will no longer be receiving the messages. One code consideration when writing the query logic to determine the blast radius of the bad pulse was whether to write a large join query then reorganize the results or do N+1 queries starting from the pulse id (The logic requires hitting all of pulse, pulse channel, pulse channel recipients, and user tables). I started with a full join query along the lines of what is shown below, but opted for the N+1 query as broken pulses should be a very rare occurrence so readability was preferred over performance. ```clojure (let [parameter-ids ["a3d043d5"]] (when (seq parameter-ids) (t2/query (sql/format {:with [[:params {:select [[:id] [[:raw "json_array_elements(parameters::json) ->> 'id'"] :parameter_id]] :from :pulse}] [:pulse_ids {:select-distinct [[:id :pulse_id]] :where [:in :parameter_id parameter-ids] :from :params}]] :select [[:p.id :pulse_id] [:pc.id :pulse_channel_id] [:pcr.id :pulse_channel_recipient_id] [:creator.first_name :creator_first_name] [:creator.last_name :creator_last_name] [:creator.email :creator_email] [:recipient.first_name :recipient_first_name] [:recipient.last_name :recipient_last_name] [:recipient.email :recipient_email]] :from [[:pulse :p]] :join [:pulse_ids [:= :p.id :pulse_ids.pulse_id] [:pulse_channel :pc] [:= :pc.pulse_id :p.id] [:pulse_channel_recipient :pcr] [:= :pcr.pulse_channel_id :pc.id] ;; Get the pulse creator [:core_user :creator] [:= :creator.id :p.creator_id] ;; Get the pulse recipient [:core_user :recipient] [:= :recipient.id :pcr.user_id]]})))) ``` * Fixing inconsistent test results by adding a timeout and expecting 2 messages. * Fixing NPEs in tests, but not sure why we are not getting results sometimes. * Trying to fix 500 in dashboard PUT * Tests run ok locally against mongodb * Fixing unit tests * fixing template up * fixing unit tests * Adding refined tests to try to detect what is going on with failing tests * Formatting * Tracking down test failures and updating email template * Removing db-specific query * Simplifying broken pulse logic to not get all pulses twice. * A couple small simplifications to the logic. * Adding slack messaging * Making pulse checks conditional on parameter updates
-
Ryan Laurie authored
* add useSetting hook * example usage * better types * more implementations
-
metamben authored
Part of #37009.
-
Jeff Bruemmer authored
-
Uladzimir Havenchyk authored
* QB: evaluate notebook preview lazily * fixup! QB: evaluate notebook preview lazily * fixup! fixup! QB: evaluate notebook preview lazily * fixup! fixup! fixup! QB: evaluate notebook preview lazily
-
Nemanja Glumac authored
* Move `initialCollectionId` prop to `QueryModals` * Remove unused prop and selector
-
Oleg Gromov authored
-
Oleg Gromov authored
-
Nemanja Glumac authored
-
Uladzimir Havenchyk authored
-
- Feb 26, 2024
-
-
Emmad Usmani authored
-
Nemanja Glumac authored
* Use mongo 5.0 for E2E tests * Update snapshot names * Update DB name
-
Jeff Bruemmer authored
-
metamben authored
Fixes #38954.
-
Jeff Bruemmer authored
-
Uladzimir Havenchyk authored
* Fix applying default values for a pinned question * fix typecheck * Add a comment
-
Ryan Laurie authored
* Add two Snowplow click tracking events to the Browse Data page, for clicks on models and tables # Conflicts: # frontend/src/metabase/browse/components/BrowseModels.tsx # frontend/src/metabase/browse/components/TableBrowser/TableBrowser.jsx * add backend event * fix event tracking * test snowplow even * update schema type field * more prettier --------- Co-authored-by:
Raphael Krut-Landau <raphael.kl@gmail.com>
-
Case Nelson authored
Converted queries need to fill in types of references converted from v1 to properly pass schemas. However legacy refs still exist in `:lib/stage-metadata` and these refs should not be touched. Checking that `map?` is in the second position of a ref is an easy way to determine which version ref we're looking at.
-
Anton Kulyk authored
-
Anton Kulyk authored
* Missing untranslated string * Fix redundant `export` * Misc clean up * Remove duplicate block * Decouple `LLMSuestionQuestionInfo` from form * Merge loading and loaded state layouts * Extract `getSubmittableQuestion` * Compute `submittableQuestion` in save modal * Fix selectors * Fix types naming style * Fix multiple calls to summarize endpoint
-
Alexander Polyankin authored
* Migrate graph.metrics to use QP metadata * Migrate graph.metrics to use QP metadata * Handle native columns * Handle missing query results * Optimize
-
- Feb 23, 2024
-
-
Case Nelson authored
Fixes #26202 Previously we only looked for binned field-ids in order to update binning strategies in qp. With this change we also look for field-name refs. This allows expressions to be binned in models.
-
John Swanson authored
-
Mark Bastian authored
This just bumps the metadata version of the `enable-llm-autodescription?` feature flag to 50 (`^{:added "0.50.0"}`).
-