Feature/semantic similarity (#36)

* fix: mixed up migrations

* feat: semantic similarity first take

* feat: semantic similarity first round of fixes

* feat: more work on making semantic similarity work properly

* feat: getPostBySlug for the AI

* feat: show similarity in post-link-insert-modal

* chore: remove done doc

---------

Co-authored-by: hugo <hugoms@me.com>
This commit is contained in:
Georg Bauer
2026-03-05 22:05:32 +01:00
committed by GitHub
parent 8ac8305e01
commit 7e1e8981a3
64 changed files with 6429 additions and 499 deletions

View File

@@ -371,6 +371,7 @@ describe('IPC Handlers', () => {
gitEngine: mockGitEngine,
gitApiAdapter: {},
taskManager: mockTaskManager,
embeddingEngine: { reindexAll: vi.fn(), indexUnindexedPosts: vi.fn(), setProjectContext: vi.fn(), embedPost: vi.fn(), removePost: vi.fn() },
blogGenerationEngine: null, // set in beforeEach
publishEngine: { setProjectContext: vi.fn(), uploadHtml: vi.fn(), uploadThumbnails: vi.fn(), uploadMedia: vi.fn() },
metadataDiffEngine: { setProjectContext: vi.fn(), comparePostMetadata: vi.fn(), scanAllPublishedPosts: vi.fn(), syncDbToFile: vi.fn(), syncFileToDb: vi.fn(), groupDifferencesByField: vi.fn() },
@@ -1939,6 +1940,21 @@ describe('IPC Handlers', () => {
expect(BrowserWindow.fromWebContents).toHaveBeenCalledWith(sender);
expect(ownerWindow.setFullScreen).toHaveBeenCalledWith(true);
});
it('should start rebuild embedding index task when action is rebuildEmbeddingIndex', async () => {
const send = vi.fn();
const event = { sender: { send } };
mockTaskManager.runTask.mockResolvedValue(undefined);
await invokeHandlerWithEvent(event, 'app:triggerMenuAction', 'rebuildEmbeddingIndex');
expect(mockTaskManager.runTask).toHaveBeenCalledWith(
expect.objectContaining({
id: expect.stringContaining('rebuild-embedding-index-'),
})
);
expect(send).not.toHaveBeenCalled();
});
});
});