v2.0.2: fix base64 (apply→чанки 32KB), socket_timeout=10 Redis

This commit is contained in:
2026-06-18 06:26:56 +04:00
parent bc0a5345ac
commit cb69549803
3 changed files with 10 additions and 2 deletions
+8 -2
View File
@@ -60,7 +60,7 @@
<body>
<div class="topbar">
<img src="{{ url_for('static', filename='nubes-logo.svg') }}" alt="Nubes">
<span class="title">Сверка договоров <span style="font-weight:400;color:var(--muted);font-size:12px;">v2.0.1</span></span>
<span class="title">Сверка договоров <span style="font-weight:400;color:var(--muted);font-size:12px;">v2.0.2</span></span>
</div>
<div class="content">
@@ -164,7 +164,13 @@
reader.onload = function() {
var buffer = reader.result;
var bytes = new Uint8Array(buffer);
var b64 = btoa(String.fromCharCode.apply(null, bytes));
// Чанковая конвертация в base64 — apply не тянет >125K аргументов
var b64Chunks = [];
var B64_CHUNK = 0x8000; // 32768 bytes
for (var bi = 0; bi < bytes.length; bi += B64_CHUNK) {
b64Chunks.push(String.fromCharCode.apply(null, bytes.subarray(bi, bi + B64_CHUNK)));
}
var b64 = btoa(b64Chunks.join(''));
var checksum = SparkMD5.ArrayBuffer.hash(buffer);
var CHUNK = 30 * 1024;
var totalChunks = Math.ceil(b64.length / CHUNK);