Improve attachment memory safety, downloads, and high-memory alert UX.
Queue Release Build / prepare (push) Successful in 20s
Deploy Web Apps / deploy (push) Successful in 9m2s
Queue Release Build / build-windows (push) Successful in 28m8s
Queue Release Build / build-linux (push) Successful in 47m26s
Queue Release Build / build-android (push) Successful in 19m52s
Queue Release Build / finalize (push) Successful in 4m42s
Queue Release Build / prepare (push) Successful in 20s
Deploy Web Apps / deploy (push) Successful in 9m2s
Queue Release Build / build-windows (push) Successful in 28m8s
Queue Release Build / build-linux (push) Successful in 47m26s
Queue Release Build / build-android (push) Successful in 19m52s
Queue Release Build / finalize (push) Successful in 4m42s
Stream large receives to disk with chunk acks to cap renderer RAM, evict off-screen display blobs, and route exports through a disk-aware download service. Fix the high-memory dialog (backdrop dismiss, copy, log actions), allow diagnostics paths in the path jail, and restore persisted image hydration after reload. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+37
@@ -0,0 +1,37 @@
|
||||
import {
|
||||
beforeEach,
|
||||
describe,
|
||||
expect,
|
||||
it,
|
||||
vi
|
||||
} from 'vitest';
|
||||
|
||||
import { AttachmentChunkAckService } from './attachment-chunk-ack.service';
|
||||
|
||||
describe('AttachmentChunkAckService', () => {
|
||||
let service: AttachmentChunkAckService;
|
||||
|
||||
beforeEach(() => {
|
||||
service = new AttachmentChunkAckService();
|
||||
});
|
||||
|
||||
it('resolves a waiter when the matching chunk ack arrives', async () => {
|
||||
const waitPromise = service.waitForAck('msg-1', 'file-1', 0, 1_000);
|
||||
|
||||
service.resolveAck('msg-1', 'file-1', 0);
|
||||
|
||||
await expect(waitPromise).resolves.toBeUndefined();
|
||||
});
|
||||
|
||||
it('times out when no ack arrives', async () => {
|
||||
vi.useFakeTimers();
|
||||
|
||||
const waitPromise = service.waitForAck('msg-1', 'file-1', 1, 50);
|
||||
|
||||
vi.advanceTimersByTime(51);
|
||||
|
||||
await expect(waitPromise).rejects.toThrow('attachment chunk ack timeout');
|
||||
|
||||
vi.useRealTimers();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user