Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2.9.0 stopped showing #238

Open
CubieX opened this issue May 3, 2024 · 10 comments
Open

V2.9.0 stopped showing #238

CubieX opened this issue May 3, 2024 · 10 comments

Comments

@CubieX
Copy link

CubieX commented May 3, 2024

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)

@Xustyx
Copy link

Xustyx commented May 4, 2024

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.

@justincontributor
Copy link

justincontributor commented May 4, 2024

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.

@Xustyx
Copy link

Xustyx commented May 4, 2024

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);
}

@lawilfried
Copy link

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?

@i3dman420311
Copy link

Could you give us some assistance on how to implement this fix?
TY

@mr1n-ng
Copy link

mr1n-ng commented May 10, 2024

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.

@i3dman420311
Copy link

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 :-(

@lawilfried
Copy link

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.

@i3dman420311
Copy link

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.

@lawilfried
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants