Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
xtekky committed Apr 14, 2024
2 parents 8add819 + 307ccd8 commit 46dcf08
Showing 1 changed file with 11 additions and 17 deletions.
28 changes: 11 additions & 17 deletions g4f/gui/client/static/js/chat.v1.js
Original file line number Diff line number Diff line change
Expand Up @@ -1074,15 +1074,15 @@ async function load_version() {
}
setTimeout(load_version, 2000);

for (const el of [imageInput, cameraInput]) {
[imageInput, cameraInput].forEach((el) => {
el.addEventListener('click', async () => {
el.value = '';
if (imageInput.dataset.src) {
URL.revokeObjectURL(imageInput.dataset.src);
delete imageInput.dataset.src
}
});
}
});

fileInput.addEventListener('click', async (event) => {
fileInput.value = '';
Expand Down Expand Up @@ -1261,31 +1261,26 @@ if (SpeechRecognition) {
recognition.interimResults = true;
recognition.maxAlternatives = 1;

function may_stop() {
if (microLabel.classList.contains("recognition")) {
recognition.stop();
}
}

let startValue;
let timeoutHandle;
let shouldStop;
let lastDebounceTranscript;
recognition.onstart = function() {
microLabel.classList.add("recognition");
startValue = messageInput.value;
shouldStop = false;
lastDebounceTranscript = "";
timeoutHandle = window.setTimeout(may_stop, 10000);
};
recognition.onend = function() {
microLabel.classList.remove("recognition");
messageInput.focus();
if (shouldStop) {
messageInput.focus();
} else {
recognition.start();
}
};
recognition.onresult = function(event) {
if (!event.results) {
return;
}
window.clearTimeout(timeoutHandle);

let result = event.results[event.resultIndex];
let isFinal = result.isFinal && (result[0].confidence > 0);
let transcript = result[0].transcript;
Expand All @@ -1303,14 +1298,13 @@ if (SpeechRecognition) {
messageInput.style.height = messageInput.scrollHeight + "px";
messageInput.scrollTop = messageInput.scrollHeight;
}

timeoutHandle = window.setTimeout(may_stop, transcript ? 10000 : 8000);
};

microLabel.addEventListener("click", () => {
if (microLabel.classList.contains("recognition")) {
window.clearTimeout(timeoutHandle);
shouldStop = true;
recognition.stop();
microLabel.classList.remove("recognition");
} else {
const lang = document.getElementById("recognition-language")?.value;
recognition.lang = lang || navigator.language;
Expand Down

0 comments on commit 46dcf08

Please sign in to comment.