fix: handle RIFF padding for odd-sized WEBP chunks

WEBP files with odd-sized chunks before the EXIF chunk would fail to
load embedded workflows because the RIFF container specification
requires odd-sized chunks to be padded with a single byte.

This fix adds the padding byte to the offset calculation when parsing
WEBP metadata chunks.

Reference: https://developers.google.com/speed/webp/docs/riff_container#riff_file_format

Fixes #8076

Amp-Thread-ID: https://ampcode.com/threads/T-019c17d3-82e5-709b-b440-63fd92053adb
This commit is contained in:
bymyself
2026-01-31 22:26:35 -08:00
parent 544ef5bb70
commit 3688230e81
4 changed files with 184 additions and 1 deletions

View File

@@ -0,0 +1,102 @@
# 1.38.x Release - QA Testing Guide
## Queue & Job Management
### Active Jobs Display & Queue Progress
- Add active jobs display to grid view [#8209](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8209)
- feat: show active jobs label in top menu [#8169](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8169)
- feat: enable new queue progress by default [#8121](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8121)
- refactor: use orderBy for queue list sorting [#8228](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8228)
**How to test:**
- Queue multiple workflows and verify active jobs appear in grid view
- Check top menu shows active job count during execution
- Verify queue items display in chronological order (newest first)
- Monitor new progress UI during workflow execution
---
## Workflow & Tab Management
### Workflow Persistence & Bulk Operations
- Feat: Persist all unsaved workflow tabs [#6050](https://github.com/Comfy-Org/ComfyUI_frontend/pull/6050)
- feat: add bulk actions for workflow operations in media assets [#7992](https://github.com/Comfy-Org/ComfyUI_frontend/pull/7992)
- Replace QPO with opening assets tab [#8260](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8260)
**How to test:**
- Create/modify workflows without saving, refresh page, verify tabs persist
- Open media assets, select multiple workflows, use bulk actions (delete, download, etc.)
- Click "Quick Prompt Options" button - should open assets tab instead
---
## Node Widgets & Canvas
### Visual Crop Preview & 3D Thumbnails
- feat: Add visual crop preview widget for ImageCrop node [#7825](https://github.com/Comfy-Org/ComfyUI_frontend/pull/7825)
- add thumbnail for 3d generation [#8129](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8129)
**How to test:**
- Add ImageCrop node, adjust crop parameters, verify visual preview updates in real-time
- Generate 3D output, verify thumbnail appears in output panel
---
## Node Help & Documentation
### Decoupled Node Help
- Decouple node help between sidebar and right panel [#8110](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8110)
**How to test:**
- Open node library sidebar, click help icon on a node
- Open right panel node help for same node
- Verify both work independently without interfering
---
## UI/UX Improvements
### Image Selection & Feedback
- fix: image selection modal Inputs Outputs filtering is not working [#8272](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8272)
- feat: enable feedback button on nightly releases [#8220](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8220)
**How to test:**
- Open image selection modal, toggle Inputs/Outputs filters, verify filtering works
- On nightly build, verify feedback button appears in UI
---
## Platform & Subscription
### Platform URLs & Subscription Links
- fix: use staging platform URL for usage history link [#8056](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8056)
- feat: handling subscription tier button link parameter [#7553](https://github.com/Comfy-Org/ComfyUI_frontend/pull/7553)
**How to test:**
- Click usage history link, verify opens correct staging URL
- Navigate to subscription tier buttons, verify links include proper parameters
---
## Build & Infrastructure
### Vite 8 & Error Handling
- feat: upgrade vite to v8.0.0-beta.8 (Rolldown-powered) [#8127](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8127)
- fix: replace vite preload error reload with error logging [#8261](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8261)
**How to test:**
- Verify app loads without errors in console
- Check for any build/bundling issues
- Monitor network tab for preload errors (should log, not reload)
---
## Miscellaneous
### PWA & Price Badges
- fix: add missing pwa icon in manifest.json [#8071](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8071)
- Move price badges to python nodes [#7816](https://github.com/Comfy-Org/ComfyUI_frontend/pull/7816)
**How to test:**
- Check PWA manifest has all required icons
- Verify price badges display correctly on relevant nodes (should be server-side now)

View File

@@ -0,0 +1,51 @@
High prio:
* *Queue & Job Management*
* Add active jobs display to grid view [#8209](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8209)
* feat: show active jobs label in top menu [#8169](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8169)
* feat: enable new queue progress by default [#8121](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8121)
* refactor: use orderBy for queue list sorting [#8228](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8228)
- [ ] Queue multiple workflows and verify active jobs appear in grid view
- [ ] Check top menu shows active job count during execution
- [ ] Verify queue items display in chronological order (newest first)
- [ ] Monitor new progress UI during workflow execution
* *Partner Nodes*
* Move price badges to python nodes [#7816](https://github.com/Comfy-Org/ComfyUI_frontend/pull/7816)
- [ ] Verify price badges display correctly on relevant nodes (should be server-side now)
* *Workflow & Tab Management*
* Feat: Persist all unsaved workflow tabs [#6050](https://github.com/Comfy-Org/ComfyUI_frontend/pull/6050)
* feat: add bulk actions for workflow operations in media assets [#7992](https://github.com/Comfy-Org/ComfyUI_frontend/pull/7992)
* Replace QPO with opening assets tab [#8260](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8260)
- [ ] Create/modify workflows without saving, refresh page, verify tabs persist
- [ ] Open media assets, select multiple workflows, use bulk actions (delete, download, etc.)
- [ ] Click "Quick Prompt Options" button - should open assets tab instead
Minor:
* *Node Widgets & Canvas*
* feat: Add visual crop preview widget for ImageCrop node [#7825](https://github.com/Comfy-Org/ComfyUI_frontend/pull/7825)
* add thumbnail for 3d generation [#8129](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8129)
- [ ] Add ImageCrop node, ensure not broken
- [ ] Generate 3D output, verify thumbnail appears in output panel
* *Node Help & Documentation*
* Decouple node help between sidebar and right panel [#8110](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8110)
- [ ] Open node library sidebar, click help icon on a node's toolbox overlay
- [ ] Open right panel node help for same node
- [ ] Verify both work independently without interfering
* *UI/UX Improvements*
* fix: image selection modal Inputs Outputs filtering is not working [#8272](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8272)
* feat: enable feedback button on nightly releases [#8220](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8220)
- [ ] Open image selection modal, toggle Inputs/Outputs filters, verify filtering works
- [ ] Verify the "Nightly" badge is not shown
- [ ] Verify the feedback button still goes to the cloud zendesk url
* *Platform & Subscription*
* fix: use staging platform URL for usage history link [#8056](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8056)
* feat: handling subscription tier button link parameter [#7553](https://github.com/Comfy-Org/ComfyUI_frontend/pull/7553)
- [ ] Click usage history link, verify opens correct staging URL (in credits panel of settings)
- [ ] Navigate to subscription tier buttons, verify links include proper parameters
* *Build & Infrastructure*
* feat: upgrade vite to v8.0.0-beta.8 (Rolldown-powered) [#8127](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8127)
* fix: replace vite preload error reload with error logging [#8261](https://github.com/Comfy-Org/ComfyUI_frontend/pull/8261)
- [ ] Verify app loads without errors in console
- [ ] Check for any build/bundling issues
- [ ] Monitor logs post-release for preload errors

28
release-notes-1.38.x.md Normal file
View File

@@ -0,0 +1,28 @@
<details>
<summary>Changes</summary>
## High-Priority QA for Staging
These changes should be thoroughly tested on staging before promoting to production:
- fix: use staging platform URL for usage history link by @christian-byrne in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8056
- feat: handling subscription tier button link parameter by @Yourz in https://github.com/Comfy-Org/ComfyUI_frontend/pull/7553
- Add active jobs display to grid view by @viva-jinyi in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8209
- feat: add bulk actions for workflow operations in media assets by @viva-jinyi in https://github.com/Comfy-Org/ComfyUI_frontend/pull/7992
- feat: enable new queue progress by default by @christian-byrne in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8121
- Decouple node help between sidebar and right panel by @pythongosssss in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8110
- feat: Add visual crop preview widget for ImageCrop node - widget ImageCrop by @jtydhr88 in https://github.com/Comfy-Org/ComfyUI_frontend/pull/7825
- Feat: Persist all unsaved workflow tabs by @christian-byrne in https://github.com/Comfy-Org/ComfyUI_frontend/pull/6050
- add thumbnail for 3d generation by @jtydhr88 in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8129
- Replace QPO with opening assets tab by @benceruleanlu in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8260
- feat: show active jobs label in top menu by @benceruleanlu in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8169
- fix: image selection modal Inputs Outputs filtering is not working by @LittleSound in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8272
- refactor: use orderBy for queue list sorting by @benceruleanlu in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8228
- feat: upgrade vite to v8.0.0-beta.8 (Rolldown-powered) by @DrJKL in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8127
- feat: enable feedback button on nightly releases by @Myestery in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8220
- fix: replace vite preload error reload with error logging by @jtydhr88 in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8261
- fix: add missing pwa icon in manifest.json by @light-and-ray in https://github.com/Comfy-Org/ComfyUI_frontend/pull/8071
- Move price badges to python nodes by @bigcat88 in https://github.com/Comfy-Org/ComfyUI_frontend/pull/7816
- Feat: Persist all unsaved workflow tabs by @christian-byrne in https://github.com/Comfy-Org/ComfyUI_frontend/pull/6050
</details>

View File

@@ -124,7 +124,9 @@ export function getWebpMetadata(file: File) {
break
}
offset += 8 + chunk_length
// RIFF spec requires odd-sized chunks to be padded with a single byte
// https://developers.google.com/speed/webp/docs/riff_container#riff_file_format
offset += 8 + chunk_length + (chunk_length % 2)
}
r(txt_chunks)