This project is mirrored from https://github.com/metabase/metabase.
Pull mirroring updated .
- Mar 24, 2022
-
-
Cam Saul authored
-
Cam Saul authored
* Support quarters in Dashboard filters * Mark test as ^:parallel *
-
adam-james authored
* Timeline has default icon, Timeline Event default icon from Timeline * Move the icon schema to Timeline model. The 'default icon' of a Timeline is concretely 'star', whereas the default icon for an event is taken from the Timeline it's part of, which could be any of the icons. Since the default should be one of the icons listed in the Schema, it makes sense for readability that the icon schema is in the same namespace. * When timeline's collection_id is nil, build the root collection Timeline's always have :collection_id, and when the ID is a proper ID, :collection hydration works properrly. When the ID is nil, we don't pass the necessary data to the frontend. So, match the behaviour for the `GET /api/collection/root` endpoint and use that data on the :collection key * Add root collection hydration to GET /api/timeline * Add tests for collection hydration and timeline default icons
-
- Mar 23, 2022
-
-
Cam Saul authored
* Remove references to qp/query->preprocessed * Fix Oracle
-
Alexander Polyankin authored
* Add a json schema * Pass required data for snowplow events * Pass required data for snowplow events * Add snowplow event tracking for Timeline event creation This changes the timeline_event API endpoint to send snowplow tracking when an event is created. The FE now sends additional information for this purpose: - source: collections or question. This is null if the event is added via API - question_id: added if the source is from a question. null if the question is unsaved. These are dissoc-ed from the body before the db/insert because the backend does not store this information, it's just from the FE and only relevant for this tracking data. * Fix json error * Add ::new-event-created entry to the snowplow test * Fix json error * Fix json error * Fix snowplow test Co-authored-by:
Adam James <adam.vermeer2@gmail.com> Co-authored-by:
adam-james <21064735+adam-james-v@users.noreply.github.com>
-
adam-james authored
-
Howon Lee authored
This is the first vertical slice of #708. There is a material ways to go, including mysql implementation, plinking away at the data model stuff, and frontend. There are also big putative sync speed gains I think I should chip away at.
-
- Mar 21, 2022
-
-
Dalton authored
-
adam-james authored
* Add :display to the bookmark query (card specific). Bookmark results can now optionally show a 'display' key, which is relevant only to cards. This does not change the db in any way, it just pulls additional data from the left-join in the query already. This particular key :display is used on the frontend to change the icon that the bookmark renders with in the sidebar. * Add a test that confirms `:display` key exists on card bookmarks * Bookmarks on official collections now have `authority_level` key
-
Noah Moss authored
-
Cam Saul authored
* Don't format non-temporal columns as datetimes in XLSX exports * Test fixes
* Oops uncomment something
-
- Mar 17, 2022
-
-
Jeff Bruemmer authored
-
Noah Moss authored
-
Noah Moss authored
-
Bryan Maass authored
* Get slack users and conversations simulatenously - instead of waiting for the channels, and then getting the users * Add cache+timeout capability to conversations-list * extend async approach to users-list - return timeout+cache warning - adds tests * updating docstrings + adding more tests * Add cache clear and seed slack token settings on-change - add dox for :on-change for defsettings - fixing tests * Fixing tests - cannot pass a declared (not def'd) value - some cleanup * remove unused function * remove need for slack-configured from timeout fns - update some docstrings * pre-populate slack caches - on app init * introduce blocking (and cache resetting) endpoint - this one does not timeout, meant to be called when a user hits a button like: "Refetch my slack channels" * removes -timeout versions of users/channels fn - the endpoint now returns the cached slack data - removes tests * fixes routing layer * remove trailing whitespace * add missing docstring * move the cached slack data into a setting * add missing docstring * fix typo * update form-input-test * refresh cache in test * remove un-needed anonymous fn wrapping * refresh slack cache when user sets new valid token * refresh the cache when reading from it - the more its used the more up to date it will be * code review responses + removes 2-arity refresh-cache! - clear out cache when slack connection is broken or unset - add to docstring for slack settings route - wrap init refresh-cache! with a future - re-spell parallel * do not block when returning cached slack data * rename cache defsetting * Addressing code review issues - Adds scheduled updates to the slack users and channels cache every 4 hours - Removes `form_input_refresh` route - Automatically refreshes cache when `form_input` route is hit, if 10 minutes have passed since the last cache fix - Removes cache refresh on app startup - Stores only user names, and channel names in the cache, not maps with irrelevant data - Clears out some noisy linter warnings via `#_:clj-kondo/ignore` * Adds slack task RefreshCache jobs - Sets up startup-triggered and cron-triggered (every 4 hours at a random minute) slack channel/username cache refreshing * Implements 2 jobs to update slack users/channels - one on startup, one every 4 hours - improve docstrings * ns linter fixes * more ns linter fixes * refactor files-channel to look in the cache - instead of making a tricky api call - fixing tests * update files-channel-test to test the cache * fixup integrations.slack ns decl * fixup test integrations.slack ns decl * fix outdated mock of slack/files-channel * fix a few more tests * fix api slack-test * adds locking to refresh-channels-and-usernames! * re-order requires
-
- Mar 16, 2022
-
-
Cam Saul authored
* Change u/profile from println to log/info * Change most test printlns to log/info * Make u/profile message a fn rather than a delay * Apparently clj-http errors aren't wrapped in :object anymore * Add running commentary * Log the amount of time it took to find and run tests * Sort namespaces * Update test Co-authored-by:
Diogo Mendes <diogo@metabase.com>
-
- Mar 15, 2022
- Mar 14, 2022
-
-
Cam Saul authored
Upgrade Liquibase to latest version; remove final Java source file and need for `clojure -X:deps prep` (#20611) * Upgrade Liquibase to latest version * Try adjusting log * Fix checksums for the TWO migrations with ID = 32 * FINALLY get Liquibase to use Log4j2 * Set Liquibase ConsoleUIService OutputStream to null OutputStream * Manually define a package for our H2 proxy class so Java 8 works * Fix package-name determination code * Update migrations file spec * `databasechangelog` shouldn't be upper-case * Lower-case quartz table names * More MySQL fixes
* Properties for all the Quartz tables * Formatting tweaks [ci skip] * Revert a few more busted changes * Fix more busted changes * Bump Liquibase version to 4.8.0 to fix MySQL defaultValueBoolean bug * OMG I think I finally fixed MySQL * Remove Java source file and prep-deps code * Remove two more references to bin/prep.sh * Minor cleanup * Revert unneeded changes * Fix busted indentation * Don't search inside java/ anymore since it's G-O-N-E * Appease the namespace linter * Update src/metabase/db/liquibase/h2.clj -
Noah Moss authored
-
adam-james authored
This lets the Frontend get a list of timelines with the events included, useful in case of having an unsaved question where timelines should still be showable. > left comments but seems workable I'm going to merge this to let FE continue events implementation. I will discuss the above concerns in Slack, and we can make adjustments as needed.
-
- Mar 12, 2022
-
-
Cam Saul authored
-
- Mar 11, 2022
-
-
dpsutton authored
- sorting in query so don't have to sort in memory afterwards, and leaves open spot on the api to sort with user preferences if present (future work) - adds schema so we know what these bookmarks look like, and return an explicit structure instead of threading through dissoc and assoc - combined the remove-nil-values into the normalize function since it set up preconditions necessary for the normalize. - use Models in query so we don't have to hardcode the underlying table
-
- Mar 10, 2022
-
-
Noah Moss authored
-
Cam Saul authored
* Improved error messages when query execution fails * Pretty-print hx/identifier in a different way if it contains extra keys * Fix #20806 * Rename key used to record that we should not qualify * Fix line breaks * Test fix
-
Cam Saul authored
-
Cam Saul authored
-
Ngoc Khuat authored
* Localize personal colections's name * adding a macro to generate test data * use precondition instead of assert * fix per comment
-
Bryan Maass authored
* Fix ssl-key connection prop name * Adds unit test for ssl-key typo fix * fix ns require ordering Co-authored-by:
Guillermo Ríos <grios@stratio.com>
-
- Mar 09, 2022
-
-
adam-james authored
* Add the :archived status of card/dashboard/collection for filtering If an item is bookmarked, we can follow the link to that item without issue. But, if we bookmark an item and then archive that item, the bookmark shouldn't show up, as we don't want to link to an archived item. The bookmark itself is not removed, it's just filtered away when :archived is true. * Added test for bookmarked and archived items The archived items that are still bookmarked should not be sent to the Frontend.
-
Gustavo Saiani authored
-
Howon Lee authored
Put in capability but not link it in for nested column enrichment for postgres JSON columns
-
- Mar 08, 2022
-
-
Ngoc Khuat authored
* /api/user return only active users when include_deactivated=false * revert changes in docs/api-documentation.md and fix trailing space for params section * simplify tests and update api's doc
-
- Mar 01, 2022
-
-
dpsutton authored
mostly unused bindings. Had a few redundant lets. One common pattern was a let binding for a read check but the resulting value was never used, just checked that we could read or write it. Removed that from a binding since it throws otherwise
-
- Feb 25, 2022
-
-
adam-james authored
* Adding tests in collections and card. Fixing some minor test things * Added Test for timeline event range selection via card API * Cleaned up a few TODO comments * Made the timestamp required when POST-ing a timeline-event * Remove unnecessary nesting of with-temp* forms * Moved Icons schema into timeline-event model This schema seems to be validating more than just the API, so we've moved it. * Added start/end to GET /api/timeline/:id Also cleaned up some unnecessary nesting in a card API test Added timeline range test in timeline API test ns too. * Parse timestamp when it exists in a timeline-event PUT We saw the db error presented in the FE when updating timeline events. This should fix that problem. * Add a test to ensure we can change timestamps via timeline-event PUT
-
- Feb 24, 2022
-
-
Howon Lee authored
Step 1 towards the long path towards whacking #708. We need an interface for describing the weird thing every RDBMS vendor did where they have their own special way of doing JSON columns, every single one of them
-
- Feb 23, 2022
-
-
Noah Moss authored
-
Cam Saul authored
* Rewrite add-migrated-collections * Add new tests for the new migrations * Truncate tables (removing values added by Liquibase migrations) before copying * Clean namespaces * Use TRUNCATE TABLE ... CASCADE for Postgres copy * Update test * Sort namespaces * Remove stray println * Fix Postgres TRUNCATE TABLE behavior * Disable DB constraints before truncating tables * Fix fussy postgres
-
Cam Saul authored
* Remove MetaBot Group * Fix missing :require * More fixes * Another fix
* change default sandboxed group_id * update group_ids Co-authored-by:Aleksandr Lesnenko <alxnddr@gmail.com>
-
Cam Saul authored
* Fix #20519 * Fix busted indentation
-