-
Cam Saul authored
* Change font registration to run on first Pulse PNG render rather than at launch. * This will improve startup times slightly
. * This was causing DockerHub builds for `metabase-head` to fail because the stage 1 "builder" image did not have `ttf-dejavu` and `fontconfig` installed (the builder was running in to #12223). * This will resolve issues discussed in #12223 where Metabase fails to launch when running on a "headless" JVM Docker image (i.e., one without AWT libraries) or when we run into the infamous font issues. We still won't be able to render Pulses, but Metabase without Pulses is slightly preferable to no Metabase at all * Improved error messages & logging when Pulse rendering fails. Unfortunately, if the AWT classes are unavailable/broken in the JVM there is no way we can render Pulses given our current reliance on it. The best we can do is explain the situation and point people in the right direction. The new error message explains the situation and points people to #7986 for more details and workarounds. As such, I am going to close #7986 because we cannot fix the underlying issue itself so the best we do is handle it better. * Refactor tests in `metabase.api.pulse-test` * Add tests for `GET /api/pulse/preview_card/:id` * Include entire Exception chain in 500 responses * Fix font registration logic not cleaning up `InputStream`s when done with them, wasting memory * Minor Dockerfile tweaksCam Saul authored* Change font registration to run on first Pulse PNG render rather than at launch. * This will improve startup times slightly
. * This was causing DockerHub builds for `metabase-head` to fail because the stage 1 "builder" image did not have `ttf-dejavu` and `fontconfig` installed (the builder was running in to #12223). * This will resolve issues discussed in #12223 where Metabase fails to launch when running on a "headless" JVM Docker image (i.e., one without AWT libraries) or when we run into the infamous font issues. We still won't be able to render Pulses, but Metabase without Pulses is slightly preferable to no Metabase at all * Improved error messages & logging when Pulse rendering fails. Unfortunately, if the AWT classes are unavailable/broken in the JVM there is no way we can render Pulses given our current reliance on it. The best we can do is explain the situation and point people in the right direction. The new error message explains the situation and points people to #7986 for more details and workarounds. As such, I am going to close #7986 because we cannot fix the underlying issue itself so the best we do is handle it better. * Refactor tests in `metabase.api.pulse-test` * Add tests for `GET /api/pulse/preview_card/:id` * Include entire Exception chain in 500 responses * Fix font registration logic not cleaning up `InputStream`s when done with them, wasting memory * Minor Dockerfile tweaks
Code owners
Assign users and groups as approvers for specific file changes. Learn more.