형식이 잘못된 세션 쿠키로 인해 서버 오류가 발생하던 문제와 업로드 중 오류가 무시되거나 무한히 대기하던 문제 등 버그 수정

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
staticandClaude Opus 5.5 committed 2026-10-12 08:19:41 +09:00
1 parent bb0328b39e
commit 9119c21881
11 files changed
+161 -77

No files matched your search

+17 -12
View File
@@ -6,20 +6,25 @@ export interface ComputeMessage {
key: Uint8Array;
}
export interface ResultMessage {
result: Uint8Array;
}
// Errors are sent as messages, as rejections in `onmessage` don't fire `error` on the worker
export type ResultMessage = { result: Uint8Array } | { error: Error };
self.onmessage = async (event: MessageEvent<ComputeMessage>) => {
const h = hmac.create(sha256, event.data.key);
const reader = event.data.stream.getReader();
try {
const h = hmac.create(sha256, event.data.key);
const reader = event.data.stream.getReader();
while (true) {
const { done, value } = await reader.read();
if (done) break;
h.update(value);
while (true) {
const { done, value } = await reader.read();
if (done) break;
h.update(value);
}
const result = h.digest();
self.postMessage({ result } satisfies ResultMessage, { transfer: [result.buffer] });
} catch (e) {
// Only errors are guaranteed to be cloneable
const error = e instanceof Error ? e : new Error(String(e));
self.postMessage({ error } satisfies ResultMessage);
}
const result = h.digest();
self.postMessage({ result } satisfies ResultMessage, { transfer: [result.buffer] });
};