Brooklyn Nicholson
82bbc694b5
fix(desktop,gateway): proxy client-unreachable remote images through the gateway
...
An inline agent-generated image (FAL CDN URL) that the Desktop client
cannot reach renders as a collapsed frame with no usable fallback
(#74564 ): resolveMediaDisplaySrc passes inline https sources through
untouched, and a failed <img> load only records the broken-key.
- Gateway: GET /api/media/proxy fetches an allowlisted remote image URL
on the client's behalf (the gateway generated the image and holds a
working route to the CDN) and returns the same data_url shape as
/api/media. Host-allowlist (fal.media/fal.run/storage.googleapis.com
and subdomains), 20s timeout, image content-type check, 25MB cap.
- Renderer: gatewayImageProxyDataUrl wraps the new endpoint with
owner-connection/profile pinning; useMediaImage retries a failed
inline https load ONCE through the proxy and swaps in the returned
data URL. The retry is latched per source: a failing proxied data URL
or a remount never loops, and non-https sources never reach it.
2026-09-29 21:39:53 -05:00
..
2026-09-28 10:21:41 -07:00
2026-09-29 18:49:58 -05:00
2026-09-29 15:58:55 +05:30
2026-09-29 18:48:37 -05:00
2026-09-29 21:39:53 -05:00
2026-09-29 20:57:17 -05:00
2026-09-29 14:36:55 +05:30
2026-09-29 16:47:48 +05:30
2026-09-29 18:49:58 -05:00
2026-09-28 10:21:41 -07:00
2026-09-29 20:24:19 -04:00
2026-09-29 07:44:13 +00:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-09-29 18:47:44 -05:00
2026-09-29 20:24:19 -04:00
2026-09-29 20:58:24 -05:00
2026-09-29 07:44:13 +00:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 23:54:34 +05:30
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-29 23:54:34 +05:30
2026-09-29 23:54:34 +05:30
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-29 18:33:44 +05:30
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-29 07:44:13 +00:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-29 18:33:44 +05:30
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-29 20:34:45 +05:30
2026-09-29 03:28:46 +05:30
2026-09-28 14:16:18 -07:00
2026-09-28 13:08:49 -07:00
2026-09-29 20:24:19 -04:00
2026-09-28 10:21:41 -07:00
2026-09-29 20:24:19 -04:00
2026-09-28 13:30:57 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 07:51:44 -04:00
2026-09-29 19:49:52 -05:00
2026-09-28 10:21:41 -07:00
2026-09-29 20:24:19 -04:00
2026-09-28 10:21:41 -07:00
2026-09-28 06:42:00 -07:00
2026-09-29 12:16:43 -04:00
2026-09-29 05:59:25 -04:00
2026-09-28 12:23:25 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 07:44:13 +00:00
2026-09-28 13:30:57 -07:00
2026-09-28 13:30:57 -07:00
2026-09-29 18:49:58 -05:00
2026-09-29 18:49:58 -05:00
2026-09-29 18:09:20 -05:00
2026-09-29 02:37:33 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:56:47 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 12:24:52 -05:00
2026-09-28 19:02:20 +05:30
2026-09-29 19:49:52 -05:00
2026-09-28 06:42:00 -07:00
2026-09-29 15:45:52 +05:30
2026-09-28 14:16:18 -07:00
2026-09-29 16:47:48 +05:30
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 05:37:55 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-09-29 12:55:46 -07:00
2026-09-29 20:57:57 -05:00
2026-09-29 12:55:46 -07:00
2026-09-29 23:54:34 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 18:33:44 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 12:18:42 -07:00
2026-09-28 09:22:11 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-29 15:05:57 -04:00
2026-09-29 20:24:19 -04:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 20:57:57 -05:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 21:03:09 -04:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:33:01 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 14:16:18 -07:00
2026-09-29 19:49:52 -05:00
2026-09-28 21:02:35 -04:00
2026-09-28 10:21:41 -07:00
2026-09-29 15:28:19 -05:00
2026-09-28 12:33:01 -07:00
2026-09-28 19:02:20 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 20:34:45 +05:30
2026-09-29 18:49:58 -05:00
2026-09-29 20:58:24 -05:00
2026-09-28 21:04:13 -04:00
2026-09-29 18:49:58 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 12:43:03 -07:00
2026-09-29 18:49:58 -05:00
2026-09-28 12:43:03 -07:00
2026-09-28 21:04:13 -04:00
2026-09-29 20:58:59 -05:00
2026-09-28 21:02:29 -04:00
2026-09-29 20:57:51 -05:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 11:40:36 -05:00
2026-09-29 21:39:17 -05:00
2026-09-28 12:33:01 -07:00
2026-09-28 12:18:58 -07:00
2026-09-29 19:06:35 -05:00
2026-09-28 12:18:58 -07:00
2026-09-28 12:18:58 -07:00
2026-09-29 20:57:23 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 15:24:15 +05:30