From c123b74b1b0888b7e3a06b29dd47f90da41c990d Mon Sep 17 00:00:00 2001 From: ninya9k Date: Sun, 18 Jul 2021 02:21:38 +0000 Subject: [PATCH] fix chat width; fix placement of dates in chat; italicise chat dates in text browsers; show uptime properly in text browsers; show settings in comment box when reloaded if user decides against kicking themselves out of the secret club; always give 403 response when secret club is active to hide if stream is live --- website/routes.py | 17 +++++++++-------- website/templates/chat-iframe.html | 12 ++++++------ 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/website/routes.py b/website/routes.py index 25c0971..73df8f2 100644 --- a/website/routes.py +++ b/website/routes.py @@ -66,8 +66,6 @@ def broadcaster(): @current_app.route('/stream.m3u8') def playlist(): - if not stream.is_online(): - return abort(404) token = get_token() viewership.made_request(token) if not viewership.is_allowed(token): @@ -76,6 +74,8 @@ def playlist(): viewership.video_was_corrupted.remove(token) except KeyError: pass + if not stream.is_online(): + return abort(404) try: token_playlist = stream.token_playlist(token) @@ -88,8 +88,6 @@ def playlist(): @current_app.route(f'/{SEGMENT_INIT}') def segment_init(): - if not stream.is_online(): - return abort(404) token = get_token() or new_token() viewership.made_request(token) if not viewership.is_allowed(token): @@ -98,6 +96,8 @@ def segment_init(): viewership.video_was_corrupted.remove(token) except KeyError: pass + if not stream.is_online(): + return abort(404) response = send_from_directory(SEGMENTS_DIR, f'init.mp4', add_etags=False) response.headers['Cache-Control'] = 'no-cache' @@ -106,8 +106,6 @@ def segment_init(): @current_app.route('/stream.m4s') def segment_arbitrary(n): - if not stream.is_online(): - return abort(404) token = get_token() if not viewership.is_allowed(token): return abort(403) @@ -115,6 +113,8 @@ def segment_arbitrary(n): viewership.video_was_corrupted.remove(token) except KeyError: pass + if not stream.is_online(): + return abort(404) # only send segments that are listed in stream.m3u8 # this stops old segments from previous streams being sent @@ -127,8 +127,6 @@ def segment_arbitrary(n): @current_app.route('/stream.mp4') def segments(): - if not stream.is_online(): - return abort(404) token = get_token() or new_token() viewership.made_request(token) if not viewership.is_allowed(token): @@ -137,6 +135,8 @@ def segments(): viewership.video_was_corrupted.remove(token) except KeyError: pass + if not stream.is_online(): + return abort(404) def should_close_connection(): if not stream.is_online(): @@ -299,6 +299,7 @@ def settings(): return redirect(url_for('index')) viewers[token]['nickname'] = old_nickname viewers[token]['tripcode'] = old_tripcode + viewership.preset_comment_iframe[token] = {'note': N_NONE, 'show_settings': True} return render_template('comment-confirm-iframe.html', token=token, nickname=old_nickname or viewership.default_nickname(token)) viewership.preset_comment_iframe[token] = {'note': note, 'show_settings': True} diff --git a/website/templates/chat-iframe.html b/website/templates/chat-iframe.html index 651af9d..ccbde6a 100644 --- a/website/templates/chat-iframe.html +++ b/website/templates/chat-iframe.html @@ -11,7 +11,7 @@ .rotate {transform: rotate(-180deg);} .reverse {direction: rtl;} - .comment {color:white;padding:3px 2px;overflow:hidden;display:inline-block;width:calc(100vw - 2em);} + .comment {color:white;padding:3px 2px;overflow:hidden;display:inline-block;width:calc(100vw - 1.25em);} .comment:hover{background-color:#333;border-radius:4px;} .date {color:gray;font-size:75%;text-align:center;border-bottom:1px solid #333;margin:0.5em 0 0.75em 0;cursor:default;} @@ -102,7 +102,7 @@

{{ stream_title }}
-
{{ stream_viewers }} viewer(s), {% if uptime %}{{ stream_uptime }} uptime{% else %}offline{% endif %}
+
{{ stream_viewers }} viewer(s), {% if stream_uptime %}{{ stream_uptime }} uptime{% else %}offline{% endif %}

== Chat ==
@@ -119,10 +119,10 @@ {% for message in messages %} + {% if message.get('special') == 'date' %} -
{{ message['content'] }}
- {% else %} - + + {% else %} - {% endif %} + {% endfor %}
{{ message['content'] }} {% if not message['hidden'] %} {% if broadcaster %} @@ -139,8 +139,8 @@ >
{{ message['text'] }} {% endif %}