Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Jul 30, 2020
  2. Jul 20, 2020
  3. Jul 17, 2020
  4. Jul 06, 2020
  5. Jul 02, 2020
  6. Jun 30, 2020
  7. Jun 25, 2020
  8. Jun 24, 2020
  9. 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>
      0409161d
  10. 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
      10c8c56b
  11. May 21, 2020
  12. Mar 27, 2020
  13. Mar 02, 2020
  14. Feb 19, 2020
  15. Feb 18, 2020
  16. Feb 04, 2020
  17. Jan 09, 2020
    • Tom Robinson's avatar
      Improved public settings (#11239) · 5e0ded24
      Tom Robinson authored
      Add :visibility option to defsetting which is used to determine which settings to load on the frontend. Port/rename existing public settings.
      5e0ded24
  18. Dec 06, 2019
  19. Dec 03, 2019
  20. Nov 06, 2019
    • Maz Ameli's avatar
      Add Slovak and update translations for 0.33.5 (#10760) · 5bb175a0
      Maz Ameli authored
      * update translations for included languages
      
      * Add i18n CI step from master
      
      * fix newlines in it.po
      
      * remove \n from nl.po
      
      * remove \n from pl.po
      
      * add Slovak and update others
      
      * remove newlines
      
      * update locales.clj
      
      * reset config.yml
      5bb175a0
  21. Oct 09, 2019
  22. 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
      869356c9
  23. Sep 27, 2019
  24. 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
      0a7f36be
  25. 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
      fc60d633
  26. Aug 14, 2019
  27. Aug 13, 2019
  28. 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/
      45881866
  29. Jul 30, 2019
  30. Jul 29, 2019
  31. Jun 27, 2019
  32. Jun 19, 2019
    • Octavian Geagla's avatar
      Humanization (#10174) · 43aabfb1
      Octavian Geagla authored
      * [test] add simple sql humanization tests wip
      
      * [dict][test] humanization tests to keep sql reserved words whole wip
      
      * [humanization] wip inverse+clean dict
      
      * [humanization] test cases
      
      * [humanization] more user test cases
      
      * [humanization] remove certains words from dict
      43aabfb1
  33. Jun 12, 2019
  34. May 08, 2019
  35. May 07, 2019
  36. May 06, 2019
  37. Apr 16, 2019
    • Andrew Stiegmann (stieg)'s avatar
      Migrate C3P0 config settings to c3p0.properties file · 60544112
      Andrew Stiegmann (stieg) authored
      As per configuration_precedence document noted in the c3p0 config doc
      (https://www.mchange.com/projects/c3p0/#configuration_precedence) any
      setting which is specified programatically may not be overridden by
      other external settings such as system properties.  This creates an
      issue if an admin wishes to set any of these settings.
      
      In my case I was attempting to have c3p0 shut down all connections
      to my RDS instance so that amazon would spin the instance down while
      not in use.  Alas it appears that something else seems to re-establish
      connectinons every few seconds and prevent my desired behavior. But
      before I abondon this approach I figured this would be a good PR
      for the project as it will enable others to set this settings as they
      see fit and not hit the same roadblocks I hit along the way.
      
      Of note I have removed the maxPoolSize setting as the current value
      of 15 is the same as the driver default. The other settings remain.
      60544112
Loading