ChatGPT Small Windows Enter Key Fix

Enable Enter to send (Shift+Enter for newline), will update whenever GPT updates.

// ==UserScript==
// @name         ChatGPT Small Windows Enter Key Fix
// @namespace    https://chatgpt.com
// @version      1.1
// @description  Enable Enter to send (Shift+Enter for newline), will update whenever GPT updates.
// @description  Adapted from rbutera's version 2.1. His version has already stopped working.
// @author       Gavin (adapted from rbutera's version 2.1)
// @match        https://chatgpt.com/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // Try to wire up Enter→Send on the textarea
    function bindEnterKey() {
        const textarea = document.getElementById('prompt-textarea') || document.querySelector('textarea');
        if (!textarea || textarea._enterBound) return;

        textarea.addEventListener('keydown', e => {
            //console.log("hit if")
            console.log(e.key, e.shiftKey)
            if (e.key == 'Enter' && !e.shiftKey) {
                console.log("pass enter if")
                e.preventDefault();
                const sendBtn = document.querySelector('button[data-testid="send-button"]');
                if (sendBtn) sendBtn.click();
            }
        });

        // Mark it so we don't double-bind
        textarea._enterBound = true;
    }

    // Initial binding
    bindEnterKey();

    // Watch for re-renders (ChatGPT UI can swap out the textarea)
    new MutationObserver(bindEnterKey).observe(document.body, { childList: true, subtree: true });
})();