diff --git a/files/assets/js/chat.js b/files/assets/js/chat.js index 8c3631e2c..de4e5a4af 100644 --- a/files/assets/js/chat.js +++ b/files/assets/js/chat.js @@ -291,3 +291,7 @@ document.onpaste = function(event) { document.getElementById('filename').textContent = filename; } } + +window.addEventListener('load', function () { + box.scrollTo(0, box.scrollHeight) +}); diff --git a/files/routes/chat.py b/files/routes/chat.py index 6f6b1bba9..bbe0f086e 100644 --- a/files/routes/chat.py +++ b/files/routes/chat.py @@ -41,12 +41,12 @@ messages = cache.get(f'messages') or { def chat(v): if not v.admin_level and TRUESCORE_CHAT_MINIMUM and v.truescore < TRUESCORE_CHAT_MINIMUM: abort(403, f"Need at least {TRUESCORE_CHAT_MINIMUM} truescore for access to chat.") - return render_template("chat.html", v=v, messages=messages[request.url]) + return render_template("chat.html", v=v, messages=messages[f"{SITE_FULL}{request.path}"]) @app.get("/admin/chat") @admin_level_required(2) def admin_chat(v): - return render_template("chat.html", v=v, messages=messages[request.url]) + return render_template("chat.html", v=v, messages=messages[f"{SITE_FULL}{request.path}"]) @socketio.on('speak') @limiter.limit("3/second;10/minute") @@ -96,7 +96,7 @@ def speak(data, v): else: emit('speak', data, room=request.referrer, broadcast=True) messages[request.referrer][id] = data - messages[request.referrer] = messages[request.referrer][-500:] + messages[request.referrer] = dict(messages[request.referrer].items()[-500:]) if v.admin_level >= PERMS['USER_BAN']: text = text.lower() diff --git a/files/templates/chat.html b/files/templates/chat.html index c4aea118b..fccc839d3 100644 --- a/files/templates/chat.html +++ b/files/templates/chat.html @@ -11,6 +11,7 @@ {% include "header.html" %} {% include "modals/expanded_image.html" %} {% include "modals/emoji.html" %} + {% set link = '' %}
@@ -35,7 +36,7 @@ {% endmacro %} {% macro chat_line_template(id, m) %} -
+