Commit b9f5c90
# Backport
This will backport the following commits from `main` to `8.19`:
- [[Lens][Reporting] Add custom CSS for Lens screenshots
(#228603)](#228603)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Marco
Vettorello","email":"[email protected]"},"sourceCommit":{"committedDate":"2025-07-26T19:27:22Z","message":"[Lens][Reporting]
Add custom CSS for Lens screenshots (#228603)\n\n## Summary\n\nFix Lens
screenshotting issues:\n\n- apply `hide-for-sharing` class to the search
bar in lens\n- added two specialized styles for Lens workspace to fix
the current\npositioning error by removing the container display flex
and\npadding/borders.\n\nWhat is actually doing is removing horizontal
and vertical spacing,\ncaused by the current flex layout
applied.\n\nI've tried to tracking down a bit more why exactly this is
happening,\nbut I didn't want to touch much the current reporting logic.
From what I\nsaw the reporting for PNG works like that:\n1- the service
receive, together with other info, the current `layout`\nfrom the
browser page (consisting in the size of the current\nvisualization)\n2-
it creates a puppeter page with a viewport of the same size of
the\n`layout.width` and a `scaleFactor`\n3- the setup step, waits for
elements to be on the screen, applies the\nand the render is
completed\n4- we detect element positions and sizing with a
headless-browser size\ncall to getBoundingBoxRect()\n5- the viewport is
now is changed again (actually just vertically) to\ncover the entire
height from the top to the bottom of the chart\n(computed at step 4)\n6-
a screenshot request to the headless browser covering clipping
the\nscreen to just the element position, size.\n\nI believe the best
way to approach this in the future is, instead of\nchanging the viewport
and and clipping where the element is, we can\napply a `position:fixed`
push the chart to the top/left corner and\napplying the original
`layout` size to the screenshotting element. In\nthis way we are sure
that the sizing and clipping is always perfect.\n\n\nfix
https://github.com/elastic/kibana/issues/227930\nfix
https://github.com/elastic/kibana/issues/219297\n\n---------\n\nCo-authored-by:
Nick Partridge <[email protected]>\nCo-authored-by:
kibanamachine
<[email protected]>","sha":"46808d6debc42d1e0988c1caaf16cd0fabaff448","branchLabelMapping":{"^v9.2.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["bug","release_note:fix","Team:Visualizations","Feature:Lens","Feature:Reporting:Screenshot","backport:version","v9.1.0","v9.2.0","v9.0.5","v8.17.10","v8.19.1"],"title":"[Lens][Reporting]
Add custom CSS for Lens
screenshots","number":228603,"url":"https://github.com/elastic/kibana/pull/228603","mergeCommit":{"message":"[Lens][Reporting]
Add custom CSS for Lens screenshots (#228603)\n\n## Summary\n\nFix Lens
screenshotting issues:\n\n- apply `hide-for-sharing` class to the search
bar in lens\n- added two specialized styles for Lens workspace to fix
the current\npositioning error by removing the container display flex
and\npadding/borders.\n\nWhat is actually doing is removing horizontal
and vertical spacing,\ncaused by the current flex layout
applied.\n\nI've tried to tracking down a bit more why exactly this is
happening,\nbut I didn't want to touch much the current reporting logic.
From what I\nsaw the reporting for PNG works like that:\n1- the service
receive, together with other info, the current `layout`\nfrom the
browser page (consisting in the size of the current\nvisualization)\n2-
it creates a puppeter page with a viewport of the same size of
the\n`layout.width` and a `scaleFactor`\n3- the setup step, waits for
elements to be on the screen, applies the\nand the render is
completed\n4- we detect element positions and sizing with a
headless-browser size\ncall to getBoundingBoxRect()\n5- the viewport is
now is changed again (actually just vertically) to\ncover the entire
height from the top to the bottom of the chart\n(computed at step 4)\n6-
a screenshot request to the headless browser covering clipping
the\nscreen to just the element position, size.\n\nI believe the best
way to approach this in the future is, instead of\nchanging the viewport
and and clipping where the element is, we can\napply a `position:fixed`
push the chart to the top/left corner and\napplying the original
`layout` size to the screenshotting element. In\nthis way we are sure
that the sizing and clipping is always perfect.\n\n\nfix
https://github.com/elastic/kibana/issues/227930\nfix
https://github.com/elastic/kibana/issues/219297\n\n---------\n\nCo-authored-by:
Nick Partridge <[email protected]>\nCo-authored-by:
kibanamachine
<[email protected]>","sha":"46808d6debc42d1e0988c1caaf16cd0fabaff448"}},"sourceBranch":"main","suggestedTargetBranches":["9.1","9.0","8.17","8.19"],"targetPullRequestStates":[{"branch":"9.1","label":"v9.1.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v9.2.0","branchLabelMappingKey":"^v9.2.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/228603","number":228603,"mergeCommit":{"message":"[Lens][Reporting]
Add custom CSS for Lens screenshots (#228603)\n\n## Summary\n\nFix Lens
screenshotting issues:\n\n- apply `hide-for-sharing` class to the search
bar in lens\n- added two specialized styles for Lens workspace to fix
the current\npositioning error by removing the container display flex
and\npadding/borders.\n\nWhat is actually doing is removing horizontal
and vertical spacing,\ncaused by the current flex layout
applied.\n\nI've tried to tracking down a bit more why exactly this is
happening,\nbut I didn't want to touch much the current reporting logic.
From what I\nsaw the reporting for PNG works like that:\n1- the service
receive, together with other info, the current `layout`\nfrom the
browser page (consisting in the size of the current\nvisualization)\n2-
it creates a puppeter page with a viewport of the same size of
the\n`layout.width` and a `scaleFactor`\n3- the setup step, waits for
elements to be on the screen, applies the\nand the render is
completed\n4- we detect element positions and sizing with a
headless-browser size\ncall to getBoundingBoxRect()\n5- the viewport is
now is changed again (actually just vertically) to\ncover the entire
height from the top to the bottom of the chart\n(computed at step 4)\n6-
a screenshot request to the headless browser covering clipping
the\nscreen to just the element position, size.\n\nI believe the best
way to approach this in the future is, instead of\nchanging the viewport
and and clipping where the element is, we can\napply a `position:fixed`
push the chart to the top/left corner and\napplying the original
`layout` size to the screenshotting element. In\nthis way we are sure
that the sizing and clipping is always perfect.\n\n\nfix
https://github.com/elastic/kibana/issues/227930\nfix
https://github.com/elastic/kibana/issues/219297\n\n---------\n\nCo-authored-by:
Nick Partridge <[email protected]>\nCo-authored-by:
kibanamachine
<[email protected]>","sha":"46808d6debc42d1e0988c1caaf16cd0fabaff448"}},{"branch":"9.0","label":"v9.0.5","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.17","label":"v8.17.10","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.19","label":"v8.19.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->
Co-authored-by: Marco Vettorello <[email protected]>
Co-authored-by: Nick Partridge <[email protected]>
1 parent cd51bcb commit b9f5c90
File tree
4 files changed
+16
-2
lines changed4 files changed
+16
-2
lines changedLines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
503 | 503 | | |
504 | 504 | | |
505 | 505 | | |
506 | | - | |
| 506 | + | |
507 | 507 | | |
508 | 508 | | |
509 | 509 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
111 | 112 | | |
112 | 113 | | |
113 | 114 | | |
114 | | - | |
| 115 | + | |
115 | 116 | | |
116 | 117 | | |
117 | 118 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
271 | 271 | | |
272 | 272 | | |
273 | 273 | | |
| 274 | + | |
274 | 275 | | |
275 | 276 | | |
276 | 277 | | |
| |||
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
0 commit comments