$(document).ready(function() { var memoryMode = 'full'; $('#memory-toggle').change(function() { memoryMode = $(this).is(':checked') ? 'smart' : 'full'; }); $('#chat-form').submit(function(event) { event.preventDefault(); var userInput = $('#user-input').val(); $('#chat-container').append('
' + userInput + '
'); $('#user-input').val(''); $('#send-button').prop('disabled', true); $('#loading-message').show(); var $botMessage = $('
'); $('#chat-container').append($botMessage); var botResponse = ''; $.ajax({ url: '/chat', method: 'POST', data: JSON.stringify({ user_input: userInput, mode: memoryMode }), contentType: 'application/json', dataType: 'text', // Add this line to handle the response as text xhrFields: { onprogress: function(e) { var chunk = e.currentTarget.response.slice(botResponse.length); botResponse += chunk; $botMessage.html('' + botResponse.replace(/\n/g, '
')); $('#chat-container').scrollTop($('#chat-container')[0].scrollHeight); } }, success: function() { $('#send-button').prop('disabled', false); $('#loading-message').hide(); }, error: function(xhr, status, error) { $('#send-button').prop('disabled', false); $('#loading-message').hide(); var errorMessage = '
Error: ' + error + '
'; $('#chat-container').append(errorMessage); } }); }); setInterval(function() { $.post('/sleep'); }, 20000); // set to 50 seconds, usually 2 minutes in milliseconds });