fix(core): improve shutdown cleanup, socket/stream robustness, and memory/cache handling

This commit is contained in:
2026-03-01 00:44:01 +00:00
parent 59a3f7978e
commit 74ad5cec90
13 changed files with 150 additions and 59 deletions

View File

@@ -318,11 +318,15 @@ export class LogsHandler {
try {
// Use a timeout to detect hung streams (sendData can hang if the
// VirtualStream's keepAlive loop has ended)
let timeoutHandle: ReturnType<typeof setTimeout>;
await Promise.race([
virtualStream.sendData(encoder.encode(logData)),
new Promise<never>((_, reject) =>
setTimeout(() => reject(new Error('stream send timeout')), 10_000)
),
virtualStream.sendData(encoder.encode(logData)).then((result) => {
clearTimeout(timeoutHandle);
return result;
}),
new Promise<never>((_, reject) => {
timeoutHandle = setTimeout(() => reject(new Error('stream send timeout')), 10_000);
}),
]);
} catch {
// Stream closed, errored, or timed out — clean up