Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Oct 29, 2020
    • Cam Saul's avatar
      Fix collections graph stack overflow (#13618) · dc39729d
      Cam Saul authored
      * Fix collections/graph stack overflow
      
      * Test fixes :wrench:
      
       [ci postgres] [ci mysql]
      
      * Show engine in Task trouble shooting logs (#13608)
      
      * Show engine in Task trouble shooting logs
      
      in an effort to get better feedback when people raise issues about
      long running sync processes, include the database engine in the logs.
      
      Also wrapped `th` in a `tr` inside the `thead` to remove react warning
      
      * Const intead of let on the db_id_to_engine
      
      * Swap db id for db name
      
      * Move comment out of jsx
      
      * fixup! Merge branch 'release-x.37.x' into fix-collections-graph-stack-overflow
      
      Co-authored-by: default avatardpsutton <dan@dpsutton.com>
      Unverified
      dc39729d
  2. Oct 27, 2020
  3. Oct 23, 2020
  4. Oct 22, 2020
  5. Oct 19, 2020
  6. Oct 12, 2020
  7. Oct 02, 2020
    • Robert Roland's avatar
      Upgrade to log4j 2.13.3 (#13310) · 1b75a42b
      Robert Roland authored
      * Upgrade to log4j 2.13.3
      
      Upgrades us to newer Log4j
      
      Resolves #12719
      
      * fixing reflection warnings
      
      * reflection warning on test
      
      * make tests work
      
      took a while to figure out how to configure log4j properly
      programatically - it's not as easy as log4j 1
      
      add logging adapters for commons-logging, slf4j, liquibase, etc so that
      all logging routes through log4j2 now
      
      * appease the linters
      
      * okay cljr-clean-ns makes this line too long, I get it
      
      * add log4j2.xml config for Cypress tests
      
      * update log4j configuration file documentation
      
      update which flag is used by the backend tests
      
      [ci all]
      
      * update cheshire because clj-http updated
      
      * Wire up the metabase-appender to Log4j2
      
      This was brutal to figure out - log4j usually silently fails, so it took
      finding the right combination of configuration settings and system
      properties to get it to log enough to find out why the appender was
      never invoked.
      Unverified
      1b75a42b
  8. Sep 17, 2020
  9. Aug 13, 2020
  10. Jul 30, 2020
  11. Jul 20, 2020
  12. Jul 17, 2020
  13. Jul 07, 2020
  14. Jul 06, 2020
  15. Jul 02, 2020
  16. Jun 30, 2020
  17. Jun 25, 2020
  18. Jun 24, 2020
  19. Jun 08, 2020
    • Walter Leibbrandt's avatar
      Native query snippets (#11965) · 0409161d
      Walter Leibbrandt authored
      
      * Support substituting SQL snippets in queries
      
      * Rename SQL snippets to native query snippets
      
      * Add migration and model for native query snippet table
      
      * Add API endpoints for native query snippets CRUD
      
      Tests are incomplete. Consequently the API is not well tested.
      
      * Cosmetic: Docstring typo and indentation
      
      * Remove pre-delete handler that prevents deletion
      
      It breaks in cases where deletion is reasonable, like during tests. No
      DELETE API endpoint will be added, so no it shouldn't be necessary to
      add any additional safeguards.
      
      * Fix `:database_id` field reference
      
      And remove unused import.
      
      * Test snippets listing via API
      
      * Add more API test stubs
      
      * Refactor snippets listing endpoint for improved readability
      
      * Align NativeQuerySnippet model behavior with Segment model's
      
      * Clean ns
      
      * Fix and test individual snippet read via API
      
      * Fix snippet name schema
      
      * Test creation of snippets via API
      
      * Test update API endpoint for native query snippets
      
      * Handle query snippet model in H2 dump/load commands
      
      * Port load-from-h2 tests to clojure.test
      
      * Deduplicate models list used to dump/load H2 dbs
      
      The failing load-from-h2 test that checks that all models are accounted
      for alerted me that I need to handle the new `NativeQuerySnippet` model.
      However, there was no such test for dump-to-h2. Instead of adding such a
      test, I opted to simply use load-from-h2's list in dump-to-h2 to
      eliminate the problem, rather than testing for it.
      
      * Dump/load collections before models that depend on it
      
      * Linter appeasement
      
      * Use snippet ID and content in query parameter record
      
      * Implement snippet lookup for template tags with ID
      
      * Basic FE support for snippet template tags
      
      * Use shorter "snippet" prefix instead of "native-query-snippet"
      
      * Use simpler `tru` instead of `str` with `deferred-tru`
      
      * Allow whitespace between snippet prefix and name
      
      Also accept any sequence of characters after prefix.
      
      * Don't allow snippet names to start with whitespace
      
      Whitespace is allowed between the `snippet:` template tag prefix and the
      snippet name. That whitespace is trimmed out when extracting the snippet
      name.
      
      * Add database ID to snippet template tags before expanding parameters
      
      * Ensure that snippet db matches query db
      
      * Avoid setting `:template-tags` for native queries without it
      
      * Factor out snippet database ID validation
      
      * Test snippet database ID validation
      
      * Avoid validating nil snippets
      
      * First pass at nested template tags in snippets
      
      * Pass parent query parameters on to nested sub-queries
      
      * Remove unused let-binding
      
      * Added disabled test for reading query param from template tag
      
      * Temporarily disable failing test
      
      * Remove half baked nested snippet support
      
      * Snippet model perms = native query perms
      
      * Rename param k→ks for clarity
      
      * Remove superfluous `some?` call
      
      * Use utility functions to reduce cruft
      
      * Test expansion of multiple snippets in (sub-)query
      
      * Rather use testing utils from metabase.test
      
      * Check for snippet changes only in provided fields
      
      * Deduplicate field checks, with added test case output
      
      * remove unused import from bad merge
      
      Co-authored-by: default avatarPaul Rosenzweig <paul.a.rosenzweig@gmail.com>
      Co-authored-by: default avatarPaul Rosenzweig <paulrosenzweig@users.noreply.github.com>
      Unverified
      0409161d
  20. Jun 04, 2020
    • Cam Saul's avatar
      Backport a few tweaks from EE (#12611) · 10c8c56b
      Cam Saul authored
      * Backported fixes
      
      * Explicitly include data.xml as a dep
      
      * Use OffsetDateTime instead of org.h2.api.TimestampWithTimeZone [ci mysql]
      
      * Revert JUnit tweaks -- don't seem to be working correctly
      Unverified
      10c8c56b
  21. May 21, 2020
  22. Mar 27, 2020
  23. Mar 02, 2020
  24. Feb 19, 2020
  25. Feb 18, 2020
  26. Feb 04, 2020
  27. Jan 09, 2020
  28. Dec 06, 2019
  29. Dec 03, 2019
  30. Nov 06, 2019
  31. Oct 09, 2019
  32. Oct 01, 2019
    • Kyle Doherty's avatar
      Bundle fonts (#10963) · 869356c9
      Kyle Doherty authored
      * remove Google Fonts usage
      
      * local Lato in resources/frontend_client/app/fonts
      
      * create assets/fonts aliases, update publicPath, use absolute paths in css
      
      * add svg to extensions
      
      * update flow config to account for frontend_client assets
      
      * add explicit .svg extension to no_results usage
      
      * remove google fonts references from CSP headers
      Unverified
      869356c9
  33. Sep 27, 2019
  34. Aug 29, 2019
    • Walter Leibbrandt's avatar
      Handle unsupported formatting operators gracefully [WIP] (#10737) · 0a7f36be
      Walter Leibbrandt authored
      * Avoid using `undefined` array when column formatters not specified
      
      This led to `TypeError: Cannot read property "forEach" from undefined`
      errors when no formatters were specified.
      
      * Improve logging of unexpected errors during format compilation
      
      * Log unsupported formatting operators and return a dummy operator fn
      
      * Linting fixes
      
      * Manually ES5-ify code that is to be executed by the Nashorn engine
      
      Nashorn in JDK 8 only supports ES5.1.
      
      * Update Rebuilt shared JS from `yarn build-shared`
      
      * Move formatting foctory fns into an operator-indexed object
      
      * Linter appeasement
      
      * Test that all defined operators are supported in table formatting
      
      * Flow annotations
      
      * Return `null` in stead of `undefined`
      
      Formatting/style changes snuck in.
      
      * `yarn build-shared`
      
      * Use operators from table formatting and not column filters
      Unverified
      0a7f36be
  35. Aug 15, 2019
    • Cam Saul's avatar
      Merge master -> release-0.33.x (#10604) · fc60d633
      Cam Saul authored
      * Compute Content-Security-Policy hashes for inline JS (#10504)
      
      * Split out inline JS from index/init templates to separate files
      
      * Read inline JS from resources at run time
      
      * Calculate inline JS hashes for CSP header from content
      
      * Move inline JS to resource sub-directory
      
      * Update and memoize inline JS loading
      
      * Revert debug code
      
      * Deduplicate `resp/response` calls
      
      * Fix paths to moved inline JS resources
      
      * Force creation of test data DB so things don't get left in the cache
      
      This fix was provided by @camsaul.
      
      * Combine and `defonce` inline JS hashes
      
      * s/inlinejs/inline-js/
      
      * Ensure that Metabase JAR is readable by `metabase` container user (#10510)
      
      If the umask of the user that builds the image is xx7, the JAR will not be
      world readable in the resulting image.
      
      * Remove `--add-modules=java.xml.bind` Java option (#10521)
      
      Fixes #10244. @camsaul confirmed that it is no longer needed.
      
      * Join on collection table's ID, not the joining table's `collection_id` (#10481)
      
      * Join on collection table's ID, not the joining table's `collection_id`
      
      This caused each record that joins on collection, to be duplicated for each
      existing collection:
      
      `LEFT JOIN collection collection ON card.collection_id = collection_id`
      
      should be
      
      `LEFT JOIN collection collection ON card.collection_id = collection.id`
      
      * Test fixes from @cam on EE
      
      * Insights: correctly handle infinities in results (#10502)
      
      Filter out models with infinities
      
      * Transfer log events as JSON objects and allow filtering on front-end (#10522)
      
      * Return log events as JSON objects from API; render on front-end
      
      Site UUID added to log events.
      
      * Remove superfluous memoization of site UUID retrieval
      
      Settings are already cached.
      
      * Transfer timestamps in ISO-8601 format
      
      * Move `metabase.metabot.instance/local-process-uuid` to `metabase.public-settings`
      
      * Use `local-process-uuid` in stead of `site-uuid`
      
      `site-uuid` is not unique across processes, which is what we want to
      associate with log events.
      
      * Remove unused import
      
      * Allow log events to be filtered by process UUID on front-end
      
      * Move process selector out of loading wrapper
      
      Otherwise, if there are process UUIDs with no log events, the selector is
      removed with the log event list.
      
      * Figured out how to add docs to `defonce`
      
      * Fix ns declaration
      
      * Linter appeasement
      
      * Merge log events received from back-end with previously received ones
      
      This allows responses from multiple back-end instances to be spliced
      together.
      
      * Use MB components in stead of plain, styled HTML tags
      
      The select is only displayed if more than one process UUID was found.
      
      * Linter appeasement
      
      * Move `metabase.public-settings/local-process-uuid` to `metabase.config`
      
      * Fix sorting on multiple log event fields
      
      * Flatten `Select` children to allow nested arrays of children
      
      * Generate options directly under parent Select
      
      * Limit the number of log events that we render
      
      * Docstring and style updates
      
      * Update editor config with Clojure files max line length
      
      * Ensure that `NumericWrapper` is imported before use
      
      * Cleanup layout
      
      * Bump HoneySQL version (#10559)
      
      The new version (0.9.5) includes @camsaul's Turkish upper case fix:
      jkk/honeysql#237
      
      * Factor out test for access to localStorage (#10533)
      
      * Factor out test for access to localStorage
      
      This allows code that uses localStorage to test against
      `window.hasLocalStorage`, in stead of handling exceptions generated when
      access to localStorage is denied.
      
      * Move check for localStorage to metabase/lib/dom
      
      * Fix typo in warning message (#10556)
      
      * revert text color to #74838f (#10560)
      
      * revert text-medium color to #74838f
      
      * use light instead of medium on preview button
      
      * MBTL (#10105)
      
      Add transforms and domain models
      
      * Added page about maps and updated nav (#10495)
      
      * Added page about maps and updated nav
      
      * Clarified step 1
      
      * Added more details throughout
      
      * Quick URL change
      
      * Added additional resource!
      
      * fix typo: 'sdisplay' to 'display'
      
      * Add message with link to docs for fields without any filter widgets (#10340)
      
      * Correct proxy command line [ci skip] (#10430)
      
      * Bump Toucan version to include Turkish lower case fix (#10581)
      
      * Wrap `tru` and `trs` macro results in `str` (#10571)
      
      * Add versions of `trs` and `tru` that wrap results in `str`
      
      The pre-existing `trs` and `tru` were renamed to `lazy-trs` and `lazy-tru`
      respectively, and new `trs` and `tru` funcs were added, wrapping the result
      of its lazy counterpart in `str`.
      
      This way the normal use case of `trs` and `tru` is improved by no longer
      requiring that it be wrapped in `str`.
      
      Cases where the translated result is passed to `str` anyway, the lazy
      version can be used.
      
      * `(str (trs ...))` → `(trs ...)`
      
      And the same for `tru`.
      
      * Allow `defsetting` descriptions to use lazy versions of `trs`/`tru`
      
      * Use `lazy-trs`/`lazy-tru` where `str` is applied separately
      
      * Remove unnecessary `vec` from `tru`/`trs` macros
      
      * puppetlabs.i18n does not have a `lazy-tru`
      
      * Missed some settings that now need to use `lazy-tru`
      
      * Only use `lazy-tru` in top-level `def`s
      
      If the localized strings are looked up on module import, before locales are
      loaded, the lookup will fail and the original input string will be used.
      
      * Fix bad usages of `tru` that should be `lazy-tru`
      
      * s/lazy-tr/deferred-tr/g
      
      * Avoid `tr*` macros being used in top-level (compile time) statements
      
      Because localizations are not yet loaded at compile time.
      
      * Add type hint for `str*` wrapping of `trs`/`tru`
      
      * Fix assigned function's return type hint
      
      * Expand docstrings for `i18n/tr[su]`
      
      * Use `trs` and `tru` from metabase.util.i18n instead of puppetlabs.i18n.core
      
      * Defer compile time translation lookups
      
      These changes were pointed out by exceptions generated by `i18n/str*`.
      
      * Remove unused `require`d function
      
      * New compile time `trs` usages caught by `lein uberjar`
      
      * Ensure that error message from db driver is a string
      
      It is necessary to ensure that the error message is a string, because some
      db driver errors come from statically declared error messages, using
      `deferred-tru`. Like those in
      `metabase.driver.common/connection-error-messages`.
      
      Fixes #10347 and #10473.
      
      * Remove string type hint from `humanize-connect-error-message`
      
      * Don't disable preview for fields with non-trivial type  (#9687)
      
      * Don't create API callback if no database is associated with card (#10573)
      
      * Don't create API callback if no database is associated with card
      
      Fixes #10538
      
      * Return empty array to avoid mapping over null
      Unverified
      fc60d633
  36. Aug 14, 2019
  37. Aug 13, 2019
  38. Aug 06, 2019
    • Walter Leibbrandt's avatar
      Compute Content-Security-Policy hashes for inline JS (#10504) · 45881866
      Walter Leibbrandt authored
      * Split out inline JS from index/init templates to separate files
      
      * Read inline JS from resources at run time
      
      * Calculate inline JS hashes for CSP header from content
      
      * Move inline JS to resource sub-directory
      
      * Update and memoize inline JS loading
      
      * Revert debug code
      
      * Deduplicate `resp/response` calls
      
      * Fix paths to moved inline JS resources
      
      * Force creation of test data DB so things don't get left in the cache
      
      This fix was provided by @camsaul.
      
      * Combine and `defonce` inline JS hashes
      
      * s/inlinejs/inline-js/
      Unverified
      45881866
  39. Jul 30, 2019
Loading