feat: persist settings and enrich conversation context

This commit is contained in:
jjbrunton committed 2026-08-08 18:18:28 +01:00
1 parent a36723a325
commit 2c100d72b6
84 files changed
+2248 -644

No files matched your search

@@ -0,0 +1,25 @@
import { describe, expect, it, vi } from 'vitest';
import { MatrixMediaDownloader } from '../src/services/chat/matrix/http-media-downloader.js';
import { createMockLogger } from './mockLogger.js';
describe('MatrixMediaDownloader', () => {
it('uses replacement Matrix credentials for subsequent media downloads', async () => {
const staleClient = { downloadMedia: vi.fn().mockRejectedValue(new Error('expired')) };
const freshClient = {
downloadMedia: vi.fn().mockResolvedValue({
bytes: Buffer.from('fresh-image'),
contentType: 'image/jpeg',
}),
};
const downloader = new MatrixMediaDownloader(staleClient as never, createMockLogger());
downloader.setMatrixClient(freshClient as never);
await expect(downloader.fetch('mxc://reddit.com/image')).resolves.toEqual({
buffer: Buffer.from('fresh-image'),
contentType: 'image/jpeg',
});
expect(staleClient.downloadMedia).not.toHaveBeenCalled();
expect(freshClient.downloadMedia).toHaveBeenCalledWith('mxc://reddit.com/image');
});
});