mikasa
644645f4f9
fix #95291 : message tool fails to deliver files/images on Feishu (400 volc-dcdn / write ECONNRESET) while same Lark SDK upload succeeds standalone ( #95514 )
...
* fix(feishu): normalize media upload multipart data
Convert Feishu SDK multipart Buffer upload parts into explicit FormData
before they reach the wrapped HTTP transport. The SDK upload helpers
pass multipart data as a plain object with Buffer media parts; relying on
implicit serialization in the timeout/proxy-aware HTTP wrapper was fragile
and caused file/image delivery failures (400 volc-dcdn / write ECONNRESET)
even though the same credentials succeeded via a standalone SDK upload.
Adds normalizeMultipartUploadData, applied on the request path of the
shared Feishu HTTP instance, plus a regression test covering the
multipart-to-FormData normalization.
Rebased onto current origin/main, which replaced the old synchronous
injectTimeout path with the async proxy-aware injectRequestOptions flow;
the multipart normalization is now applied before that flow.
* fix(feishu): scope multipart media normalization
* test(feishu): mark multipart auth fixture synthetic
* test(feishu): use field-shaped secret fixtures
* fix(feishu): validate multipart upload endpoints
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-20 23:31:03 -07:00
..
2026-07-20 12:57:54 -06:00
2026-07-18 11:41:39 -07:00
2026-07-20 20:40:12 -07:00
2026-07-18 20:55:07 -07:00
2026-07-18 22:38:51 +01:00
2026-07-20 23:17:18 -07:00
2026-07-16 11:33:18 -07:00
2026-07-16 16:47:25 -07:00
2026-07-16 13:55:23 -07:00
2026-07-16 13:55:23 -07:00
2026-07-14 12:00:55 -07:00
2026-07-19 11:04:48 -07:00
2026-07-20 11:56:57 +08:00
2026-07-18 13:54:56 +01:00
2026-07-20 19:32:25 -07:00
2026-07-16 16:47:25 -07:00
2026-07-19 19:56:42 -07:00
2026-07-20 21:31:08 -07:00
2026-07-20 20:17:59 -07:00
2026-07-15 17:05:21 -07:00
2026-07-20 23:03:04 -07:00
2026-07-15 16:23:47 -07:00
2026-07-16 13:55:23 -07:00
2026-07-19 11:04:48 -07:00
2026-07-16 16:47:25 -07:00
2026-07-14 14:15:44 -07:00
2026-07-16 13:55:23 -07:00
2026-07-19 11:04:48 -07:00
2026-07-16 13:55:23 -07:00
2026-07-15 03:32:15 -07:00
2026-07-18 18:21:45 -07:00
2026-07-18 06:23:49 +10:00
2026-07-16 16:47:19 -07:00
2026-07-20 22:27:22 -07:00
2026-07-19 19:09:09 -07:00
2026-07-18 21:48:04 +01:00
2026-07-19 11:04:48 -07:00
2026-07-15 18:18:23 -07:00
2026-07-16 13:55:23 -07:00
2026-07-20 23:31:03 -07:00
2026-07-16 22:22:01 -07:00
2026-07-19 20:41:48 -07:00
2026-07-16 16:47:25 -07:00
2026-07-20 22:31:39 -07:00
2026-07-20 11:46:06 +03:00
2026-07-20 01:43:00 -07:00
2026-07-19 11:04:48 -07:00
2026-07-16 13:55:23 -07:00
2026-07-18 20:00:12 -04:00
2026-07-18 21:31:24 +01:00
2026-07-20 04:22:44 -07:00
2026-07-19 20:48:46 -04:00
2026-07-19 11:04:48 -07:00
2026-07-20 19:09:34 -07:00
2026-07-16 22:41:03 -07:00
2026-07-20 22:27:22 -07:00
2026-07-14 18:00:16 -07:00
2026-07-15 00:16:39 -07:00
2026-07-19 00:51:50 +01:00
2026-07-17 16:36:05 -07:00
2026-07-20 21:35:22 -07:00
2026-07-14 04:25:58 -07:00
2026-07-20 21:39:41 -07:00
2026-07-20 22:27:22 -07:00
2026-07-20 22:27:22 -07:00
2026-07-20 21:59:41 -07:00
2026-07-19 11:04:48 -07:00
2026-07-19 00:39:23 +01:00
2026-07-16 13:55:23 -07:00
2026-07-20 18:56:52 -07:00
2026-07-20 18:51:12 -07:00
2026-07-16 12:56:43 -07:00
2026-07-19 00:52:37 -07:00
2026-07-19 11:04:48 -07:00
2026-07-16 13:55:23 -07:00
2026-07-19 11:04:48 -07:00
2026-07-20 22:27:22 -07:00
2026-07-21 08:59:51 +09:00
2026-07-19 11:04:48 -07:00
2026-07-20 04:21:49 -07:00
2026-07-16 16:47:25 -07:00
2026-07-18 17:47:15 -07:00
2026-07-20 21:35:22 -07:00
2026-07-16 09:15:03 -07:00
2026-07-20 22:27:22 -07:00
2026-07-19 04:07:15 -07:00
2026-07-15 04:15:23 -07:00
2026-07-20 22:16:25 -07:00
2026-07-14 15:38:39 -07:00
2026-07-19 11:04:48 -07:00
2026-07-19 11:04:48 -07:00
2026-07-14 09:27:02 -07:00
2026-07-19 11:04:48 -07:00
2026-07-20 17:31:29 -07:00
2026-07-19 01:43:38 -03:00
2026-07-20 23:12:46 -07:00
2026-07-15 16:23:47 -07:00
2026-07-20 22:27:22 -07:00
2026-07-16 16:47:25 -07:00
2026-07-19 11:04:48 -07:00
2026-07-20 14:34:05 +10:00
2026-07-18 13:54:56 +01:00
2026-07-14 06:36:21 -07:00
2026-07-16 13:55:23 -07:00
2026-07-20 05:19:34 -07:00
2026-07-21 09:21:14 +09:00
2026-07-20 02:29:06 -07:00
2026-07-20 19:40:45 -07:00
2026-07-16 16:47:25 -07:00
2026-07-19 11:04:48 -07:00
2026-07-20 23:39:27 +08:00
2026-07-20 22:28:21 -07:00
2026-07-15 16:23:47 -07:00
2026-07-16 13:55:23 -07:00
2026-07-19 20:48:44 -07:00
2026-07-20 22:00:47 -07:00
2026-07-18 13:54:56 +01:00
2026-07-14 11:00:31 -07:00
2026-07-19 11:04:48 -07:00
2026-07-18 22:44:06 +01:00
2026-07-20 22:16:25 -07:00
2026-07-15 16:36:30 -07:00
2026-07-20 01:43:00 -07:00
2026-07-16 16:47:25 -07:00
2026-07-15 18:18:23 -07:00
2026-07-20 22:27:22 -07:00
2026-07-14 04:47:06 -07:00
2026-07-16 23:56:59 -07:00
2026-07-20 22:27:22 -07:00
2026-07-20 22:43:04 -07:00
2026-07-20 23:26:00 -07:00
2026-07-19 11:04:48 -07:00
2026-07-20 17:11:40 +03:00
2026-07-20 21:36:35 -07:00
2026-07-19 13:58:01 -07:00
2026-07-20 01:43:00 -07:00
2026-07-16 13:55:23 -07:00
2026-07-20 23:26:00 -07:00
2026-07-16 13:55:23 -07:00