This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Feb 08, 2024
-
-
Nemanja Glumac authored
-
bryan authored
* load analytics only when changed using a checksum - over audit deserialization files * update docstrings * fix testing wording
-
Uladzimir Havenchyk authored
* Avoid unnecessary re-renderings in DashboardSharingEmbeddingModal * Add deep equal selector * drop underscore
-
Case Nelson authored
* Fix time-interval against expressions When simplifying time-interval filters, we forgot to place a temporal-unit on expressions, which meant that the date-trunc used by quarters had to match the date exactly rather than being in the interval range. * Update optimize temporal filters for expressions There is a dependency with this middleware and mongo. Without optimization mongo cannot compare the bucketed timestamps because AFAICT mongo 4 doesn't have date truncation so we do so in clojure for the compared literal but cannot do the lhs field/expression.
-
Nemanja Glumac authored
* Remove `setDatabaseID` method from the `StructuredQuery` prototype * Remove `setDatabase` method from both Native and Structured queries
-
John Swanson authored
pulling in https://github.com/camsaul/toucan2/pull/162 to fix #38516
-
Anton Kulyk authored
* Add `ADD_MANY_CARDS_TO_DASH` action * Reuse `NewDashCardOpts` type * Extract `DashboardCardLayoutAttrs` type * Add basic `DashCardPlaceholder` viz * Add section layouts * Add `addSectionToDashboard` redux action * Add `SectionLayoutPreview` component * Add "Add section" button to dashboard header * Allow placeholder cards in `replaceCard` * Make heading cards transparent by default * Fix layout fn usage * Update mapping UI for placeholder cards * Fix tooltips position * Add `createMockPlaceholderDashboardCard` * Test `replaceCard` works with placeholder cards * Extract common `setup` from cards actions tests * Add `createMockDashboardTab` * Add unit tests for `addSectionToDashboard` * Placeholder cards work for emails/pulses Dashboards with placeholder cards now properly email rather than throwing an exception. Placeholder cards themselves are not sent as part of the email as they are empty. * Merge remote-tracking branch 'origin/38209-dashboard-sections' into 38209-dashboard-sections * Adding tests for placeholder cards and empty dashboards * Fix parameter mappings UI * Update section card sizes * Clean up * Add button label * Add E2E test * Revert * Reorder * Fix menu position * Assert placeholder card doesn't have a button * Fix menu tooltips * Fixing unit tests * Removed dangling code * Fixing unit tests * Remove virtual cards handling from `replaceCard` --------- Co-authored-by:
Mark Bastian <markbastian@gmail.com>
-
Alexander Solovyov authored
-
Nemanja Glumac authored
-
Nemanja Glumac authored
* Rewrite `SegmentQuestions` to use new question filter * Remove unused Question method * Remove unused selector * Convert `SegmentQuestions` to a functional component * Remove unused underscore import * Extract `getDescription()` to utils * Fix unused vars * Remove superfluous argument from `useQuestionListQuery` invocation
-
Nemanja Glumac authored
* Rewrite `MetricQuestions` to use new question filter * Remove unused selector * Remove unused Question method * Convert `MetricQuestions` to a functional component * Expose new methods on the `Question` prototype * Use new Question methods in `MetricQuestions` * Fix implicit return * Mark `metric` prop as required
-
Nemanja Glumac authored
* [QC] Remove `hasAnyClauses` method from the `StructuredQuery` prototype * [QC] Remove `hasExpressions` method from the `StructuredQuery` prototype * [QC] Remove `hasFilters` method from the `StructuredQuery` prototype * [QC] Remove private `hasSorts` method from the `StructuredQuery` prototype * [QC] Remove `hasLimit` method from the `StructuredQuery` prototype * [QC] Remove private `indexOfField` method from the `StructuredQuery` prototype
-
- Feb 07, 2024
-
-
Jesse Devaney authored
* dashboard fixed width FE implementation * adjust popover shadow styling as the popover was blending in with the header * adjust extra button popover offset * add E2E to validate behavior * add fixed width container to public dashboards * fix public embedding not respecting dashboard width setting * add test for public dashboards * Fix embed test failures * add fixed width to x-ray dashboards * reduce code duplication * move FixedWidthContainer into DashboardGridConnected - We get the fixed-width w/o code duplication across AutomaticDashboardApp, PublicDashboard, and Dashboard * update E2E tests to reflect actual intended behavior * fix type errors * adjust tooltip button after merging changes from master * fix bar chart test failure * fix dashboard filters date test failure - new ellipsis button in dashboard edit mode broke the test * adjust test for new fixed width dashboards * adjust test for new fixed width dashboards * adjust test for new fixed width dashboards * adjust test for new fixed width dashboards * Fix double overlay for LineAreaBarChart dash-cards - No longer has an overlay that persists from editing mode to viewing mode - Adjust click-behavior tests to account for new grid-width. Old test relied on a dashcard being taller than they will now default to being. i.e. Move the chosen point/row to down an index. * Merge FixedWidthContainer with dashboard grid div * supress brush events while editing timeseries line charts on dashboard * fix failing test - test failed because I did not update this assertion based on previous changes --------- Co-authored-by:
Aleksandr Lesnenko <alxnddr@gmail.com>
-
Mark Bastian authored
* Update default Metabot model The default GPT-based Metabot model has been `"gpt-4"`. This model is no longer state of the art, has a limit of 8,192 tokens, and is priced at input: $0.03/ktoken and output: $0.06/ktoken. `"gpt-4-turbo-preview"`, which points internally to `"gpt-4-0125-preview"` is the current state of the art, has a limit of 128,000 tokens, and is priced at input: $0.01/ktoken and output: $0.03/ktoken. This should solve any issues of reasonable cases of token limit failures (e.g. [Metabot 2.0 failing when context length exceeded](https://github.com/metabase/metabase/issues/29932)) without needing to do any extra handling on the backend. For more info on the models, token limits, and pricing, see: - [OpenAI model docs](https://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo) - [OpenAI pricing](https://openai.com/pricing) * whitespace * Removing irrelevant settings test
-
Anton Kulyk authored
* Convert `addDashCardToDashboard` to TypeScript * Convert `addCardToDashboard` to TypeScript * Convert `addMarkdownDashCardToDashboard` to TypeScript * Convert `addHeadingDashCardToDashboard` to TypeScript * Convert `addLinkDashCardToDashboard` to TypeScript * Convert misc actions to TypeScript * Fix types * Move card utils to `metabase/dashboard/utils` * Improve types * Exclude `undefined` from `dashboard_tab_id` type
-
Emmad Usmani authored
-
Uladzimir Havenchyk authored
* Apply performance tweaks during dashboard editing * Revert one change for tests * Fix unit test * reapply fix * Try another improvement * Revert "Adding cache stats to metabase.lib.cache" This reverts commit dc32be74. * Fix unit test * More question caching * Revert "Revert "Adding cache stats to metabase.lib.cache"" This reverts commit 4eea6a12. * Cache questions * Pass object * Reuse questions * Fix unit tests * Fix unit tests * Resolve conflicts * Reuse questions in autowire * fix typecheck * json.stringify -> toString * naming cleanup * Support multi-series dashboards * cleanup * cleanup * Fix typecheck * Use only unique targets * Address comments
-
Romeo Van Snick authored
Add HoverCard to metabase/ui and converts FieldInfoPopover to make use of it. Add DelayGroup helper, which can be used to make sure there are no delays when hovering similar items in the same group.
-
Anton Kulyk authored
-
Nemanja Glumac authored
* Remove unused `canRemove` method from `Aggregation` prototype * Remove unused `clean` method from the `StructuredQuery` prototype * Remove unused `cleanNesting` method from the `StructuredQuery` prototype * Remove unused `_cleanEmpty` method from the `StructuredQuery` prototype * Remove unused private methods from the `StructuredQuery` prototype - cleanJoins - cleanExpressions - cleanFilters - cleanFields And the underlying - _cleanClauseList * Remove `clean` method from `NativeQuery` and `Query` prototypes
-
Anton Kulyk authored
* Add standalone `VirtualDashboardCard` type * Rename `DashboardCard` to `QuestionDashboardCard` * Add new `DashboardCard` type * Move `ActionDashboardCard` type def to dashboard types file * Rename `isQuestionDashCard` type guard * Fix `isQuestionDashCard` type guard * Avoid type-casting for `getVisualizationRaw` * Use type guard for dashcard `series` attr * Avoid type casting in parameter mapping utils * Fix type casting
-
Nemanja Glumac authored
* Remove unused `clearSegments` utils * Remove unused `clearFilters` utils * Remove unused `clearAggregations` utils * Remove unused `clearExpressions` utils * Remove unused `hasValidBreakout` method from the `StructuredQuery` The util with the same name was defined in `metabase-lib/queries/utils/`
-
Luis Paolini authored
add a comment about enterprise version
-
Mahatthana (Kelvin) Nomsawadi authored
* Fix ESlint from the result of upgrading ESLint package * Support `component` prop on Mantine * Prevent accidental ESLint log in Cypress * Upgrade ESLint rule
-
- Feb 06, 2024
-
-
metamben authored
* Implement filtering cards by segment or metric ID Fixes #37688.
-
Uladzimir Havenchyk authored
-
Jeff Bruemmer authored
-
Cam Saul authored
* MLv2 MetadataProviders should know if they are equal * PR feedback
-
Jeff Bruemmer authored
-
Jeff Bruemmer authored
-
Jeff Bruemmer authored
-
Nemanja Glumac authored
* Add `visitDashboardAlias` E2E helper * Overload `visitDashboard` helper It should work with either dashboard id, or with a dashboard id alias. * PoC: Use overloaded `visitDashboard` helper * Update even more tests with the overloaded `visitDashboard` helper * Use `cy.visit` for tests with `cy.clock` instead of a custom helper * Rename non-exported functions
-
Alexander Solovyov authored
-
Mahatthana (Kelvin) Nomsawadi authored
* Keep preview when toggling between code/preview in each tab * Persist preview across tabs * [WIP] don't reload embed preview when changing appearance TODO: - Fix font loading * Allow changing Static/public embedding font on the fly * Use 2-way dashboard state/URL hash syncing to avoid failing tests * Fix E2E tests after dashboard preview doesn't reload on every change * Use an existing util * Fix test name * Add tests to ensure preview doesn't rerender unnecessarily * Fix dashboard embed preview reload when it shows parameters * Review: Comment code for clarity * Fix tests after fixing the preview In Cypress
-
Cal Herries authored
-
Uladzimir Havenchyk authored
-
Nemanja Glumac authored
-
lbrdnk authored
* tmp: patched monger for 4.11.1 mongo java driver * tmp: Update monger utils Aggregation probably wont work now, but we are not using those from monger anyway. With this change in place I'm able to load needed namespaces and create test-data dataset successfully. Commit contains lot of condo errors that should be resolved while porting. * WIP: Monger removed in favor of java driver wrapper * Update java driver wrapper * Update srv test * Update comments * Use non keywordized run-command for `dbms-version` * Fix according to e2e tests * Cleanup * Separate `java-driver-wrapper` into multiple namespaces * Fix semantic type inference for serialized json * Fix options for run-command * Cleanup json namespace * Cleanup conversion namespace * Cleanup operators * Update kondo in operators ns * Cleanup connection namespace * Cleanup mongo namespace * Cleanup util namespace * Add todo * Move session related code to util * Cleanup database namespace * Update docstring for conn string generation * Update docstrings * Update tests * Update linter for with macros * Update modules/drivers/mongo/src/metabase/driver/mongo/connection.clj Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com> * Update modules/drivers/mongo/src/metabase/driver/mongo/connection.clj Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com> * Use transient in from-document for building a map Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com> * Update can-connect to use let form - Avoid nested `with-mongo-database` call. - Avoid creating a set used for searching for database name. * Remove redundant set use from describe-database * Change from-document keywordize default to false * Remove log message translation * Update maybe-add-ssl-context-to-builder! to always return builder * Indent from-document * Remove redundant ConvertToDocument extensions * Use oredered-map in do-find's sort * Use ex-info in details-normalized * Add imports and update comment in execute ns * Update fixme comment * Pass opts instead of a selection to from-document in do-find * Avoid unnecessary double dot call * Update connection test ns according to review remarks * Make tests parallel * Docstring update * Update docstring --------- Co-authored-by:
metamben <103100869+metamben@users.noreply.github.com>
-
Kamil Mielnik authored
* Add new Question.prototype.setDefaultDisplay boilerplate - rename old one to _setDefaultDisplay * Handle native queries * Handle table & scalar displays * Add aggregationColumn wrapper * Add breakoutColumn wrapper * Add semanticType to ColumnDisplayInfo * Add skeleton for the rest of setDefaultDisplay * Add effectiveType to ColumnDisplayInfo * Extract getDefaultDisplay out of Question * Add test suite for getDefaultDisplay * Add a test case for simple queries * Add a test case for 1 aggregation and no breakouts * Add a test case for 1 aggregation, 1 breakout and state column * Format code * Update test query * Add a test case for 1 aggregation, 1 breakout and country column * Update test names * Simplify setup * Add date-related tests * Extract isState, isCountry, deal with breakout info vs column info * Handle dates * Move helpers down * Add tests for binning * Add explanatory variable * Handle 1 aggregation and 2 breakouts, at least 1 of which is date * Handle 1 aggregation and 2 breakouts by coordinates * Add a test case for default return * Use parameterless aggregation * Handle categories * Optimize: do not call Lib.displayInfo for all breakouts * Optimize: extract getBreakoutInfos and call it only when necessary * Do not group tests * Remove redundant createQueryWithClauses calls * Rename getBreakoutInfos to getBreakoutColumnInfos * Fix Question.prototype.updateSettings typing * Simplify test setup * Simplify code * Use accounts table * Remove Question.prototype._setDefaultDisplay * Rename getDefaultDisplay to defaultDisplay and expose it in metabase-lib/v2 * Update test names * Consolidate conditions * Fully migrate Category and Date checks * Fix typo * Split unrelated conditions to make it look like in the original function * Reorder arguments to match the convention * Rename getBreakoutColumnInfos to getBreakoutsWithColumnInfo * Prevent categorizing extraction of/truncation to year as temporal-extraction Fixes #37172. * Move display.ts to viz/display.ts * Use existing Lib.is* functions * Make a change to trigger CI * Revert "Make a change to trigger CI" This reverts commit 328becd8e659073aa2f0daffd6011fa785bfa99e. * Do the same for any display-info calculation --------- Co-authored-by:
Tamás Benkő <tamas@metabase.com>
-
- Feb 05, 2024
-
-
Mark Bastian authored
* Adding geographic coordinate formatting to exports Prior to this PR, exports as csv, excel, and json files as well as html in emails all treated longitude and latitude values as plain floats while the UI rendered the coordinates as degrees NSEW. This PR adds a new function, `format-geographic-coordinates`, in `metabase.formatter` and applies it to these tabular exports. The function is applied as follows: - For everything but excel exports, a new case in `metabase.formatter/create-formatter` was added that renders all `:type/Coordinate`s - For excel exports, `metabase.query-processor.streaming.xlsx/maybe-parse-coordinate-value` was added in the `add-row!` function and follows the same pattern as `maybe-parse-temporal-value` Unit tests were added to cover all three export formats as well as html rendering in pulses (emails). * Fixing `metabase.pulse.render.body-test` for lon/lat formatting.
-