Tranquil-Flow
4e56eacdce
fix(vision): reject oversized images before API call, handle file:// URIs, improve 400 errors
...
Three fixes for vision_analyze returning cryptic 400 "Invalid request data":
1. Pre-flight base64 size check — base64 inflates data ~33%, so a 3.8 MB
file exceeds the 5 MB API limit. Reject early with a clear message
instead of letting the provider return a generic 400.
2. Handle file:// URIs — strip the scheme and resolve as a local path.
Previously file:///path/to/image.png fell through to the "invalid
image source" error since it matched neither is_file() nor http(s).
3. Separate invalid_request errors from "does not support vision" errors
so the user gets actionable guidance (resize/compress/retry) instead
of a misleading "model does not support vision" message.
Closes #6677
2026-04-11 02:03:20 -07:00
..
2026-03-23 07:43:12 -07:00
2026-04-10 05:19:21 -07:00
2026-04-08 17:23:15 -07:00
2026-04-10 03:44:43 -07:00
2026-04-09 13:17:06 -07:00
2026-04-10 03:44:43 -07:00
2026-04-07 08:40:22 -04:00
2026-04-08 13:44:58 -07:00
2026-03-17 02:02:57 -07:00
2026-03-28 17:25:04 -07:00
2026-04-10 13:05:44 -07:00
2026-04-10 13:05:44 -07:00
2026-04-01 12:03:56 -07:00
2026-03-31 10:40:13 -07:00
2026-03-13 22:14:00 -07:00
2026-04-10 21:15:47 -07:00
2026-04-09 16:24:53 -07:00
2026-04-10 03:44:43 -07:00
2026-03-27 04:03:00 -07:00
2026-04-10 03:44:43 -07:00
2026-03-17 01:40:02 -07:00
2026-04-08 17:23:15 -07:00
2026-03-26 14:50:26 -07:00
2026-04-10 21:16:53 -07:00
2026-04-09 13:17:06 -07:00
2026-03-10 20:45:13 -07:00
2026-04-10 03:44:43 -07:00
2026-04-10 21:16:53 -07:00
2026-04-10 16:47:44 -07:00
2026-03-31 12:53:19 -07:00
2026-04-01 00:50:08 -07:00
2026-04-10 03:01:46 -07:00
2026-04-10 21:14:32 -07:00
2026-04-08 17:23:15 -07:00
2026-03-23 07:43:12 -07:00
2026-03-17 02:22:12 -07:00
2026-03-14 11:27:02 -07:00
2026-04-10 16:47:44 -07:00
2026-03-04 18:34:16 +03:00
2026-03-13 02:51:51 -07:00
2026-03-27 15:28:19 -07:00
2026-03-23 22:45:55 -07:00
2026-04-09 16:24:53 -07:00
2026-04-07 17:19:07 -07:00
2026-03-30 13:28:10 +09:00
2026-04-08 17:23:15 -07:00
2026-04-09 13:17:06 -07:00
2026-04-07 08:40:22 -04:00
2026-03-29 15:52:54 -07:00
2026-04-05 22:08:00 -07:00
2026-04-04 10:18:57 -07:00
2026-04-10 16:47:44 -07:00
2026-04-10 03:44:35 -07:00
2026-04-04 10:18:57 -07:00
2026-04-02 20:54:27 -07:00
2026-04-03 13:10:11 -07:00
2026-03-14 07:53:56 -07:00
2026-04-08 17:23:15 -07:00
2026-04-10 03:01:46 -07:00
2026-04-10 03:52:16 -07:00
2026-04-05 12:46:07 -07:00
2026-03-17 02:34:35 -07:00
2026-04-10 16:47:44 -07:00
2026-04-09 16:24:53 -07:00
2026-03-20 14:54:25 -07:00
2026-03-27 07:49:44 -07:00
2026-03-10 17:09:51 -07:00
2026-03-17 02:02:57 -07:00
2026-04-09 13:17:06 -07:00
2026-04-10 03:20:05 -07:00
2026-03-26 14:35:31 -07:00
2026-03-16 19:01:39 +03:00
2026-04-10 03:44:43 -07:00
2026-04-01 04:19:19 -07:00
2026-04-10 05:19:21 -07:00
2026-04-01 04:19:19 -07:00
2026-03-04 05:30:43 -08:00
2026-03-26 13:40:21 -07:00
2026-03-14 23:15:04 -07:00
2026-04-10 03:44:43 -07:00
2026-04-11 01:21:20 -07:00
2026-03-28 17:52:32 -07:00
2026-04-10 03:01:46 -07:00
2026-03-04 17:23:23 +03:00
2026-03-21 17:10:17 -07:00
2026-04-04 16:57:24 -07:00
2026-04-10 02:58:54 -07:00
2026-04-08 21:37:51 -07:00
2026-03-31 08:48:54 +09:00
2026-03-29 21:51:44 -07:00
2026-04-09 16:24:53 -07:00
2026-03-30 13:28:10 +09:00
2026-04-09 02:50:07 -07:00
2026-04-08 17:23:15 -07:00
2026-03-16 23:39:41 -07:00
2026-03-08 23:07:38 +03:00
2026-04-07 17:19:07 -07:00
2026-04-09 16:24:53 -07:00
2026-04-10 03:27:30 -07:00
2026-03-31 03:10:01 -07:00
2026-04-11 01:56:55 -07:00
2026-03-23 15:40:42 -07:00
2026-04-11 02:03:20 -07:00
2026-03-14 14:27:21 +03:00
2026-04-09 16:24:53 -07:00
2026-03-31 08:48:54 +09:00
2026-04-09 13:17:06 -07:00
2026-03-30 08:10:14 -07:00
2026-04-10 03:38:44 -07:00
2026-04-10 16:51:44 -07:00