Compare commits
45 Commits
python-run
...
localize-i
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
4abe0e0564 | Localize more things | ||
|
|
8a4a4273a7 | fix local test failure by sorting related_table ids in metabot tool response (#64464) | ||
|
|
2375d46cbb | Ajust e2e runner options (#64377) | ||
|
|
4215b09ac7 |
Split fields returned to metabot for cards/models into core fields and related_tables (#64385)
* Split fields returned for cards/models into core fields and related_tables * Update tests, and fix implementation to always include :related_tables * typo * fix kondo * add separate with_related_tables flag to get-table-details API * add test for new flag * fix malli recursive schema * add back query-needed? * support related-tables when fetching table details as well, not just models * add get-table-details-related-tables-test * don't overwrite tyler's 404 fix |
||
|
|
be91884957 |
Update generated docs (master) (#64440)
Co-authored-by: github-actions <github-actions@github.com> |
||
|
|
dae7df1c71 |
Fix long embedding test time (#64449)
* Fix long embedding test time * Fix failed tests |
||
|
|
8f037b0036 |
Add "Local symbol" option in "Currency label style" visualization setting (#64360)
* Extract lazy-evaluation of currencyMapCache to an iife * Add getCurrencySymbolNative * Add narrow symbol support * Update unit tests * Add test * Add e2e test * Fix issue with current value not being shown |
||
|
|
0e247c2772 |
Fix #54317: Object detail navigation state doesn't reset (#55238)
* Fix #54317: Object detail navigation state doesn't reset Added a verification that caps the selected object index. * Fix #54317: Changed useState and reseted index. Now using useEffect and reseting to the first index. * Fix #54317: Added an e2e test * Adjust test to new filters --------- Co-authored-by: Sébastien <sebastien@metabase.com> Co-authored-by: Jakub Chodorowicz <jakub.chodorowicz@metabase.com> Co-authored-by: Jakub Chodorowicz <jakub@chodorowicz.com> |
||
|
|
d14019cd02 | Delete skipped e2e download test that has BE tests (#64442) | ||
|
|
a5d6067de1 | chore: migrate renderer_utils from moment to dayjs (#64413) | ||
|
|
8f9a72345b | Minor refactoring of services.js (#64408) | ||
|
|
f14ae0297b | Unskip working pivot-tables test (#64349) | ||
|
|
952aeefd58 |
Dark mode (#64016)
* js source of truth for colors * use more betterer colors * keyboard shortcut for toggling dark mode * Adds colorConfig for defining a light and dark color for each color variable * Copies over dark colors from `dark-mode` branch (excluding variables that don't exist in colorConfig` * Ports other style changes from `dark-mode` branch * Revert 3301ed93693 * Ports mantine theme logic from `dark-mode` but uses SSOT colorConfig instead of SEMANTIC_COLOR_SCHEMES * Fix TS errors * Fix text color and random white bg on permissions table * Removing a bunch of usages of JS color... probably breaking things * Updates mantine color scheme when resolvedColorScheme changes * a bunch more * fix progress bars. shame on Nick * Stubs out forcing light mantine theme when isEmbedding (since it has its own dark mode) * Fix hard-to-read dark mode straggler caused by one-off bg color * add orionAlphaInverse colors * make lighthouse illustration work with CSS vars * Fixes hover states of query builder header buttons in dark mode * Updates PivotTables in dark mode to behave similarly to night mode * Fix upsell CTA hover color in dark mode * Tweaks admin nav dark mode color * some small fixes * Fixes some incorrect brand color values when white-labeling * Tweaks admin nav bar colors and uses same colors on dark mode as light mode (if it ain't broke...) * Fix gauge visualization text/input colors in dark mode * Makes things legible and more consistent in query builder in dark mode * Fixes a few filter chip stragglers in dark mode * metabot visits the dark side * Use ColorSchemeToggle for dashboard night mode button * Prevents dashboard from using night mode when theme=night is set in the hash * Update color.ts * Revert "Prevents dashboard from using night mode when theme=night is set in the hash" This reverts commit 06a504c088e31c60aca7c7550aa24a0f32edba6c. * set color scheme for scrollbars * hard to see toggle in database info * Embedding and other fixed * fix blue brand * Uses canonical dark mode for dashboard night mode and static embedding's dark mode * Fixes issue where Static Embedding preview pane doesn't show checkerboard background when "Dashboard background" is turned off * Updates find-never-defined-css-variables.ts so it looks for defined variables in colors.ts. Removes references to now-removed base colors. * Fixes some TS errors * happy-ish static viz * only resolve to color var if name is known * type corrections, removing auto color scheme * Passes storybook theme arg to ThemeProvider * add konami code shortcut for Vamsi * Fix dashboard context TS errors * Fix runtime warning * Prevents whitelabel colors from being used in colors.ts when token lacks whitelabel feature. Updates `filter` and `summarize` colors to use whitelabel value if present. * re-enable updateColors * happy types * Updates storybook renderer to work with stories that set the theme via theme: "dark" * Fix issue where DatesRangeSdk story doesn't pick up brand color * green unit tests? * Reverts unnecessary change carried over from original `dark-mode` POC which changed some loki/storybook backgrounds * Fix issue where theme switching themes in Question embed previews doesn't appear to do anything * handfull of e2e suites * Revives some `theme` infrastructure needed to support `theme=transparent` * Restores SdkError colors on dark mode (#64306) * happy unit and e2e tests? * Fix lint errors * feat(sdk-bundle): use existing tooltip configuration for dark mode (#64325) * fix card shadow crash * backdrop color fix * Refines ColorSchemeToggle. Color scheme is "auto" by default. When "auto", color scheme is automatically updated when browser/device settings is changed. Switching to the theme that's defined as the browser/device preference will set the color scheme to "auto". * Adds clarifying "(system preference)" to color scheme toggle tooltip * embedding e2e, unit tests * Fix TS error * update colorConfig for sdkThemeProvider * force e2e to run in light mode * Fix embedding-sdk:docs:generate error * Updates ThemeProvider to ignore from hash if we're outside of static embeds. This prevents old night mode dashboard urls from messing with the new dark mode. * Fix issue where dark mode shortcut isn't pulling in the latest values (not toggling right) * Replace hardcoded value with already-defined constant * fix quotes in css Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> * use firefox compatible scale Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> * fix css quotes * fix color scheme toggle * fix test * fix conflict * update test * PR Feedback * fix embedding homepage flicker * e2e adjustment * adding text-hover, fixing checkbox border * setup.cy green plz * e2e test for toggling color scheme * e2e plz * type check * e2e adjustment * Update Loki Snapshots * test colors in RGB * OS check for shortcut --------- Co-authored-by: Ryan Laurie <iethree@gmail.com> Co-authored-by: Nick Fitzpatrick <nickfitz.582@gmail.com> Co-authored-by: Brad Anderson <brad@metabase.com> Co-authored-by: AlessioLaiso <7041012+AlessioLaiso@users.noreply.github.com> Co-authored-by: Phoomparin Mano <poom@metabase.com> Co-authored-by: Ryan Laurie <30528226+iethree@users.noreply.github.com> Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> Co-authored-by: Metabase Automation <github-automation@metabase.com> |
||
|
|
3dffc9d900 |
Parameterize cloud-add-on API (#64424)
Instead of hard-coding a "metabase-ai" as the only add-on, we're now parametrizing this endpoint to accept different product types, which translates into buying different add-ons. |
||
|
|
09d2689976 | Fix merge e2e timings step (#64405) | ||
|
|
f6162a0cce |
Alternative fix for internal queries (#64376)
* Alternative fix for internal queries reenable the admin screen for http://localhost:3000/admin/tools/errors I know we aren't supposed to look at any piece of a query, including type here, but there are a few reasons i'm doing so. 1. i don't know of any predicates in mbql lib for this metabase.lib.core doesn't have a `native?` predicate, nor an `mbql?` predicate. It does seem have predicates about stages but that doesn't seem applicable here 2. even if it _did_, the internal query is not recognized by lib, so we then have to teach it internal queries which means the other PR (#64375) has to be implemented either way, defeating the purpose of this very simple PR. ```clojure user=> (metabase.lib.core/any-native-stage? {:limit 1, :type :internal, :fn "metabase-enterprise.audit-app.pages.queries/bad-table", :args [nil nil nil "last_run_at" "desc"], :offset 0, :parameters []}) Execution error (ExceptionInfo) at metabase.lib.walk.util/fn$fn (util.cljc:72). Invalid input: {:lib/type ["missing required key, got: nil"], :stages ["missing required key, got: nil"]} ``` Why aren't there tests? 🤠 Want to contrast the two approaches first. Happy to backfill tests once the approach is agreeable. This approach here is _very_ simple and lets the working qp approach continue working without disturbing metabase.lib. This seems pretty nice because ultimately these internal queries should/will be replaced. But in the meantime, do we want to teach lib about them, or just skirt it altogether? * test that api works for these queries * enable feature in test |
||
|
|
b9b78a2f60 |
Show audit links for non-admins with perms (#64201)
If a user isn't an admin but has permission to view the Usage Analytics collection they should see links in the card sidebar. |
||
|
|
1a28ee25c3 | refactor(embed-js): Refactor EmbedJS wizard to prepare it for No-user embedding (#64411) | ||
|
|
54919da812 | Remove parallel annotation from tests (#64386) | ||
|
|
11fec69c5e | docs: price change (#64426) | ||
|
|
d12930529f |
Add /ee/python-transforms/test-run to preview a run (#64362)
The python code is executed by the runner but its output is not saved back. The endpoint blocks until the output is received. Any objects in S3 should be deleted before the request returns (or will otherwise be collected via retention) Limits: - Run timeout is set to 60 seconds - Samples up to 100 rows from each input table. - Outputs up to 100 rows from the python output. |
||
|
|
249e0a0d87 |
fix(modular): enable external click behavior; fallback to drills for internal click behaviors (#64320)
* fix(modular): enable external click behavior; fallback to drills for internal click behaviors * remove cy.pause |
||
|
|
ba8843298e |
Avoid use of analytics content for suggested prompts (#64370)
* Avoid use of analytics content for suggested prompts * Docstring |
||
|
|
33db17c7ed |
[QP] Push required implicitly joined fields down through stages (#64305)
Fixes #63245. Add `:reversed? true` option to `lib.walk/walk-stages` that reverses the order. Then use that option for `qp.middleware.add-implicit-joins/second-pass`, since that `second-pass` is about making sure if stage N needs an implicitly joined column from the previous stage, that the previous stage actually returns it. #63245 happens when the join clause and usage are 2+ stages apart. Flipping the iteration order will push the need for the implicitly joined column through as many stages as necessary. |
||
|
|
471b6f57e5 |
Fix wrong timezone in "exclude hours" filters (#64290)
* use local datetime instead of zoned datetime when creating exclusion filters from parameters * use local datetime instead of zoned datetime when creating exclusion filters from parameters |
||
|
|
f7183cf1ca | Fix card duplication on move to before flexcontainer (#64205) | ||
|
|
8666f82edb |
Bump io.github.metabase/hawk from 1.0.12 to 1.0.13 (#64395)
Inspect dependency changes here: |
||
|
|
400b10f74c | feat(sdk-bundle, embed-js): add metabase-metabot custom element for Embed JS (#64144) | ||
|
|
0d7e892036 |
Remove high cardinality run-id labels (#64358)
Poor prometheus |
||
|
|
573b3c61a2 | refactor(sdk-bundle): Adjust StaticQuestion and SqlParametersList visuals (#64313) | ||
|
|
0af38ef8f0 | Delete unused string util from metabase lib (#64389) | ||
|
|
7fcd8b3ef7 |
fix(sdk): Fix SDK TSC errors (#64328)
* Configure ESLint to prevent test files going into SDK build * Fix SDK build to not include test files * Fix the config to allow __support__/metadata * Revert a file I thought was a test file * Make rules consistent * Clean up tsconfig pattern * Make the error message less repeatable |
||
|
|
38260ca608 | Remove unused EmbeddingSetup components and hooks (#63841) | ||
|
|
e75dd496b8 | fix: add test for join behavior for 64317 fix (#64335) | ||
|
|
c2bea1ca8a |
feat: card deep links in pulses (#61794)
* feat: card deep links in pulses * fixup! new fn signature for render-notifications |
||
|
|
52e3cf2142 |
Replace and remove the deprecated space utility (#64378)
|
||
|
|
5b0164a622 | chore: replace moment-timezone with dayjs for main app (#63334) | ||
|
|
cebbfb235f |
Fix localization number separators (#64300)
* Fix incorrect separator on FE and add guard to setting * Reproduction * when-some * Add FE test * naming * Update frontend/src/metabase/admin/settings/components/widgets/FormattingWidget.unit.spec.tsx Co-authored-by: Ryan Laurie <30528226+iethree@users.noreply.github.com> --------- Co-authored-by: Ryan Laurie <30528226+iethree@users.noreply.github.com> |
||
|
|
f69789d465 | removed triage notifications (#64369) | ||
|
|
e2334d688a |
Enable copying of iframe cards (#64232)
* Enable copying of iframe cards * Use display to decide iframe type * Add iframe card test |
||
|
|
b71caeacdf |
WRK 905 Allow commenting on unsaved documents (#64237)
* WRK-905: Allow commenting on an unsaved document * Fix e2e tests * Remove 'disabled' prop from CommentsMenu. Remove force click in comments test * Allow editing document when comments sidebar is opened * Fix linting * Fix e2e tests * Address PR comments. Allow charts editing when comments sidebar is open |
||
|
|
0fee338d56 | Fix: cannot interact with DashCard actions panel while in edit mode on mobile devices (#64356) | ||
|
|
1216cee2ae |
Update generated docs (master) (#64348)
Co-authored-by: github-actions <github-actions@github.com> |
||
|
|
9f1fb57177 |
Closes EMB-411 no more transparent cell background by default (#64288)
* Closes EMB-411 no more transparent cell background by default * Update Loki Snapshots --------- Co-authored-by: Metabase Automation <github-automation@metabase.com> |
||
|
|
1c18e1023a | Closes EMB-854 actually escape the single quote (#64323) |
|
|
@@ -1855,6 +1855,7 @@
|
|||
metabase-enterprise.metabot-v3.tools.api}
|
||||
:uses #{api
|
||||
app-db
|
||||
audit-app
|
||||
collections
|
||||
config
|
||||
driver
|
||||
|
|
|
|||
1
.github/scripts/average-e2e-timings.js
vendored
|
|
@@ -21,7 +21,6 @@ const collectAndAverageTimings = async ({
|
|||
|
||||
const timingData = await downloadAndExtractArtifacts(
|
||||
artifacts,
|
||||
token,
|
||||
github,
|
||||
context,
|
||||
);
|
||||
|
|
|
|||
|
|
@@ -1,52 +0,0 @@
|
|||
name: Bugs Slack Notification
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
jobs:
|
||||
on-issue-labeled:
|
||||
runs-on: ubuntu-22.04
|
||||
timeout-minutes: 5
|
||||
if: |
|
||||
github.event.label.name == '.Needs Triage' && contains(github.event.issue.labels.*.name, 'Type:Bug')
|
||||
steps:
|
||||
- name: Setting title
|
||||
uses: actions/github-script@v7
|
||||
id: vars
|
||||
with:
|
||||
script: |
|
||||
core.setOutput('issue_title', ${{ toJson(github.event.issue.title) }}.replaceAll(/"/g, '\\"'));
|
||||
- name: Check for labels containing team name
|
||||
id: check_labels
|
||||
run: |
|
||||
labels_json=$(sed 's/&/\$/g' <<< '${{ toJson(github.event.issue.labels) }}')
|
||||
echo "has_team_label=false" >> "$GITHUB_OUTPUT"
|
||||
for label in "$labels_json"
|
||||
do
|
||||
if [[ $label == *".Team"* ]]; then
|
||||
echo "Label contains the team name."
|
||||
echo "has_team_label=true" >> "$GITHUB_OUTPUT"
|
||||
break
|
||||
fi
|
||||
done
|
||||
- name: Send the issue ${{ github.event.issue.number }} to Slack
|
||||
id: slack
|
||||
if: steps.check_labels.outputs.has_team_label == 'false'
|
||||
uses: slackapi/slack-github-action@v1.26.0
|
||||
with:
|
||||
payload: |
|
||||
{
|
||||
"blocks": [
|
||||
{
|
||||
"type": "section",
|
||||
"text": {
|
||||
"type": "mrkdwn",
|
||||
"text": "${{ steps.vars.outputs.issue_title }}\n${{ github.event.issue.html_url }}"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
env:
|
||||
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_BUG_TRIAGE_WEBHOOK_URL }}
|
||||
SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
|
||||
3
.github/workflows/e2e-tests.yml
vendored
|
|
@@ -118,7 +118,8 @@ jobs:
|
|||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const chunkFiles = glob.sync('timing-files/*/chunkTimings.json');
|
||||
const globber = await glob.create('timing-files/*/chunkTimings.json');
|
||||
const chunkFiles = await globber.glob();
|
||||
|
||||
const specs = new Map();
|
||||
chunkFiles.forEach(file => {
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 59 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 83 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 76 KiB After Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 109 KiB After Width: | Height: | Size: 108 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 107 KiB |