🐛 Fix: Use direct fetch only for Gemini (remove chrome.runtime.sendMessage which was failing)
This commit is contained in:
@@ -374,30 +374,9 @@
|
||||
isGeminiProcessing = true;
|
||||
|
||||
try {
|
||||
// Try via background service worker first
|
||||
let processedText = null;
|
||||
try {
|
||||
const response = await chrome.runtime.sendMessage({
|
||||
type: 'GEMINI_PROCESS_VOICE',
|
||||
payload: {
|
||||
apiKey: settings.geminiApiKey,
|
||||
model: settings.geminiModel,
|
||||
text: text,
|
||||
language: settings.language
|
||||
}
|
||||
});
|
||||
|
||||
if (response && response.success) {
|
||||
processedText = response.data.text;
|
||||
} else {
|
||||
console.warn('[ClaudeVoice] Background response not successful:', response?.error);
|
||||
}
|
||||
} catch (bgErr) {
|
||||
console.warn('[ClaudeVoice] Background message failed, trying direct fetch:', bgErr);
|
||||
}
|
||||
|
||||
// Fallback: direct fetch to server
|
||||
if (!processedText) {
|
||||
// Try direct fetch to server (more reliable than chrome.runtime.sendMessage)
|
||||
try {
|
||||
const isArabic = /[\u0600-\u06FF]/.test(text);
|
||||
const langName = isArabic ? 'Arabic' : 'the detected language';
|
||||
@@ -442,11 +421,10 @@ CORRECTED TEXT:`;
|
||||
processedText = data;
|
||||
}
|
||||
} else {
|
||||
console.warn('[ClaudeVoice] Direct fetch failed:', directResponse.status);
|
||||
console.warn('[ClaudeVoice] Server fetch failed:', directResponse.status);
|
||||
}
|
||||
} catch (fetchErr) {
|
||||
console.warn('[ClaudeVoice] Direct fetch error:', fetchErr);
|
||||
}
|
||||
console.warn('[ClaudeVoice] Server fetch error:', fetchErr);
|
||||
}
|
||||
|
||||
if (processedText) {
|
||||
|
||||
Reference in New Issue
Block a user