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

I fixed the extension not auto-sending messages #250

Open
hoshizorista opened this issue Jun 17, 2024 · 2 comments
Open

I fixed the extension not auto-sending messages #250

hoshizorista opened this issue Jun 17, 2024 · 2 comments

Comments

@hoshizorista
Copy link

hoshizorista commented Jun 17, 2024

Hey guys, i noticed the extension its not auto-sending the message anymore after you speak to it, i managed to fixed it, there are some things that i need to delete since i was debugging it for a while, but it should be working now! if you are not really comfortable modifying the code feel free to check out my fork on my profile, has everything updated and working fine and you can just download it and install it

if the extension is not auto sending the message after you speak, open content.js and look for function CN_SendMessage(text)
replace the entire function for this one instead:

(feel free to improve it or delete some trash i left there while debugging the issue)

function CN_SendMessage(text) {
    console.log("[CN_SendMessage] Trying to send message: " + text + " ");

    // Find the textarea either by class or id
    var textarea = jQuery('.overflow-hidden textarea');
    if (!textarea.length) {
        textarea = jQuery('#prompt-textarea');
        if (!textarea.length) {
            console.error('Textarea not found');
            return;
        }
    }

    // Focus on the textarea and simulate typing
    textarea.focus();
    var existingText = textarea.val();
    var fullText = existingText ? existingText + ' ' + text : text;
    var event = new Event('input', { bubbles: true });
    textarea.val(fullText)[0].dispatchEvent(event);

    // Adjust the height of the textarea
    var rows = Math.ceil(fullText.length / 88);
    var height = rows * 24;
    textarea.css('height', height + 'px');

    // Find the send button and enable it
    var sendButton = jQuery("[data-testid='fruitjuice-send-button']");
    if (sendButton.length) {
        sendButton.prop('disabled', false); // Force enable
        sendButton.removeAttr('disabled').removeClass('disabled');

        // Ensure the button is enabled and click it
        if (!sendButton.is(':disabled')) {
            sendButton[0].click(); // Attempt to click using DOM API
            console.log("[CN_SendMessage] Automatically clicking the send button.");
        } else {
            console.log("[CN_SendMessage] The send button is enabled but could not be clicked.");
        }
    } else {
        console.error("[CN_SendMessage] Send button not found.");
    }

    // Additional logic for speech recognition, if applicable
    if (CN_SPEECHREC) {
        clearTimeout(CN_TIMEOUT_KEEP_SPEECHREC_WORKING);
        CN_SPEECHREC.stop();
    } else {
        // Continue speech recognition
        clearTimeout(CN_TIMEOUT_KEEP_SPEECHREC_WORKING);
        CN_TIMEOUT_KEEP_SPEECHREC_WORKING = setTimeout(CN_KeepSpeechRecWorking, 100);
    }
}
@relaxwithadam
Copy link

this worked perfectly for me. thank you so much!

i'm wondering if you're capable of making a new option, to use open ai's built in read aloud function automatically, and the ability to choose from their voices.

@hoshizorista
Copy link
Author

@relaxwithadam Sounds like an awesome idea, gonna work on it, right now most updated ver is on my fork, check it out! Im planning to mantain the project and add some cool features lots of guys from here suggested

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

2 participants