Open CubieX opened 7 months ago
Up!
It seems that something changed on the ChatGPT website, and now the plugin has stopped appearing.
Currently half working after change manifest, now the domain is "https://chatgpt.com/" listening works but reading is not working.
I have "TypeError: Failed to execute 'getReader' on 'ReadableStream': ReadableStreamDefaultReader constructor can only accept readable streams that are not yet locked to a reader" in the console.
It seems that OpenAI changed the way they stream the answer. So the jQuery reading on the fly doesn't work anymore.
Edit : the error appears in the console even if you turn the extension off. To me, it means that the error is on openai side.
I have it already running with a few changes using document selectors instead jquery:
Now the function CN_CheckNewMessages() looks like this:
function CN_CheckNewMessages() {
// Any new messages?
var currentMessageCount = document.querySelectorAll('.text-base .items-start').length
if (currentMessageCount > CN_MESSAGE_COUNT) {
// New message!
console.log("New message detected! current message count: " + currentMessageCount);
CN_MESSAGE_COUNT = currentMessageCount;
CN_CURRENT_MESSAGE = document.querySelectorAll('.text-base .items-start')[currentMessageCount - 1];
CN_CURRENT_MESSAGE_SENTENCES = []; // Reset list of parts already spoken
CN_CURRENT_MESSAGE_SENTENCES_NEXT_READ = 0;
}
// Split current message into parts
if (CN_CURRENT_MESSAGE) {
var currentText = document.querySelectorAll('.text-base .items-start')[currentMessageCount - 1].innerText + "";
//console.log("currentText:" + currentText);
// Remove code blocks?
if (CN_IGNORE_CODE_BLOCKS) {
currentText = ""
document.querySelectorAll('.text-base .items-start')[currentMessageCount - 1].querySelectorAll(".markdown > :not(pre)").forEach(n => {
currentText += n.innerText
});
////console.log("[CODE] currentText:" + currentText);
}
var newSentences = CN_SplitIntoSentences(currentText);
if (newSentences != null && newSentences.length != CN_CURRENT_MESSAGE_SENTENCES.length) {
////console.log("[NEW SENTENCES] newSentences:" + newSentences.length);
// There is a new part of a sentence!
var nextRead = CN_CURRENT_MESSAGE_SENTENCES_NEXT_READ;
for (let i = nextRead; i < newSentences.length; i++) {
CN_CURRENT_MESSAGE_SENTENCES_NEXT_READ = i+1;
var lastPart = newSentences[i];
//console.log("Will say sentence out loud: "+lastPart);
CN_SayOutLoud(lastPart);
}
CN_CURRENT_MESSAGE_SENTENCES = newSentences;
}
}
setTimeout(CN_CheckNewMessages, 100);
}
And the function CN_StartTTGPT() like this:
function CN_StartTTGPT() {
// Add listener for ElevenLabs
chrome.runtime.onMessage.addListener(
function (message) {
if (message.type === "continueElevenLabs") {
// The audio player is telling us it's finished playing and wants to continue
CN_ELEVENLABS_PLAYING = false;
CN_ContinueElevenLabsPlaybackQueue("after-playback");
}
}
);
// Play sound & start
CN_PlaySound("data:audio/mpeg;base64,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");
// Reset
CN_FINISHED = false;
// Hide start button, show action buttons
jQuery(".CNStartZone").hide();
jQuery(".CNActionButtons").show();
setTimeout(function() {
// Start speech rec
CN_StartSpeechRecognition();
// Make sure message count starts from last; we don't want to read the latest message
var currentMessageCount = document.querySelectorAll('.text-base .items-start').length;
if (currentMessageCount > CN_MESSAGE_COUNT) {
// New message!
CN_MESSAGE_COUNT = currentMessageCount;
CN_CURRENT_MESSAGE = null; // Set current message to null
}
// Check for new messages
CN_CheckNewMessages();
}, 150);
}
Hallo Xustyx, thank you for the fix. Would you be so kind to tell a newbee how to apply the fix? Is there a file in which I have to change/substitute the functions or something like that?
Could you give us some assistance on how to implement this fix? TY
Hallo Xustyx, thank you for the fix. Would you be so kind to tell a newbee how to apply the fix? Is there a file in which I have to change/substitute the functions or something like that?
-Download the extention from GH and extract it. -Open content.js and find the fuctions (notepad++ is good for that) -change the functions to the one posted.
-go to the manifest file and change the domain to chatgpt.com/*
-then manually install the addon as its described on the GH page.
read back still is not working :-(
Hallo Xustyx, thank you for the fix. Would you be so kind to tell a newbee how to apply the fix? Is there a file in which I have to change/substitute the functions or something like that?
-Download the extention from GH and extract it. -Open content.js and find the fuctions (notepad++ is good for that) -change the functions to the one posted.
-go to the manifest file and change the domain to chatgpt.com/*
-then manually install the addon as its described on the GH page.
read back still is not working :-(
At first I went to Chrome and deleted the existing Talk-to-ChatGPT 2.9.0. Then I followed the steps recommended by mr1n-ng. After a restart I renewed the settings and now it works fine. Thank you for your help.
At first I went to Chrome and deleted the existing Talk-to-ChatGPT 2.9.0. Then I followed the steps recommended by mr1n-ng. After a restart I renewed the settings and now it works fine. Thank you for your help.
Read back is fully working both native and with elevenlabs for you?
My microphone is working , but neither read back works for me.
I don't use elevenlabs, but the "AI voice and language: Google UK English Female(en-GB)". My microphone is working, ChatGPT shows the text and ChatGPT shows and reads it's answers.
It worked fine for weeks and suddnely stopped showing up. Re-installing it didn't help. The UI for it is just gone. Chrome Version 124.0.6367.119 (Offizieller Build) (64-Bit)