This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Apr 11, 2022
-
-
adam-james authored
* Popular Items should no longer have duplicates in the returned list * Introduce concept of model precedence for popular_items This might also be handled inside the score function, to allow for recency or viewcount to push lower-precedence items higher in the results, but for now, grouping fetched items by their model and sorting by precedence (dashboard, then cards, then models, then tables) should be ok.
-
Gustavo Saiani authored
-
Ariya Hidayat authored
Repro #21513: Custom Expression validator too strict when field name is the same as a function (#21567)
-
Jeff Bruemmer authored
-
Gustavo Saiani authored
-
Nick Fitzpatrick authored
Dashboard / Question Toaster and web notifications
-
Jeff Bruemmer authored
-
Alexander Polyankin authored
-
Alexander Polyankin authored
-
Nemanja Glumac authored
- Fixed in #20709 - Merge related tests together
-
Alexander Polyankin authored
-
Alexander Polyankin authored
-
Alexander Polyankin authored
-
Alexander Lesnenko authored
-
Alexander Polyankin authored
-
Alexander Polyankin authored
-
Alexander Lesnenko authored
-
Alexander Lesnenko authored
* Hide subscriptions and alerts editing buttons in account settings * spec * specs
-
Alexander Lesnenko authored
-
Howon Lee authored
Type hierarchy except for dates and arrays fixed. Visibility setting mutation on original columns and field values on deck. Still whacking away at #21534.
-
- Apr 10, 2022
-
-
Noah Moss authored
Add `exclude_uneditable_data_model` and `exclude_uneditable_details` flags to database list API (#21556) * add exclude-uneditable-data-model and exclude-uneditable-details flags to GET /api/database * remove debugging code
-
Nemanja Glumac authored
Repro #15860: Multiple Linked Filters connected to Locked parameters shows dropdown values of the last filter (#21533)
-
Nemanja Glumac authored
-
Nemanja Glumac authored
* Add data for linked filters needed for the test * Add coverage for embedding linked filters on SQL question * Update `widget-type` Co-authored-by:
flamber <1447303+flamber@users.noreply.github.com>
-
Nemanja Glumac authored
-
Ngoc Khuat authored
* catch remove last admin exception during sync group * lint and make sure the log are catched * fix weird problem when try to re-def a macro in test and update log message * count warn log only * force log in tests
-
- Apr 09, 2022
-
-
Nemanja Glumac authored
-
Nemanja Glumac authored
-
Ariya Hidayat authored
-
Nemanja Glumac authored
-
- Apr 08, 2022
-
-
Alexander Lesnenko authored
* manage databases permission * specs
-
Alexander Lesnenko authored
* feature permissions upsell * update link
-
Gustavo Saiani authored
-
Nemanja Glumac authored
* Programatically open a "New > Question" data selector screen * Deprecate `openNotebookEditor` which relied on UI * Let Metabase choose the visualization for each query
-
adam-james authored
* Add Schema Filtering to Postgres dbs. Adjust the Postgres Driver to add the Schema filtering settings to the UI in the admin page. Fix a bug where "all" schema filter case is ignored, defaulting (incorrectly) to use only the "public" schema. This would lead to potentially filtering away schemas that the user expects, if some tables exist inside schemas that aren't public. * Add Schema filtering to mysql driver * Remove mysql to see if CI works otherwise * Removed tap>
-
adam-james authored
* Add `:is_installer` key to users returned from api/user/current * Add `:has_question_and_dashboard` Key to current users via hydration This is also part of the starting page project, it's a key that helps the frontend serve more specific data to the user. * Moved `permissions-set` function up so I can use it in hydration * Adjust recents query and first pass at popular items query Recents: Before, the recent query would look at the ViewLog, which records a view on cards even when it was only 'viewed' via a dashboard. For dashboards and tables, we don't need to make a change. For cards, we now query the QueryExecution table and use started_at as a proxy for the last viewed timestamp, and can then only grab cards with an execution context of 'question'. Popular: We now want to have a notion of 'popular' items as well, which can look different than 'recents'. This is the first attempt at a reasonable query with scoring system. The score takes into account: - recency of view - count of views total - if the card/dashboard is 'verified' (enterprise) - if the cad/dashboard is inside an 'official' Collection (enterprise) The popular score currently uses only the *current-user-id* to fetch items, so popularity is (in this commit, at least) a per-user concept. * Fixed mistake and renamed endpoint * Typo fix * Clean up QueryExecution in tests * Indent, naming, and some simple defs * try to reduce db calls for :has_question_and_dashboard I've moved the fn out of the hydration system to guarantee that it only runs for a single user, and is only used in `GET /api/user/current` (and not accidentally used in other spots via hydration mechanism). Still don't know how to check Card and Dashboard tables more efficiently * ViewLog and QueryExecution have different timestamps. Can't compare Pushing this for some review, but might want to build a proper way to compare, so that recent cards and recent dashboards/tables are sorted equally * fix namespace sorting * Fix the endpoint name * Sorting mixed date time formats 'works' but not ideal This formats the timestamps into strings and uses those for comparison. Not perfect. Pushing in case people are trying the branch * Use simpler db function * Let views and runs query work with one user or all users Popular_items are an all-users notion, but recent_views applies only to the current user. * Unify view_log.timestamp to query_execution.started_at type these used to both be `DATETIME` in the migration file. Then migration 168 bumped up the type of the view_log.timestamp column: ``` - changeSet: id: 168 author: camsaul comment: Added 0.36.0 changes: - modifyDataType: tableName: query_execution columnName: started_at newDataType: ${timestamp_type} ``` So these were no longer the same on h2 (and possibly mysql). But sorting viewlogs and query_executions would fail. ```clojure activity=> (->> (ViewLog) first :timestamp #_type) "0x6a33e42e" "2022-04-04T21:57:07.471"] activity=> (->> (ViewLog) first :timestamp type) java.time.LocalDateTime activity=> (->> (QueryExecution) first :started_at #_type) "0x7af249ac" "2022-04-04T21:57:07.625738Z"] activity=> (->> (QueryExecution) first :started_at type) java.time.OffsetDateTime ``` The LocalDateTime and OffsetDateTime were not comparable. So make them identical types again. * Bookmarked results should not show up in recents/ popular. This is done in a db query to still try fetch enough items from the db to present to the user. Filtering bookmarked items later may result in an empty list. It's possible that the firt N results are all bookmarked, and then the frontend would have no items to show. Filtering bookmarked results out from the beginning increases the chances of a non-empty result. * :first_login populated with the earliest login timestamp. If there is a first login timestamp, that is used. If one does not exist, we assume it's the first time logging in and use an OffsetDateTime (now). This is possible since the login_history is done off thread, so on a real first login, we might hit the db before the login is logged, resulting in an empty list returned. On subsequent checks, we should see a proper timestamp from the db. Since this is used to check if a user is 'new' (within 7 days of first logging in), the accuracy of the timestamp matters on the order of days, not milliseconds, so this should be ok. * Passing test * Popular_items test Tweak the create-views! function to more consistently order items. And creates views for dashboards/tables (ViewLog) and cards (QueryExecution) in a unified way, meaning we can reliably order views, and write tests more easily. Note that the popular_items test may have to change if the scoring math changes. * Fix e2e test * Fix nit and bug - forgot to remove '0' from the and clause, so we didn't get the expected boolean - popular_items not WIP * another nit * Fix popular items on the frontend Co-authored-by:
Alexander Polyankin <alexander.polyankin@metabase.com> Co-authored-by:
dan sutton <dan@dpsutton.com>
-
Ariya Hidayat authored
-
Alexander Lesnenko authored
* settings global permission * fix specs * Enforce Setting permissions (cont) (#21464) * settings global permission * more api permissions enforcement * only admin could call token checks * address Noah's comments * clean ns * clean ns
Co-authored-by:Aleksandr Lesnenko <alxnddr@gmail.com> * hide subscriptions buttons for users with no permissions * fix specs * review fixes * update spec Co-authored-by:
Ngoc Khuat <qn.khuat@gmail.com>
-
Cam Saul authored
-
Alexander Polyankin authored
-