Skip to content

Commit da117ce

Browse files
Chaitanya LaxmanChaitanya Laxman
authored andcommitted
fix: prevent fatal crash on macOS after update (v2.0.7)
1 parent ad4633d commit da117ce

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

src/main/__tests__/claudeService.test.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ describe('ClaudeService', () => {
5050

5151
beforeEach(() => {
5252
vi.clearAllMocks();
53+
ClaudeService._resetForTesting();
5354
service = new ClaudeService(null);
5455
});
5556

@@ -332,6 +333,7 @@ describe('Provider routing based on mode', () => {
332333
vi.mocked(getProFastProvider).mockResolvedValue(mockProvider as any);
333334
vi.mocked(getProSystemProvider).mockResolvedValue(mockProvider as any);
334335
mockProvider.streamResponse.mockResolvedValue(undefined);
336+
ClaudeService._resetForTesting();
335337
new ClaudeService(null);
336338
});
337339

@@ -390,6 +392,7 @@ describe('LLM prompt quality', () => {
390392

391393
beforeEach(() => {
392394
vi.clearAllMocks();
395+
ClaudeService._resetForTesting();
393396
service = new ClaudeService(null);
394397
});
395398

src/main/claudeService.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,16 @@ export class ClaudeService {
181181
lastProcessedTranscriptLength: 0,
182182
};
183183

184+
private static ipcRegistered = false;
185+
186+
static _resetForTesting(): void { ClaudeService.ipcRegistered = false; }
187+
184188
constructor(overlayWindow: BrowserWindow | null) {
185189
this.overlayWindow = overlayWindow;
186-
this.registerIpcHandlers();
190+
if (!ClaudeService.ipcRegistered) {
191+
this.registerIpcHandlers();
192+
ClaudeService.ipcRegistered = true;
193+
}
187194
}
188195

189196
setWindow(overlay: BrowserWindow | null): void {

0 commit comments

Comments
 (0)