- Shipped
- 11 августа 2026 г. в 16:21 UTC
- Author
- kamo
- Commit
- f1de4ec
Бэкэнд теперь транслируется на 3 GiB, но три вещи в браузере и BFF сделали это. Не достижимо, каждый фатальный сам по себе. Загрузка прокси-сервера сделала «ождать запрос.formData()», вытащила файл и перестроила второй. FormData to forward — вся загрузка в этом процессе куча, дважды. Теперь он вытягивает тело прямо через узел:http, ту же конструкцию, которую уже использует прокси-прикрепление чата 3GB в производстве. Узел: http, а не fetch, потому что undici использует заголовки 300s тайм-аут на каждый запрос, а многогигабайтная загрузка тратит гораздо больше времени, чем на провод перед ConversionService — который хэширует файл перед ответом — может ответить; Прокси, а не продукт, будет определять максимальный размер файла. computeBlake3(файл) и computeSha3256(файл) каждый файл вызова.arrayBuffer(), а также загрузчики Обещал им выполнить обещание. Все, так что файл был полностью резидентным во вкладке Дважды на пике. В старину 500 МБ кепка, которая уже была гигабайтом памяти вкладки; при 3 ГБ это шесть, и вкладка умирает раньше Загружен байт. Замененный на computeFileDigests, который перемещает файл один раз в 4 кусочках MiB и питает оба хешера из одного и того же куска — пиковая память — это одна куска любого размера, зеркальная HashUtils.computeDigests на сервере. Оба дайджеста все еще вычисляются, потому что загрузка Конечная точка вычисляет и сравнивает оба; js-sha3 является чистым JavaScript и доминирует над временем. Это цена более сильной проверки на стороне сервера, поэтому хеширование теперь сообщает о прогрессе, а не о результатах. Сидеть на 2% в течение нескольких минут. MultiFileUploader не имел ограничения по размеру, поэтому выбор размера потратил минуты на хеширование, чтобы заработать деньги. Непрозрачный провал. Размер теперь проверяется, прежде чем что-либо считывает файл, и файл добавляется в файл. Стадия ошибки, обозначающая как размер, так и предел.