Skip to content

[backport cloud/1.41] Use preview downscaling in fewer places#9683

Merged
AustinMroz merged 1 commit intocloud/1.41from
backport-9678-to-cloud-1.41
Mar 9, 2026
Merged

[backport cloud/1.41] Use preview downscaling in fewer places#9683
AustinMroz merged 1 commit intocloud/1.41from
backport-9678-to-cloud-1.41

Conversation

@comfy-pr-bot
Copy link
Member

@comfy-pr-bot comfy-pr-bot commented Mar 9, 2026

Backport of #9678 to cloud/1.41

Automatically created by backport workflow.

┆Issue is synchronized with this Notion page by Unito

Thumbnail downscaling is currently being used in more places than it
should be.
- Nodes which display images will display incorrect resolution
indicators
<img width="255" height="372" alt="image"
src="https://github.com/user-attachments/assets/674790b6-04c8-4db0-84c2-2fa2dbaf123d"
/> <img width="255" height="372" alt="image"
src="https://github.com/user-attachments/assets/1dbe751b-7462-4408-9236-9446b005f5fc"
/>

This is particularly confusing with output nodes, which claim the output
is not of the intended resolution
- The "Download Image" and "Open Image" context menu actions will
incorrectly download the downscaled thumbnail.
- The assets panel will incorrectly display the thumbnail resolution as
the resolution of the output
- The lightbox (zoom) of an image will incorrectly display a downscaled
thumbnail.

This PR is a quick workaround to staunch the major problems
- Nodes always display full previews.
- Resolution downscaling is applied on the assert card, not on the
assetItem itself
- Due to implementation, this means that asset cards will still
incorrectly show the resolution of the thumbnail instead of the size of
the full image.

---------

Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Alexander Brown <drjkl@comfy.org>
@comfy-pr-bot comfy-pr-bot added the backport Backporting a PR onto a release candidate label Mar 9, 2026
@comfy-pr-bot comfy-pr-bot requested a review from a team as a code owner March 9, 2026 23:04
@dosubot dosubot bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Mar 9, 2026
@github-actions
Copy link

github-actions bot commented Mar 9, 2026

🎨 Storybook: ✅ Built — View Storybook

Details

⏰ Completed at: 03/09/2026, 11:05:53 PM UTC

Links

@github-actions
Copy link

github-actions bot commented Mar 9, 2026

🎭 Playwright: ✅ 556 passed, 0 failed · 2 flaky

📊 Browser Reports
  • chromium: View Report (✅ 543 / ❌ 0 / ⚠️ 2 / ⏭️ 10)
  • chromium-2x: View Report (✅ 2 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • chromium-0.5x: View Report (✅ 1 / ❌ 0 / ⚠️ 0 / ⏭️ 0)
  • mobile-chrome: View Report (✅ 10 / ❌ 0 / ⚠️ 0 / ⏭️ 0)

@github-actions
Copy link

github-actions bot commented Mar 9, 2026

⚡ Performance Report

No baseline found — showing absolute values.

Metric Value
canvas-idle: style recalcs 125
canvas-idle: layouts 0
canvas-idle: task duration 429ms
canvas-idle: heap delta -3.4 MB
canvas-mouse-sweep: style recalcs 176
canvas-mouse-sweep: layouts 12
canvas-mouse-sweep: task duration 916ms
canvas-mouse-sweep: heap delta -3.3 MB
dom-widget-clipping: style recalcs 43
dom-widget-clipping: layouts 0
dom-widget-clipping: task duration 354ms
dom-widget-clipping: heap delta 7.1 MB
subgraph-dom-widget-clipping: style recalcs 73
subgraph-dom-widget-clipping: layouts 0
subgraph-dom-widget-clipping: task duration 419ms
subgraph-dom-widget-clipping: heap delta -540.2 KB
subgraph-idle: style recalcs 121
subgraph-idle: layouts 0
subgraph-idle: task duration 415ms
subgraph-idle: heap delta -3.0 MB
subgraph-mouse-sweep: style recalcs 167
subgraph-mouse-sweep: layouts 16
subgraph-mouse-sweep: task duration 910ms
subgraph-mouse-sweep: heap delta -5.3 MB
Raw data
{
  "timestamp": "2026-03-09T23:08:49.729Z",
  "gitSha": "5eb1079054e5c642d3472739f315c70a094b372d",
  "branch": "backport-9678-to-cloud-1.41",
  "measurements": [
    {
      "name": "canvas-idle",
      "durationMs": 2037.0929999999987,
      "styleRecalcs": 126,
      "styleRecalcDurationMs": 29.729000000000003,
      "layouts": 1,
      "layoutDurationMs": 0.2000000000000001,
      "taskDurationMs": 452.492,
      "heapDeltaBytes": -2614088
    },
    {
      "name": "canvas-idle",
      "durationMs": 2047.5910000000113,
      "styleRecalcs": 125,
      "styleRecalcDurationMs": 23.665000000000003,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 410.6379999999999,
      "heapDeltaBytes": -4449284
    },
    {
      "name": "canvas-idle",
      "durationMs": 2027.953000000025,
      "styleRecalcs": 123,
      "styleRecalcDurationMs": 23.638,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 424.524,
      "heapDeltaBytes": -3552016
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1955.9110000000146,
      "styleRecalcs": 180,
      "styleRecalcDurationMs": 56.696999999999996,
      "layouts": 12,
      "layoutDurationMs": 3.6710000000000003,
      "taskDurationMs": 916.8800000000001,
      "heapDeltaBytes": -3277904
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 2012.1330000000057,
      "styleRecalcs": 180,
      "styleRecalcDurationMs": 52.495999999999995,
      "layouts": 12,
      "layoutDurationMs": 3.4029999999999996,
      "taskDurationMs": 1034.091,
      "heapDeltaBytes": -2890372
    },
    {
      "name": "canvas-mouse-sweep",
      "durationMs": 1839.845999999966,
      "styleRecalcs": 169,
      "styleRecalcDurationMs": 49.425999999999995,
      "layouts": 12,
      "layoutDurationMs": 3.3619999999999997,
      "taskDurationMs": 795.5360000000001,
      "heapDeltaBytes": -4149564
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 590.1350000000036,
      "styleRecalcs": 44,
      "styleRecalcDurationMs": 11.775,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 353.242,
      "heapDeltaBytes": 7290376
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 578.5250000000133,
      "styleRecalcs": 43,
      "styleRecalcDurationMs": 13.01,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 359.85499999999996,
      "heapDeltaBytes": 7508072
    },
    {
      "name": "dom-widget-clipping",
      "durationMs": 567.0489999999972,
      "styleRecalcs": 41,
      "styleRecalcDurationMs": 12.642999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 347.433,
      "heapDeltaBytes": 7639184
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 596.6449999999952,
      "styleRecalcs": 73,
      "styleRecalcDurationMs": 15.363999999999999,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 410.686,
      "heapDeltaBytes": 15913008
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 583.4950000000276,
      "styleRecalcs": 73,
      "styleRecalcDurationMs": 15.489999999999998,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 418.774,
      "heapDeltaBytes": -9001520
    },
    {
      "name": "subgraph-dom-widget-clipping",
      "durationMs": 608.8440000000332,
      "styleRecalcs": 74,
      "styleRecalcDurationMs": 15.857,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 428.597,
      "heapDeltaBytes": -8570880
    },
    {
      "name": "subgraph-idle",
      "durationMs": 2008.1569999999829,
      "styleRecalcs": 123,
      "styleRecalcDurationMs": 28.297000000000004,
      "layouts": 1,
      "layoutDurationMs": 0.22099999999999995,
      "taskDurationMs": 432.77700000000004,
      "heapDeltaBytes": -2428628
    },
    {
      "name": "subgraph-idle",
      "durationMs": 1994.338999999968,
      "styleRecalcs": 120,
      "styleRecalcDurationMs": 23.403999999999996,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 407.9680000000001,
      "heapDeltaBytes": -3402864
    },
    {
      "name": "subgraph-idle",
      "durationMs": 1991.3389999999822,
      "styleRecalcs": 120,
      "styleRecalcDurationMs": 23.796999999999997,
      "layouts": 0,
      "layoutDurationMs": 0,
      "taskDurationMs": 405.69100000000003,
      "heapDeltaBytes": -3518332
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 2000.522999999987,
      "styleRecalcs": 173,
      "styleRecalcDurationMs": 57.116,
      "layouts": 16,
      "layoutDurationMs": 4.549999999999999,
      "taskDurationMs": 995.2230000000001,
      "heapDeltaBytes": -5196508
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1711.3720000000399,
      "styleRecalcs": 155,
      "styleRecalcDurationMs": 46.055,
      "layouts": 16,
      "layoutDurationMs": 4.428999999999999,
      "taskDurationMs": 742.3029999999999,
      "heapDeltaBytes": -6466896
    },
    {
      "name": "subgraph-mouse-sweep",
      "durationMs": 1997.2389999999791,
      "styleRecalcs": 172,
      "styleRecalcDurationMs": 56.018,
      "layouts": 16,
      "layoutDurationMs": 4.316000000000001,
      "taskDurationMs": 992.155,
      "heapDeltaBytes": -5158628
    }
  ]
}

@AustinMroz AustinMroz merged commit 37be2ec into cloud/1.41 Mar 9, 2026
39 checks passed
@AustinMroz AustinMroz deleted the backport-9678-to-cloud-1.41 branch March 9, 2026 23:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport Backporting a PR onto a release candidate size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants