b1fd73cbe61e0bb449b639647ccceb6a2b747dc8
Reproduction: open the new profile header (4.6.17) for any streamer with a real Twitch avatar. The fallback gradient letter tile renders instead of the actual profile picture. Image works fine pasted into the browser; only the renderer img tag fails. Cause is Electron renderer image loading against the Twitch CDN (static-cdn.jtvnw.net) — undocumented but reproducible: the same HTTPS URL that loads fine in DevTools fails silently from the live page, firing the img.onerror handler which (by design) swaps to the letter-tile fallback. Fix: fetch the avatar bytes in the main process via axios (Node http client, no renderer / CSP / referrer-policy / CORS shenanigans), convert to base64 data URL, and put THAT in the profile.avatarUrl field. The renderer just renders the data URL via img src — same code path, but the URL is now data:image/png;base64,... so no external fetch is involved. Bytes cached by source URL in a small FIFO map (256 entries) so the same avatar across cache misses only downloads once. Profile cache itself is unchanged, just stores the data URL now instead of the remote URL. On a clean restart the user sees the fix on first streamer click; mid-session a click on Refresh (top-right of the header) forces a re-fetch through the new path. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
No description provided
5.7 MiB
Releases
230
Twitch VOD Manager 1.0.23
Latest
Languages
TypeScript
74.7%
CSS
12.6%
HTML
7.1%
JavaScript
5.6%