From 6e776d638330a588b938585172b6d6721e2e7e1a Mon Sep 17 00:00:00 2001 From: amcmanu3 Date: Sun, 28 Jan 2024 12:15:00 -0500 Subject: [PATCH 01/24] Allow http to be disabled by config.json --- app/classes/web/tornado_handler.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/classes/web/tornado_handler.py b/app/classes/web/tornado_handler.py index f5501d31..82ae081c 100644 --- a/app/classes/web/tornado_handler.py +++ b/app/classes/web/tornado_handler.py @@ -112,7 +112,7 @@ class Webserver: cookie_secret = self.helper.random_string_generator(32) HelpersManagement.set_cookie_secret(cookie_secret) - if not http_port: + if not http_port and http_port != 0: http_port = 8000 if not https_port: @@ -190,9 +190,12 @@ class Webserver: login_url="/login", serve_traceback=debug_errors, ) - - self.http_server = tornado.httpserver.HTTPServer(http_app) - self.http_server.listen(http_port) + print(http_port) + if http_port != 0: + self.http_server = tornado.httpserver.HTTPServer(http_app) + self.http_server.listen(http_port) + else: + logger.info("http port disabled by config") self.https_server = tornado.httpserver.HTTPServer(app, ssl_options=cert_objects) self.https_server.listen(https_port) From 06f59110fe308cdc1b7e646029ced3ab23b6097f Mon Sep 17 00:00:00 2001 From: amcmanu3 Date: Sun, 28 Jan 2024 17:57:05 -0500 Subject: [PATCH 02/24] Add warning to wizard for unsupported mc --- app/frontend/templates/server/wizard.html | 17 ++++++++++++++++- app/translations/en_EN.json | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/frontend/templates/server/wizard.html b/app/frontend/templates/server/wizard.html index bb5fc175..6187088c 100644 --- a/app/frontend/templates/server/wizard.html +++ b/app/frontend/templates/server/wizard.html @@ -107,7 +107,8 @@ - +
@@ -1233,6 +1234,20 @@ } }) } + $("#server").change(function (){ + console.log(); + if($("#server :selected").text().split(".")[1] === "7"){ + $('[data-toggle="popover"]').popover(); + if ($(window).width() < 1000) { + $('.version-hint').attr("data-placement", "top") + } else { + $('.version-hint').attr("data-placement", "right") + } + $('.version-hint').popover("show"); + }else{ + $('.version-hint').popover("hide"); + } + }); function serverJarChange(selectObj) { const type_select = document.getElementById('server_jar') diff --git a/app/translations/en_EN.json b/app/translations/en_EN.json index a717c929..df26b13d 100644 --- a/app/translations/en_EN.json +++ b/app/translations/en_EN.json @@ -578,6 +578,7 @@ "serverUpload": "Upload Zipped Server", "serverVersion": "Server Version", "sizeInGB": "Size in GB", + "unsupported": "Minecraft versions lower than 1.8 are not supported by Crafty. You may still install it. Results will vary.", "uploadButton": "Upload", "uploadZip": "Upload Zip File For Server Import", "zipPath": "Server Path" From fb32f64a1319df7383a68d0cb3b94a711974f31f Mon Sep 17 00:00:00 2001 From: amcmanu3 Date: Sun, 28 Jan 2024 18:22:41 -0500 Subject: [PATCH 03/24] Improve logic just in case minecraft 2.0 --- app/frontend/templates/server/wizard.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/frontend/templates/server/wizard.html b/app/frontend/templates/server/wizard.html index 6187088c..2d84e6aa 100644 --- a/app/frontend/templates/server/wizard.html +++ b/app/frontend/templates/server/wizard.html @@ -1235,8 +1235,8 @@ }) } $("#server").change(function (){ - console.log(); - if($("#server :selected").text().split(".")[1] === "7"){ + let selected_version = $("#server :selected").text().split("."); + if(parseInt(selected_version[0]) === 1 && parseInt(selected_version[1]) < 8 ){ $('[data-toggle="popover"]').popover(); if ($(window).width() < 1000) { $('.version-hint').attr("data-placement", "top") From e48a3cc9761f4e5313b158a689e08950602ae216 Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Tue, 30 Jan 2024 22:03:58 +0100 Subject: [PATCH 04/24] Improving Display for Buttons --- app/frontend/static/assets/css/crafty.css | 486 +++++++++++++++++++++- 1 file changed, 481 insertions(+), 5 deletions(-) diff --git a/app/frontend/static/assets/css/crafty.css b/app/frontend/static/assets/css/crafty.css index cc1a8b82..55efaeb6 100644 --- a/app/frontend/static/assets/css/crafty.css +++ b/app/frontend/static/assets/css/crafty.css @@ -37,16 +37,16 @@ nav.sidebar { width: 10px; height: 10px; border-radius: 100%; - border: 2px solid #fff; + border: 2px solid var(--white); display: block; } .toggle-handle { - background-color: white !important; + background-color: var(--white) !important; } .toggle-on { - color: black !important; + color: var(--dark) !important; } .toggle { @@ -61,7 +61,7 @@ nav.sidebar { width: 10px; height: 10px; border-radius: 100%; - border: 2px solid #fff; + border: 2px solid var(--white); display: block; } @@ -95,7 +95,7 @@ nav.sidebar { } .scrollable-element { - scrollbar-color: red yellow; + scrollbar-color: var(--red) var(--yellow); } .term-nav-item { @@ -140,6 +140,454 @@ body { text-align: center; } +/**************************************************************/ +/* CSS for Toggle Buttons */ +/**************************************************************/ +.btn-toggle { + margin: 0 4rem; + padding: 0; + position: relative; + border: none; + height: 1.5rem; + width: 3rem; + border-radius: 1.5rem; + color: #6b7381; + background: #bdc1c8; +} + +.btn-toggle:focus, +.btn-toggle.focus, +.btn-toggle:focus.active, +.btn-toggle.focus.active { + outline: none; +} + +.btn-toggle:before, +.btn-toggle:after { + line-height: 1.5rem; + width: 4rem; + text-align: center; + font-weight: 600; + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 2px; + position: absolute; + bottom: 0; + transition: opacity 0.25s; +} + +.btn-toggle:before { + content: 'Off'; + left: -4rem; +} + +.btn-toggle:after { + content: 'On'; + right: -4rem; + opacity: 0.5; +} + +.btn-toggle>.handle { + position: absolute; + top: 0.1875rem; + left: 0.1875rem; + width: 1.125rem; + height: 1.125rem; + border-radius: 1.125rem; + background: var(--white); + transition: left 0.25s; +} + +.btn-toggle.active { + transition: background-color 0.25s; +} + +.btn-toggle.active>.handle { + left: 1.6875rem; + transition: left 0.25s; +} + +.btn-toggle.active:before { + opacity: 0.5; +} + +.btn-toggle.active:after { + opacity: 1; +} + +.btn-toggle.btn-sm:before, +.btn-toggle.btn-sm:after { + line-height: -0.5rem; + color: var(--white); + letter-spacing: 0.75px; + left: 0.4125rem; + width: 2.325rem; +} + +.btn-toggle.btn-sm:before { + text-align: right; +} + +.btn-toggle.btn-sm:after { + text-align: left; + opacity: 0; +} + +.btn-toggle.btn-sm.active:before { + opacity: 0; +} + +.btn-toggle.btn-sm.active:after { + opacity: 1; +} + +.btn-toggle.btn-xs:before, +.btn-toggle.btn-xs:after { + display: none; +} + +.btn-toggle:before, +.btn-toggle:after { + color: #6b7381; +} + +.btn-toggle.active { + background-color: #29b5a8; +} + +.btn-toggle.btn-lg { + margin: 0 5rem; + padding: 0; + position: relative; + border: none; + height: 2.5rem; + width: 5rem; + border-radius: 2.5rem; +} + +.btn-toggle.btn-lg:focus, +.btn-toggle.btn-lg.focus, +.btn-toggle.btn-lg:focus.active, +.btn-toggle.btn-lg.focus.active { + outline: none; +} + +.btn-toggle.btn-lg:before, +.btn-toggle.btn-lg:after { + line-height: 2.5rem; + width: 5rem; + text-align: center; + font-weight: 600; + font-size: 1rem; + text-transform: uppercase; + letter-spacing: 2px; + position: absolute; + bottom: 0; + transition: opacity 0.25s; +} + +.btn-toggle.btn-lg:before { + content: 'Off'; + left: -5rem; +} + +.btn-toggle.btn-lg:after { + content: 'On'; + right: -5rem; + opacity: 0.5; +} + +.btn-toggle.btn-lg>.handle { + position: absolute; + top: 0.3125rem; + left: 0.3125rem; + width: 1.875rem; + height: 1.875rem; + border-radius: 1.875rem; + background: var(--white); + transition: left 0.25s; +} + +.btn-toggle.btn-lg.active { + transition: background-color 0.25s; +} + +.btn-toggle.btn-lg.active>.handle { + left: 2.8125rem; + transition: left 0.25s; +} + +.btn-toggle.btn-lg.active:before { + opacity: 0.5; +} + +.btn-toggle.btn-lg.active:after { + opacity: 1; +} + +.btn-toggle.btn-lg.btn-sm:before, +.btn-toggle.btn-lg.btn-sm:after { + line-height: 0.5rem; + color: var(--white); + letter-spacing: 0.75px; + left: 0.6875rem; + width: 3.875rem; +} + +.btn-toggle.btn-lg.btn-sm:before { + text-align: right; +} + +.btn-toggle.btn-lg.btn-sm:after { + text-align: left; + opacity: 0; +} + +.btn-toggle.btn-lg.btn-sm.active:before { + opacity: 0; +} + +.btn-toggle.btn-lg.btn-sm.active:after { + opacity: 1; +} + +.btn-toggle.btn-lg.btn-xs:before, +.btn-toggle.btn-lg.btn-xs:after { + display: none; +} + +.btn-toggle.btn-sm { + margin: 0 0.5rem; + padding: 0; + position: relative; + border: none; + height: 1.5rem; + width: 3rem; + border-radius: 1.5rem; +} + +.btn-toggle.btn-sm:focus, +.btn-toggle.btn-sm.focus, +.btn-toggle.btn-sm:focus.active, +.btn-toggle.btn-sm.focus.active { + outline: none; +} + +.btn-toggle.btn-sm:before, +.btn-toggle.btn-sm:after { + line-height: 1.5rem; + width: 0.5rem; + text-align: center; + font-weight: 600; + font-size: 0.55rem; + text-transform: uppercase; + letter-spacing: 2px; + position: absolute; + bottom: 0; + transition: opacity 0.25s; +} + +.btn-toggle.btn-sm:before { + content: 'Off'; + left: -0.5rem; +} + +.btn-toggle.btn-sm:after { + content: 'On'; + right: -0.5rem; + opacity: 0.5; +} + +.btn-toggle.btn-sm>.handle { + position: absolute; + top: 0.1875rem; + left: 0.1875rem; + width: 1.125rem; + height: 1.125rem; + border-radius: 1.125rem; + background: var(--white); + transition: left 0.25s; +} + +.btn-toggle.btn-sm.active { + transition: background-color 0.25s; +} + +.btn-toggle.btn-sm.active>.handle { + left: 1.6875rem; + transition: left 0.25s; +} + +.btn-toggle.btn-sm.active:before { + opacity: 0.5; +} + +.btn-toggle.btn-sm.active:after { + opacity: 1; +} + +.btn-toggle.btn-sm.btn-sm:before, +.btn-toggle.btn-sm.btn-sm:after { + line-height: -0.5rem; + color: var(--white); + letter-spacing: 0.75px; + left: 0.4125rem; + width: 2.325rem; +} + +.btn-toggle.btn-sm.btn-sm:before { + text-align: right; +} + +.btn-toggle.btn-sm.btn-sm:after { + text-align: left; + opacity: 0; +} + +.btn-toggle.btn-sm.btn-sm.active:before { + opacity: 0; +} + +.btn-toggle.btn-sm.btn-sm.active:after { + opacity: 1; +} + +.btn-toggle.btn-sm.btn-xs:before, +.btn-toggle.btn-sm.btn-xs:after { + display: none; +} + +.btn-toggle.btn-xs { + margin: 0 0; + padding: 0; + position: relative; + border: none; + height: 1rem; + width: 2rem; + border-radius: 1rem; +} + +.btn-toggle.btn-xs:focus, +.btn-toggle.btn-xs.focus, +.btn-toggle.btn-xs:focus.active, +.btn-toggle.btn-xs.focus.active { + outline: none; +} + +.btn-toggle.btn-xs:before, +.btn-toggle.btn-xs:after { + line-height: 1rem; + width: 0; + text-align: center; + font-weight: 600; + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 2px; + position: absolute; + bottom: 0; + transition: opacity 0.25s; +} + +.btn-toggle.btn-xs:before { + content: 'Off'; + left: 0; +} + +.btn-toggle.btn-xs:after { + content: 'On'; + right: 0; + opacity: 0.5; +} + +.btn-toggle.btn-xs>.handle { + position: absolute; + top: 0.125rem; + left: 0.125rem; + width: 0.75rem; + height: 0.75rem; + border-radius: 0.75rem; + background: var(--white); + transition: left 0.25s; +} + +.btn-toggle.btn-xs.active { + transition: background-color 0.25s; +} + +.btn-toggle.btn-xs.active>.handle { + left: 1.125rem; + transition: left 0.25s; +} + +.btn-toggle.btn-xs.active:before { + opacity: 0.5; +} + +.btn-toggle.btn-xs.active:after { + opacity: 1; +} + +.btn-toggle.btn-xs.btn-sm:before, +.btn-toggle.btn-xs.btn-sm:after { + line-height: -1rem; + color: var(--white); + letter-spacing: 0.75px; + left: 0.275rem; + width: 1.55rem; +} + +.btn-toggle.btn-xs.btn-sm:before { + text-align: right; +} + +.btn-toggle.btn-xs.btn-sm:after { + text-align: left; + opacity: 0; +} + +.btn-toggle.btn-xs.btn-sm.active:before { + opacity: 0; +} + +.btn-toggle.btn-xs.btn-sm.active:after { + opacity: 1; +} + +.btn-toggle.btn-xs.btn-xs:before, +.btn-toggle.btn-xs.btn-xs:after { + display: none; +} + +.btn-toggle.btn-info { + color: var(--white); + background: var(--gray); +} + +.btn-toggle.btn-info:before, +.btn-toggle.btn-info:after { + color: #6b7381; +} + +.btn-toggle.btn-info.active { + background-color: var(--info); +} + +.btn-toggle.btn-secondary { + color: #6b7381; + background: #bdc1c8; +} + +.btn-toggle.btn-secondary:before, +.btn-toggle.btn-secondary:after { + color: #6b7381; +} + +.btn-toggle.btn-secondary.active { + background-color: #ff8300; +} + +/**************************************************************/ + /**************************************************************/ /* CSS for Froms Displays */ /**************************************************************/ @@ -212,6 +660,14 @@ div>.input-group>.form-control { top: calc(-0.125rem + 1px); } +a.btn-primary { + color: var(--white); +} + +button.btn-primary { + color: var(--white); +} + /**************************************************************/ /**************************************************************/ @@ -233,4 +689,24 @@ td.action .btn { margin-bottom: 0.2rem; } +/**************************************************************/ + +/**************************************************************/ +/* CSS for warnings Displays */ +/**************************************************************/ +div.warnings div.wssError { + color: var(--white); +} + +div.warnings div.wssError a { + color: var(--white-smoke); +} + +/**************************************************************/ + +/**************************************************************/ +/* CSS for ----- Displays */ +/**************************************************************/ + + /**************************************************************/ \ No newline at end of file From 1c0190d0ab8c20aadb3210f20d54a6d47896e671 Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Tue, 30 Jan 2024 22:10:49 +0100 Subject: [PATCH 05/24] Impriove display for wssErrors --- app/frontend/static/assets/css/crafty.css | 452 +--------------------- app/frontend/templates/base.html | 6 +- 2 files changed, 7 insertions(+), 451 deletions(-) diff --git a/app/frontend/static/assets/css/crafty.css b/app/frontend/static/assets/css/crafty.css index 55efaeb6..4c55d7ae 100644 --- a/app/frontend/static/assets/css/crafty.css +++ b/app/frontend/static/assets/css/crafty.css @@ -140,454 +140,6 @@ body { text-align: center; } -/**************************************************************/ -/* CSS for Toggle Buttons */ -/**************************************************************/ -.btn-toggle { - margin: 0 4rem; - padding: 0; - position: relative; - border: none; - height: 1.5rem; - width: 3rem; - border-radius: 1.5rem; - color: #6b7381; - background: #bdc1c8; -} - -.btn-toggle:focus, -.btn-toggle.focus, -.btn-toggle:focus.active, -.btn-toggle.focus.active { - outline: none; -} - -.btn-toggle:before, -.btn-toggle:after { - line-height: 1.5rem; - width: 4rem; - text-align: center; - font-weight: 600; - font-size: 0.75rem; - text-transform: uppercase; - letter-spacing: 2px; - position: absolute; - bottom: 0; - transition: opacity 0.25s; -} - -.btn-toggle:before { - content: 'Off'; - left: -4rem; -} - -.btn-toggle:after { - content: 'On'; - right: -4rem; - opacity: 0.5; -} - -.btn-toggle>.handle { - position: absolute; - top: 0.1875rem; - left: 0.1875rem; - width: 1.125rem; - height: 1.125rem; - border-radius: 1.125rem; - background: var(--white); - transition: left 0.25s; -} - -.btn-toggle.active { - transition: background-color 0.25s; -} - -.btn-toggle.active>.handle { - left: 1.6875rem; - transition: left 0.25s; -} - -.btn-toggle.active:before { - opacity: 0.5; -} - -.btn-toggle.active:after { - opacity: 1; -} - -.btn-toggle.btn-sm:before, -.btn-toggle.btn-sm:after { - line-height: -0.5rem; - color: var(--white); - letter-spacing: 0.75px; - left: 0.4125rem; - width: 2.325rem; -} - -.btn-toggle.btn-sm:before { - text-align: right; -} - -.btn-toggle.btn-sm:after { - text-align: left; - opacity: 0; -} - -.btn-toggle.btn-sm.active:before { - opacity: 0; -} - -.btn-toggle.btn-sm.active:after { - opacity: 1; -} - -.btn-toggle.btn-xs:before, -.btn-toggle.btn-xs:after { - display: none; -} - -.btn-toggle:before, -.btn-toggle:after { - color: #6b7381; -} - -.btn-toggle.active { - background-color: #29b5a8; -} - -.btn-toggle.btn-lg { - margin: 0 5rem; - padding: 0; - position: relative; - border: none; - height: 2.5rem; - width: 5rem; - border-radius: 2.5rem; -} - -.btn-toggle.btn-lg:focus, -.btn-toggle.btn-lg.focus, -.btn-toggle.btn-lg:focus.active, -.btn-toggle.btn-lg.focus.active { - outline: none; -} - -.btn-toggle.btn-lg:before, -.btn-toggle.btn-lg:after { - line-height: 2.5rem; - width: 5rem; - text-align: center; - font-weight: 600; - font-size: 1rem; - text-transform: uppercase; - letter-spacing: 2px; - position: absolute; - bottom: 0; - transition: opacity 0.25s; -} - -.btn-toggle.btn-lg:before { - content: 'Off'; - left: -5rem; -} - -.btn-toggle.btn-lg:after { - content: 'On'; - right: -5rem; - opacity: 0.5; -} - -.btn-toggle.btn-lg>.handle { - position: absolute; - top: 0.3125rem; - left: 0.3125rem; - width: 1.875rem; - height: 1.875rem; - border-radius: 1.875rem; - background: var(--white); - transition: left 0.25s; -} - -.btn-toggle.btn-lg.active { - transition: background-color 0.25s; -} - -.btn-toggle.btn-lg.active>.handle { - left: 2.8125rem; - transition: left 0.25s; -} - -.btn-toggle.btn-lg.active:before { - opacity: 0.5; -} - -.btn-toggle.btn-lg.active:after { - opacity: 1; -} - -.btn-toggle.btn-lg.btn-sm:before, -.btn-toggle.btn-lg.btn-sm:after { - line-height: 0.5rem; - color: var(--white); - letter-spacing: 0.75px; - left: 0.6875rem; - width: 3.875rem; -} - -.btn-toggle.btn-lg.btn-sm:before { - text-align: right; -} - -.btn-toggle.btn-lg.btn-sm:after { - text-align: left; - opacity: 0; -} - -.btn-toggle.btn-lg.btn-sm.active:before { - opacity: 0; -} - -.btn-toggle.btn-lg.btn-sm.active:after { - opacity: 1; -} - -.btn-toggle.btn-lg.btn-xs:before, -.btn-toggle.btn-lg.btn-xs:after { - display: none; -} - -.btn-toggle.btn-sm { - margin: 0 0.5rem; - padding: 0; - position: relative; - border: none; - height: 1.5rem; - width: 3rem; - border-radius: 1.5rem; -} - -.btn-toggle.btn-sm:focus, -.btn-toggle.btn-sm.focus, -.btn-toggle.btn-sm:focus.active, -.btn-toggle.btn-sm.focus.active { - outline: none; -} - -.btn-toggle.btn-sm:before, -.btn-toggle.btn-sm:after { - line-height: 1.5rem; - width: 0.5rem; - text-align: center; - font-weight: 600; - font-size: 0.55rem; - text-transform: uppercase; - letter-spacing: 2px; - position: absolute; - bottom: 0; - transition: opacity 0.25s; -} - -.btn-toggle.btn-sm:before { - content: 'Off'; - left: -0.5rem; -} - -.btn-toggle.btn-sm:after { - content: 'On'; - right: -0.5rem; - opacity: 0.5; -} - -.btn-toggle.btn-sm>.handle { - position: absolute; - top: 0.1875rem; - left: 0.1875rem; - width: 1.125rem; - height: 1.125rem; - border-radius: 1.125rem; - background: var(--white); - transition: left 0.25s; -} - -.btn-toggle.btn-sm.active { - transition: background-color 0.25s; -} - -.btn-toggle.btn-sm.active>.handle { - left: 1.6875rem; - transition: left 0.25s; -} - -.btn-toggle.btn-sm.active:before { - opacity: 0.5; -} - -.btn-toggle.btn-sm.active:after { - opacity: 1; -} - -.btn-toggle.btn-sm.btn-sm:before, -.btn-toggle.btn-sm.btn-sm:after { - line-height: -0.5rem; - color: var(--white); - letter-spacing: 0.75px; - left: 0.4125rem; - width: 2.325rem; -} - -.btn-toggle.btn-sm.btn-sm:before { - text-align: right; -} - -.btn-toggle.btn-sm.btn-sm:after { - text-align: left; - opacity: 0; -} - -.btn-toggle.btn-sm.btn-sm.active:before { - opacity: 0; -} - -.btn-toggle.btn-sm.btn-sm.active:after { - opacity: 1; -} - -.btn-toggle.btn-sm.btn-xs:before, -.btn-toggle.btn-sm.btn-xs:after { - display: none; -} - -.btn-toggle.btn-xs { - margin: 0 0; - padding: 0; - position: relative; - border: none; - height: 1rem; - width: 2rem; - border-radius: 1rem; -} - -.btn-toggle.btn-xs:focus, -.btn-toggle.btn-xs.focus, -.btn-toggle.btn-xs:focus.active, -.btn-toggle.btn-xs.focus.active { - outline: none; -} - -.btn-toggle.btn-xs:before, -.btn-toggle.btn-xs:after { - line-height: 1rem; - width: 0; - text-align: center; - font-weight: 600; - font-size: 0.75rem; - text-transform: uppercase; - letter-spacing: 2px; - position: absolute; - bottom: 0; - transition: opacity 0.25s; -} - -.btn-toggle.btn-xs:before { - content: 'Off'; - left: 0; -} - -.btn-toggle.btn-xs:after { - content: 'On'; - right: 0; - opacity: 0.5; -} - -.btn-toggle.btn-xs>.handle { - position: absolute; - top: 0.125rem; - left: 0.125rem; - width: 0.75rem; - height: 0.75rem; - border-radius: 0.75rem; - background: var(--white); - transition: left 0.25s; -} - -.btn-toggle.btn-xs.active { - transition: background-color 0.25s; -} - -.btn-toggle.btn-xs.active>.handle { - left: 1.125rem; - transition: left 0.25s; -} - -.btn-toggle.btn-xs.active:before { - opacity: 0.5; -} - -.btn-toggle.btn-xs.active:after { - opacity: 1; -} - -.btn-toggle.btn-xs.btn-sm:before, -.btn-toggle.btn-xs.btn-sm:after { - line-height: -1rem; - color: var(--white); - letter-spacing: 0.75px; - left: 0.275rem; - width: 1.55rem; -} - -.btn-toggle.btn-xs.btn-sm:before { - text-align: right; -} - -.btn-toggle.btn-xs.btn-sm:after { - text-align: left; - opacity: 0; -} - -.btn-toggle.btn-xs.btn-sm.active:before { - opacity: 0; -} - -.btn-toggle.btn-xs.btn-sm.active:after { - opacity: 1; -} - -.btn-toggle.btn-xs.btn-xs:before, -.btn-toggle.btn-xs.btn-xs:after { - display: none; -} - -.btn-toggle.btn-info { - color: var(--white); - background: var(--gray); -} - -.btn-toggle.btn-info:before, -.btn-toggle.btn-info:after { - color: #6b7381; -} - -.btn-toggle.btn-info.active { - background-color: var(--info); -} - -.btn-toggle.btn-secondary { - color: #6b7381; - background: #bdc1c8; -} - -.btn-toggle.btn-secondary:before, -.btn-toggle.btn-secondary:after { - color: #6b7381; -} - -.btn-toggle.btn-secondary.active { - background-color: #ff8300; -} - -/**************************************************************/ - /**************************************************************/ /* CSS for Froms Displays */ /**************************************************************/ @@ -699,6 +251,10 @@ div.warnings div.wssError { } div.warnings div.wssError a { + color: var(--outline); +} + +div.warnings div.wssError a:hover { color: var(--white-smoke); } diff --git a/app/frontend/templates/base.html b/app/frontend/templates/base.html index 48c6ee95..9f1a4111 100755 --- a/app/frontend/templates/base.html +++ b/app/frontend/templates/base.html @@ -394,7 +394,7 @@ } }, callback: function (result) { - if (result){ + if (result) { location.href = "/panel/download_support_package"; } else { bootbox.close(); @@ -489,7 +489,7 @@ let linkEl = document.createElement('a') linkEl.href = link; linkEl.innerHTML = "See our documentation for details."; - linkEl.style.color = 'white'; + //linkEl.style.color = 'white'; linkEl.style.textDecoration = 'underline'; linkEl.target = "_blank"; @@ -608,4 +608,4 @@ - + \ No newline at end of file From 856caf4a9a71ac2c87b47538bb74e1c155998dce Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Tue, 30 Jan 2024 22:44:00 +0100 Subject: [PATCH 06/24] trying to improve display for th-TH lang --- app/frontend/static/assets/css/crafty.css | 6 +++++- app/frontend/templates/base.html | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/frontend/static/assets/css/crafty.css b/app/frontend/static/assets/css/crafty.css index 4c55d7ae..1bf03471 100644 --- a/app/frontend/static/assets/css/crafty.css +++ b/app/frontend/static/assets/css/crafty.css @@ -261,8 +261,12 @@ div.warnings div.wssError a:hover { /**************************************************************/ /**************************************************************/ -/* CSS for ----- Displays */ +/* CSS for Fonts Displays */ /**************************************************************/ +*:lang(th-TH) :not(.fas) { + font-family: 'Sarabun', 'roboto', sans-serif; + font-size: medium; +} /**************************************************************/ \ No newline at end of file diff --git a/app/frontend/templates/base.html b/app/frontend/templates/base.html index 9f1a4111..a954859f 100755 --- a/app/frontend/templates/base.html +++ b/app/frontend/templates/base.html @@ -14,6 +14,7 @@ + @@ -53,7 +54,6 @@ - From 98bbf880d0e9dd8c65afefba96d1fc68a88d922d Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Tue, 30 Jan 2024 22:58:19 +0100 Subject: [PATCH 07/24] Fixing Fonts for th-TH --- app/frontend/static/assets/css/crafty.css | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/frontend/static/assets/css/crafty.css b/app/frontend/static/assets/css/crafty.css index 1bf03471..286155ab 100644 --- a/app/frontend/static/assets/css/crafty.css +++ b/app/frontend/static/assets/css/crafty.css @@ -263,10 +263,9 @@ div.warnings div.wssError a:hover { /**************************************************************/ /* CSS for Fonts Displays */ /**************************************************************/ -*:lang(th-TH) :not(.fas) { +*:lang(th-TH) :not(.fa, .fas, .fab, .fa-solid) { font-family: 'Sarabun', 'roboto', sans-serif; font-size: medium; } - /**************************************************************/ \ No newline at end of file From a26159f510d42308fd405f06c031bb1dfa32ca55 Mon Sep 17 00:00:00 2001 From: computergeek125 Date: Wed, 31 Jan 2024 01:33:39 -0600 Subject: [PATCH 08/24] Added timeout to http calls, switched get to head --- app/classes/web/http_handler.py | 4 ++-- app/classes/web/http_handler_page.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/classes/web/http_handler.py b/app/classes/web/http_handler.py index ca340c66..32676d59 100644 --- a/app/classes/web/http_handler.py +++ b/app/classes/web/http_handler.py @@ -17,7 +17,7 @@ class HTTPHandler(BaseHandler): url = "https://" + url db_port = self.helper.get_setting("https_port") try: - resp = requests.get(url + ":" + str(port)) + resp = requests.head(url + ":" + str(port), timeout=(0.5, 5)) resp.raise_for_status() except Exception: port = db_port @@ -35,7 +35,7 @@ class HTTPHandlerPage(BaseHandler): url = "https://" + url db_port = self.helper.get_setting("https_port") try: - resp = requests.get(url + ":" + str(port)) + resp = requests.head(url + ":" + str(port), timeout=(0.5, 5)) resp.raise_for_status() except Exception: port = db_port diff --git a/app/classes/web/http_handler_page.py b/app/classes/web/http_handler_page.py index 30a8aaa1..77161577 100644 --- a/app/classes/web/http_handler_page.py +++ b/app/classes/web/http_handler_page.py @@ -25,7 +25,7 @@ class HTTPHandlerPage(BaseHandler): backup_url = url + str(self.helper.get_setting("https_port")) try: - resp = requests.get(primary_url) + resp = requests.head(primary_url, timeout=(0.5, 5)) resp.raise_for_status() url = primary_url except Exception: From d92d06e4b1b51701dd7167a34c4d36e9d1f08b47 Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Wed, 31 Jan 2024 23:04:22 +0100 Subject: [PATCH 09/24] Fixing issue 322 --- app/frontend/static/assets/js/motd.js | 2 +- app/frontend/templates/panel/dashboard.html | 38 +++--- .../templates/panel/parts/details_stats.html | 120 ++++++++---------- app/frontend/templates/public/status.html | 5 +- app/translations/en_EN.json | 3 +- app/translations/fr_FR.json | 3 +- 6 files changed, 76 insertions(+), 95 deletions(-) diff --git a/app/frontend/static/assets/js/motd.js b/app/frontend/static/assets/js/motd.js index 3d07c8fb..8f63e763 100644 --- a/app/frontend/static/assets/js/motd.js +++ b/app/frontend/static/assets/js/motd.js @@ -96,7 +96,7 @@ function initParser(input, output) { var input = document.getElementById(input), output = document.getElementById(output); if (input != null && output != null) { - var parsed = parseStyle(input.innerHTML); + var parsed = parseStyle(input.innerText); output.innerHTML = ''; output.appendChild(parsed); } diff --git a/app/frontend/templates/panel/dashboard.html b/app/frontend/templates/panel/dashboard.html index eb4a51a9..0d4fc0ac 100644 --- a/app/frontend/templates/panel/dashboard.html +++ b/app/frontend/templates/panel/dashboard.html @@ -287,8 +287,7 @@ data['lang']) }}
{% if server['stats']['desc'] != 'False' %} -
{{ - server['stats']['desc'] }}

+
{{ translate('serverStats', 'loadingMotd', data['lang']) }}

{% end %} {% if server['stats']['version'] != 'False' %} @@ -554,6 +553,7 @@ display: none; /* for Chrome, Safari, and Opera */ } + .gray { color: gray !important; } @@ -736,11 +736,11 @@ try { console.log(`#server_desc_${server.getAttribute("data-serverId")}`) $(`#server_desc_${server.getAttribute("data-serverId")}`).toggleClass("gray", server.getAttribute('data-count') === 'false') - if (server.getAttribute('data-count') === 'true'){ + if (server.getAttribute('data-count') === 'true') { all_total_players += parseInt(server.getAttribute('data-players')); all_total_max_players += parseInt(server.getAttribute('data-max')); } - } catch { + } catch { console.log("Player totals are not of type int"); } }) @@ -1006,24 +1006,24 @@ async function sendOrder(id_string) { const token = getCookie("_xsrf") let res = await fetch(`/api/v2/users/@me`, { - method: 'PATCH', - headers: { - 'X-XSRFToken': token - }, - body: JSON.stringify({ + method: 'PATCH', + headers: { + 'X-XSRFToken': token + }, + body: JSON.stringify({ server_order: id_string, }), - }); - let responseData = await res.json(); - if (responseData.status === "ok") { - return - } else { - - bootbox.alert({ - title: responseData.status, - message: responseData.error }); - } + let responseData = await res.json(); + if (responseData.status === "ok") { + return + } else { + + bootbox.alert({ + title: responseData.status, + message: responseData.error + }); + } } // Inits the sortable $("table#servers_table tbody") diff --git a/app/frontend/templates/panel/parts/details_stats.html b/app/frontend/templates/panel/parts/details_stats.html index ad190bc3..00fa516b 100644 --- a/app/frontend/templates/panel/parts/details_stats.html +++ b/app/frontend/templates/panel/parts/details_stats.html @@ -5,42 +5,27 @@
{% if data['server_stats']['running'] %} - {{ translate('serverStats', 'serverStatus', data['lang']) }}: {{ translate('serverStats', 'online', data['lang']) }}
- {{ translate('serverStats', 'serverStarted', data['lang']) }}: {{ - data['server_stats']['started'] }}
- {{ translate('serverStats', 'serverUptime', data['lang']) }}: {{ - translate('serverStats', 'errorCalculatingUptime', data['lang']) }} + {{ translate('serverStats', 'serverStatus', data['lang']) }}: {{ translate('serverStats', 'online', data['lang']) }}
+ {{ translate('serverStats', 'serverStarted', data['lang']) }}: {{ data['server_stats']['started'] }}
+ {{ translate('serverStats', 'serverUptime', data['lang']) }}: {{ translate('serverStats', 'errorCalculatingUptime', data['lang']) }} {% elif data['server_stats']['crashed'] %} - {{ translate('serverStats', 'serverStatus', data['lang']) }}: - {{ translate('dashboard', 'crashed', data['lang']) - }}
- {{ translate('serverStats', 'serverStarted', data['lang']) }}: {{ translate('dashboard', 'crashed', - data['lang']) }}
- {{ translate('serverStats', 'serverUptime', data['lang']) }}: - {{ translate('dashboard', 'crashed', data['lang']) }} + {{ translate('serverStats', 'serverStatus', data['lang']) }}: {{ translate('dashboard', 'crashed', data['lang']) }}
+ {{ translate('serverStats', 'serverStarted', data['lang']) }}: {{ translate('dashboard', 'crashed',data['lang']) }}
+ {{ translate('serverStats', 'serverUptime', data['lang']) }}: {{ translate('dashboard', 'crashed', data['lang']) }} {% else %} - {{ translate('serverStats', 'serverStatus', data['lang']) }}: {{ translate('serverStats', 'offline', data['lang']) }}
- {{ translate('serverStats', 'serverStarted', data['lang']) }}: {{ translate('serverStats', 'offline', data['lang']) }}
- {{ translate('serverStats', 'serverUptime', data['lang']) }}: {{ translate('serverStats', 'offline', data['lang']) }} + {{ translate('serverStats', 'serverStatus', data['lang']) }}: {{ translate('serverStats', 'offline', data['lang']) }}
+ {{ translate('serverStats', 'serverStarted', data['lang']) }}: {{ translate('serverStats', 'offline', data['lang']) }}
+ {{ translate('serverStats', 'serverUptime', data['lang']) }}: {{ translate('serverStats', 'offline', data['lang']) }} {% end %}
- {{ translate('serverStats', 'serverTimeZone', data['lang']) }}: {{ - data['serverTZ'] }} + {{ translate('serverStats', 'serverTimeZone', data['lang']) }}: {{ data['serverTZ'] }}
- {{ translate('serverStats', 'cpuUsage', data['lang']) }}: {{ - data['server_stats']['cpu'] }}%
- {{ translate('serverStats', 'memUsage', data['lang']) }}: {{ - data['server_stats']['mem'] }}
+ {{ translate('serverStats', 'cpuUsage', data['lang']) }}: {{ data['server_stats']['cpu'] }}%
+ {{ translate('serverStats', 'memUsage', data['lang']) }}: {{ data['server_stats']['mem'] }}
{% if data['server_stats']['int_ping_results'] %} - {{ translate('serverStats', 'players', data['lang']) }}: {{ - data['server_stats']['online'] }} / {{ data['server_stats']['max'] }}
+ {{ translate('serverStats', 'players', data['lang']) }}: {{ data['server_stats']['online'] }} / {{ data['server_stats']['max'] }}
{% else %} {{ translate('serverStats', 'players', data['lang']) }}: 0/0
{% end %} @@ -48,17 +33,12 @@
{% if data['server_stats']['version'] != 'False' %} - {{ translate('serverStats', 'version', data['lang']) }}: {{ - data['server_stats']['version'] }}
- {{ translate('serverStats', 'description', data['lang']) }}: {{ data['server_stats']['desc'] }} + {{ translate('serverStats', 'version', data['lang']) }}: {{ data['server_stats']['version'] }}
+ {{ translate('serverStats', 'description', data['lang']) }}: {{ translate('serverStats', 'loadingMotd', data['lang']) }}
{% else %} - {{ translate('serverStats', 'version', data['lang']) }}: {{ - translate('serverStats', 'unableToConnect', data['lang']) }}
- {{ translate('serverStats', 'description', data['lang']) }}: {{ translate('serverStats', - 'unableToConnect', data['lang']) }}
+ {{ translate('serverStats', 'version', data['lang']) }}: {{ translate('serverStats', 'unableToConnect', data['lang']) }}
+ {{ translate('serverStats', 'description', data['lang']) }}: {{ translate('serverStats', 'unableToConnect', data['lang']) }}
{% end %} Server Type: {{data['server_stats']['server_type']}} @@ -229,23 +209,23 @@ initParser('input_motd', 'input_motd'); let text = "" - let players = server.players_cache; - for(let i=0; i < players.length; i++){ - text += ``; - text += `${players[i]["name"]}`; - if(players[i]["status"] === "Online"){ - text += ` ${ players[i]['status'] }` - }else{ - text += ` ${ players[i]['status'] } Last connection :
${ players[i]['last_seen'] }
` - } - if(server["running"]){ - text += `


` - }else{ - text += ` Unavailable
(Server Offline)
` - } + let players = server.players_cache; + for (let i = 0; i < players.length; i++) { + text += ``; + text += `${players[i]["name"]}`; + if (players[i]["status"] === "Online") { + text += ` ${players[i]['status']}` + } else { + text += ` ${players[i]['status']} Last connection :
${players[i]['last_seen']}
` + } + if (server["running"]) { + text += `


` + } else { + text += ` Unavailable
(Server Offline)
` + } - } - $("#player-body").html(text); + } + $("#player-body").html(text); } //used to get cookies from browser - this is part of tornados xsrf protection - it's for extra security @@ -262,24 +242,24 @@ add_server_name(); //} }); - async function add_server_name(){ + async function add_server_name() { let res = await fetch(`/api/v2/servers/${serverId}`, { - method: 'GET', - headers: { - 'X-XSRFToken': token - }, - }); - let responseData = await res.json(); - if (responseData.status === "ok") { - console.log(responseData) - $("#server-name-nav").html(`${responseData.data['server_name']}`) - $("#server-name-nav").show(); - } else { + method: 'GET', + headers: { + 'X-XSRFToken': token + }, + }); + let responseData = await res.json(); + if (responseData.status === "ok") { + console.log(responseData) + $("#server-name-nav").html(`${responseData.data['server_name']}`) + $("#server-name-nav").show(); + } else { - bootbox.alert({ - title: responseData.error, - message: responseData.error_data - }); - } + bootbox.alert({ + title: responseData.error, + message: responseData.error_data + }); + } } \ No newline at end of file diff --git a/app/frontend/templates/public/status.html b/app/frontend/templates/public/status.html index 1190b9f8..0693ee2e 100644 --- a/app/frontend/templates/public/status.html +++ b/app/frontend/templates/public/status.html @@ -49,7 +49,7 @@ icon
- {{ server['stats']['desc'] }} + {{ translate('serverStats', 'loadingMotd', data['lang']) }}
{% end %} @@ -133,8 +133,7 @@
{% if server['stats']['desc'] != 'False' %}
- {{ - server['stats']['desc'] }}
+ {{ translate('serverStats', 'loadingMotd', data['lang']) }}
{% end %}
diff --git a/app/translations/en_EN.json b/app/translations/en_EN.json index 32721082..25c9096e 100644 --- a/app/translations/en_EN.json +++ b/app/translations/en_EN.json @@ -512,6 +512,7 @@ "cpuUsage": "CPU Usage", "description": "Description", "errorCalculatingUptime": "Error Calculating Uptime", + "loadingMotd": "Loading MOTD", "memUsage": "Memory Usage", "offline": "Offline", "online": "Online", @@ -666,4 +667,4 @@ "webhook_body": "Webhook Body", "webhooks": "Webhooks" } -} +} \ No newline at end of file diff --git a/app/translations/fr_FR.json b/app/translations/fr_FR.json index aa45a69b..b8078a84 100644 --- a/app/translations/fr_FR.json +++ b/app/translations/fr_FR.json @@ -512,6 +512,7 @@ "cpuUsage": "Utilisation CPU", "description": "Description", "errorCalculatingUptime": "Erreur de Calcul du Temps de Disponibilité", + "loadingMotd": "Chargement MOTD", "memUsage": "Utilisation Mémoire", "offline": "Hors Ligne", "online": "En Ligne", @@ -667,4 +668,4 @@ "webhook_body": "Corps du Webhook", "webhooks": "Webhooks" } -} +} \ No newline at end of file From ccf67002cd76bb95c1e4fede47a9d94b22ff243f Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 31 Jan 2024 19:17:13 -0500 Subject: [PATCH 10/24] Remove print statement --- app/classes/web/tornado_handler.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/classes/web/tornado_handler.py b/app/classes/web/tornado_handler.py index 82ae081c..fbcf970f 100644 --- a/app/classes/web/tornado_handler.py +++ b/app/classes/web/tornado_handler.py @@ -190,7 +190,7 @@ class Webserver: login_url="/login", serve_traceback=debug_errors, ) - print(http_port) + if http_port != 0: self.http_server = tornado.httpserver.HTTPServer(http_app) self.http_server.listen(http_port) From 729f854a670c89a3396d3ddd7f8767e2d3104bf9 Mon Sep 17 00:00:00 2001 From: Analicia Abernathy Date: Wed, 31 Jan 2024 19:47:14 -0600 Subject: [PATCH 11/24] Added required translations for branch --- app/translations/de_DE.json | 1 + app/translations/fr_FR.json | 1 + app/translations/he_IL.json | 1 + app/translations/lol_EN.json | 1 + app/translations/lv_LV.json | 1 + app/translations/nl_BE.json | 1 + app/translations/pl_PL.json | 1 + app/translations/th_TH.json | 1 + app/translations/tr_TR.json | 1 + app/translations/uk_UA.json | 1 + app/translations/zh_CN.json | 1 + 11 files changed, 11 insertions(+) diff --git a/app/translations/de_DE.json b/app/translations/de_DE.json index 1a7f8995..22bf6a57 100644 --- a/app/translations/de_DE.json +++ b/app/translations/de_DE.json @@ -579,6 +579,7 @@ "serverUpload": "Als Zip-Datei Gepackten Server hochladen", "serverVersion": "Server Version", "sizeInGB": "Größe in GB", + "unsupported": "Minecraft-Versionen vor 1.8 sind nicht vollständig auf Kompatibilität getestet. Bei einer Installation verhalten diese sich möglicherweise nicht wie erwartet.", "uploadButton": "Hochladen", "uploadZip": "Zip-Datei für Serverimport hochladen", "zipPath": "Server Pfad" diff --git a/app/translations/fr_FR.json b/app/translations/fr_FR.json index aa45a69b..4a0b88b1 100644 --- a/app/translations/fr_FR.json +++ b/app/translations/fr_FR.json @@ -579,6 +579,7 @@ "serverUpload": "Charger le fichier Zippé", "serverVersion": "Version du Serveur", "sizeInGB": "Taille en GB", + "unsupported": "Les versions Minecraft inférieures à 1.8 ne sont pas supportées par Crafty. Elles peuvent être installées, mais leur fonctionnement peut varier.", "uploadButton": "Chargement", "uploadZip": "Charger le fichier pour l'importation du Serveur", "zipPath": "Chemin du Serveur" diff --git a/app/translations/he_IL.json b/app/translations/he_IL.json index cff35559..3b6fa3ec 100644 --- a/app/translations/he_IL.json +++ b/app/translations/he_IL.json @@ -579,6 +579,7 @@ "serverUpload": "העלה שרת מכווץ", "serverVersion": "גרסת השרת", "sizeInGB": "גודל ב-GB", + "unsupported": "גרסאות מיינקראפט מתחת ל1.8 לא נתמכות על ידי קראפטי. אפשר להתקין אותם אבל הביצועים לא יהיו עקביים.", "uploadButton": "העלה", "uploadZip": "העלה קובץ Zip לייבוא שרת", "zipPath": "נתיב שרת" diff --git a/app/translations/lol_EN.json b/app/translations/lol_EN.json index 4836501b..8e51e4cb 100644 --- a/app/translations/lol_EN.json +++ b/app/translations/lol_EN.json @@ -579,6 +579,7 @@ "serverUpload": "UPLOADZ ZIPPED SERVR", "serverVersion": "SERVR VERZHUN", "sizeInGB": "SIEZ IN GIGABITEZ", + "unsupported": "MINECRAFTZ OLDR THAN 1.8 NOT FRENDS WIF CWAFTY. U CAN STILL TRY INSTALLIN'. IT MIGHT WORKS, MIGHT NOT.", "uploadButton": "UPLOADZ", "uploadZip": "UPLOADZ ZIP FISH FOR SERVR BRING IN", "zipPath": "WER IZ ZIP FISH (PETH)" diff --git a/app/translations/lv_LV.json b/app/translations/lv_LV.json index 354a0e54..09dec926 100644 --- a/app/translations/lv_LV.json +++ b/app/translations/lv_LV.json @@ -580,6 +580,7 @@ "serverUpload": "Augšupielādē Saspiestu (Zipotu) Serveri", "serverVersion": "Servera Versija", "sizeInGB": "lielums, GB", + "unsupported": "Minecraft versijas zem 1.8 netiek atbalstītas iekš Crafty. Jūs tāpat variet tās instalēt, bet rezultāti atškirsies.", "uploadButton": "Augšupielādēt", "uploadZip": "Augšupielādē Zip Failu Priekš Serveru Importa", "zipPath": "Servera Ceļš" diff --git a/app/translations/nl_BE.json b/app/translations/nl_BE.json index c9414bbe..f81f8bf5 100644 --- a/app/translations/nl_BE.json +++ b/app/translations/nl_BE.json @@ -579,6 +579,7 @@ "serverUpload": "Gezipt bestand uploaden", "serverVersion": "Serverversie", "sizeInGB": "Grootte in GB", + "unsupported": "Minecraft-versies lager dan 1.8 worden niet ondersteund door Crafty. Je kunt het nog steeds installeren. De resultaten kunnen variëren.", "uploadButton": "Uploaden", "uploadZip": "Upload zip-bestand voor serverimport", "zipPath": "Serverpad" diff --git a/app/translations/pl_PL.json b/app/translations/pl_PL.json index 86f8f9cb..e2a2d203 100644 --- a/app/translations/pl_PL.json +++ b/app/translations/pl_PL.json @@ -578,6 +578,7 @@ "serverUpload": "Wgraj ZIP Serwera", "serverVersion": "Wersja serwera", "sizeInGB": "Wielkość w GB", + "unsupported": "Wersje Minecrafta poniżej 1.8 nie są wspierane przez Crafty. Mimo to możesz je zainstalować - jednakże nie jesteśmy w stanie zagwarantować ich działanie.", "uploadButton": "Wgraj", "uploadZip": "Wgraj plik Zip dla imprtowania serwera", "zipPath": "Server Path" diff --git a/app/translations/th_TH.json b/app/translations/th_TH.json index a833cf1c..ce377492 100644 --- a/app/translations/th_TH.json +++ b/app/translations/th_TH.json @@ -578,6 +578,7 @@ "serverUpload": "อัปโหลดเซิร์ฟเวอร์ซิป", "serverVersion": "เวอร์ชันเซิร์ฟเวอร์", "sizeInGB": "ขนาดเป็นกิกะไบต์", + "unsupported": "Crafty ไม่รองรับ Minecraft เวอร์ชั่นต่ำกว่า 1.8 คุณยังสามารถติดตั้งได้ ผลลัพธ์จะแตกต่างกันออกไป", "uploadButton": "อัปโหลด", "uploadZip": "อัปโหลดไฟล์ซิปสำหรับการนำเข้าเซิร์ฟเวอร์", "zipPath": "เส้นทางเซิร์ฟเวอร์" diff --git a/app/translations/tr_TR.json b/app/translations/tr_TR.json index 9ab3a6c8..cf96f2b3 100644 --- a/app/translations/tr_TR.json +++ b/app/translations/tr_TR.json @@ -578,6 +578,7 @@ "serverUpload": "Sıkıştırılmış Sunucu Yükle", "serverVersion": "Sunucu Sürümü", "sizeInGB": "GB cinsinden boyut", + "unsupported": "Minecraft'ın 1.8'den eski sürümleri Crafty tarafından desteklenmemektedir. Yine de yükleyebilirsiniz. Sonuçlar değişkenlik gösterecektir.", "uploadButton": "Dosya Yükle", "uploadZip": "Sunucu İçe Aktarımı İçin Zip Dosyası Yükle", "zipPath": "Sunucu Konumu" diff --git a/app/translations/uk_UA.json b/app/translations/uk_UA.json index a7018a5f..a22c1de9 100644 --- a/app/translations/uk_UA.json +++ b/app/translations/uk_UA.json @@ -578,6 +578,7 @@ "serverUpload": "Вивантажити архівований сервер", "serverVersion": "Версія сервера", "sizeInGB": "Об'єм пам'яті в ГБ", + "unsupported": "Minecraft версії старіші ніж 1.8, не підтримуються Crafty. Ви все ще можете встановити їх, але результат буде непередбачуваний.", "uploadButton": "Вивантажити", "uploadZip": "Вивантажити архів(.zip) для імпорту сервера", "zipPath": "Шлях архіву сервера" diff --git a/app/translations/zh_CN.json b/app/translations/zh_CN.json index ffac7b3b..4ffa844b 100644 --- a/app/translations/zh_CN.json +++ b/app/translations/zh_CN.json @@ -579,6 +579,7 @@ "serverUpload": "上传打包为 Zip 文件的服务器", "serverVersion": "服务器版本", "sizeInGB": "大小(以 GB 为单位)", + "unsupported": "Crafty 不支持低于 1.8 的 Minecraft 版本。你仍可以安装,但结果无法保证。", "uploadButton": "上传", "uploadZip": "上传 Zip 文件以导入服务器", "zipPath": "服务器路径" From 7b598406beffdfbacdba8e74a3a70111f33531f6 Mon Sep 17 00:00:00 2001 From: Analicia Abernathy Date: Thu, 1 Feb 2024 18:17:34 -0600 Subject: [PATCH 12/24] Added loadingMotd translation for 4.2.3 --- app/translations/de_DE.json | 1 + app/translations/en_EN.json | 2 +- app/translations/fr_FR.json | 2 +- app/translations/lol_EN.json | 1 + app/translations/lv_LV.json | 1 + app/translations/nl_BE.json | 1 + app/translations/pl_PL.json | 1 + app/translations/th_TH.json | 1 + app/translations/tr_TR.json | 1 + app/translations/uk_UA.json | 1 + app/translations/zh_CN.json | 3 ++- 11 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/translations/de_DE.json b/app/translations/de_DE.json index 1a7f8995..ea4fbe69 100644 --- a/app/translations/de_DE.json +++ b/app/translations/de_DE.json @@ -512,6 +512,7 @@ "cpuUsage": "CPU-Nutzung", "description": "Beschreibung", "errorCalculatingUptime": "Fehler bei der Berechnung der Betriebszeit", + "loadingMotd": "Nachricht des Tages lädt (MOTD)", "memUsage": "RAM/Speicherverbrauch", "offline": "Offline", "online": "Online", diff --git a/app/translations/en_EN.json b/app/translations/en_EN.json index 25c9096e..e5ce117b 100644 --- a/app/translations/en_EN.json +++ b/app/translations/en_EN.json @@ -667,4 +667,4 @@ "webhook_body": "Webhook Body", "webhooks": "Webhooks" } -} \ No newline at end of file +} diff --git a/app/translations/fr_FR.json b/app/translations/fr_FR.json index b8078a84..cb32762f 100644 --- a/app/translations/fr_FR.json +++ b/app/translations/fr_FR.json @@ -668,4 +668,4 @@ "webhook_body": "Corps du Webhook", "webhooks": "Webhooks" } -} \ No newline at end of file +} diff --git a/app/translations/lol_EN.json b/app/translations/lol_EN.json index 4836501b..02ad47d5 100644 --- a/app/translations/lol_EN.json +++ b/app/translations/lol_EN.json @@ -512,6 +512,7 @@ "cpuUsage": "CPU USAGE", "description": "DESCRIPSHUN", "errorCalculatingUptime": "I DUN GOOF'D WEN CALCULATIN TEH TEIM AWAEK!", + "loadingMotd": "LOADIN' MEOWSSAGE OF DA DAY", "memUsage": "HOW HARD IZ THINKIN RN", "offline": "TURND OFF", "online": "TURND OAN", diff --git a/app/translations/lv_LV.json b/app/translations/lv_LV.json index 354a0e54..81cdf9d6 100644 --- a/app/translations/lv_LV.json +++ b/app/translations/lv_LV.json @@ -513,6 +513,7 @@ "cpuUsage": "CPU Lietojums", "description": "Apraksts", "errorCalculatingUptime": "Kļūda aprēķinot darbības laiku", + "loadingMotd": "Ielādē MOTD", "memUsage": "Atmiņas Lietojums", "offline": "Offlinā", "online": "Onlinā", diff --git a/app/translations/nl_BE.json b/app/translations/nl_BE.json index c9414bbe..4108a213 100644 --- a/app/translations/nl_BE.json +++ b/app/translations/nl_BE.json @@ -512,6 +512,7 @@ "cpuUsage": "CPU gebruik", "description": "Beschrijving", "errorCalculatingUptime": "Fout bij berekenen van uptime", + "loadingMotd": "MOTD laden", "memUsage": "Geheugengebruik", "offline": "Offline", "online": "Online", diff --git a/app/translations/pl_PL.json b/app/translations/pl_PL.json index 86f8f9cb..47227697 100644 --- a/app/translations/pl_PL.json +++ b/app/translations/pl_PL.json @@ -512,6 +512,7 @@ "cpuUsage": "Użycie procesora", "description": "Opis", "errorCalculatingUptime": "Błąd obliczania czasu pracy", + "loadingMotd": "Wczytywanie MOTD", "memUsage": "Użycie RAMu", "offline": "Wyłączony", "online": "Włączony", diff --git a/app/translations/th_TH.json b/app/translations/th_TH.json index a833cf1c..3603152c 100644 --- a/app/translations/th_TH.json +++ b/app/translations/th_TH.json @@ -512,6 +512,7 @@ "cpuUsage": "การใช้งานซีพียู", "description": "คำอธิบาย", "errorCalculatingUptime": "เกิดข้อผิดพลาดในการคำนวณสถานะการออนไลน์", + "loadingMotd": "กำลังโหลด MOTD", "memUsage": "การใช้งานหน่วยความจำ", "offline": "ออฟไลน์", "online": "ออนไลน์", diff --git a/app/translations/tr_TR.json b/app/translations/tr_TR.json index 9ab3a6c8..2f0e206e 100644 --- a/app/translations/tr_TR.json +++ b/app/translations/tr_TR.json @@ -512,6 +512,7 @@ "cpuUsage": "CPU Kullanımı", "description": "Açıklama", "errorCalculatingUptime": "Çalışma Süresi Hesaplanırken Hata", + "loadingMotd": "MOTD yükleniyor", "memUsage": "Bellek Kullanımı", "offline": "Çevrimdışı", "online": "Çevrimiçi", diff --git a/app/translations/uk_UA.json b/app/translations/uk_UA.json index a7018a5f..917cfa18 100644 --- a/app/translations/uk_UA.json +++ b/app/translations/uk_UA.json @@ -512,6 +512,7 @@ "cpuUsage": "Використання Процесора", "description": "Опис", "errorCalculatingUptime": "Підрахунок помилок аптайму", + "loadingMotd": "Завантаження MOTD", "memUsage": "Використання ОПЗ", "offline": "Оффлайн", "online": "Онлайн", diff --git a/app/translations/zh_CN.json b/app/translations/zh_CN.json index ffac7b3b..ac3cb7f4 100644 --- a/app/translations/zh_CN.json +++ b/app/translations/zh_CN.json @@ -95,7 +95,7 @@ "lastBackup": "上次:", "max": "最大", "memUsage": "内存使用率", - "motd": "今日消息(MOTD)", + "motd": "服务器描述(MOTD)", "newServer": "创建新服务器", "nextBackup": "下次:", "no-servers": "当前没有服务器。要开始,请点击", @@ -512,6 +512,7 @@ "cpuUsage": "CPU 使用率", "description": "简介", "errorCalculatingUptime": "计算正常运行时间时发生错误", + "loadingMotd": "正在加载服务器描述(MOTD)", "memUsage": "内存使用率", "offline": "已停止", "online": "运行中", From 9a667b02a45c6267429bdcad49b8b8e75f3ca33b Mon Sep 17 00:00:00 2001 From: "Analicia A." Date: Fri, 2 Feb 2024 16:47:59 +0000 Subject: [PATCH 13/24] Updated for 4.2.3 --- app/translations/he_IL.json | 1 + 1 file changed, 1 insertion(+) diff --git a/app/translations/he_IL.json b/app/translations/he_IL.json index cff35559..6d0979e9 100644 --- a/app/translations/he_IL.json +++ b/app/translations/he_IL.json @@ -512,6 +512,7 @@ "cpuUsage": "שימוש במעבד", "description": "תיאור", "errorCalculatingUptime": "שגיאה בחישוב זמן פעולה", + "loadingMotd": "טוען MOTD", "memUsage": "שימוש בזיכרון", "offline": "לא מקוון", "online": "פועל", From de60b88d90fe260b440ddba9adb611b5516ac663 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 17:56:25 +0000 Subject: [PATCH 14/24] Update changelog !701 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d05ab6f..b6590c19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ ### Tweaks - Refactor Forge server initialisation flow for newer versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/687)) - Remove scroll bars from player management ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/693)) +- Add warning to wizard for unsupported mc ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/701)) ### Lang - Update `zh_CN, pl_PL, nl_BE, lv_LV, he_IL, fr_FR, de_DE, lol_EN` translations for `4.2.3` ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/696)) - New `uk_UA, tr_TR, th_TH` translations for `4.2.3` ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/696)) From 6e97f4ed5044a4d396b323d48bde7ac46a799b23 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 18:02:59 +0000 Subject: [PATCH 15/24] Unpin pipeline-components pylint --- .gitlab/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab/lint.yml b/.gitlab/lint.yml index 101e26b2..f335dea8 100644 --- a/.gitlab/lint.yml +++ b/.gitlab/lint.yml @@ -44,7 +44,7 @@ black: # Code Climate/Quality Checking [https://pylint.pycqa.org/en/latest/] pylint: stage: lint - image: registry.gitlab.com/pipeline-components/pylint:0.21.1 + image: registry.gitlab.com/pipeline-components/pylint:latest tags: - docker rules: From be4c7b53f964cdfffdba873d987ca7e0d755a59d Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 19:11:18 +0000 Subject: [PATCH 16/24] Install packages in pylint analysis job --- .gitlab/lint.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab/lint.yml b/.gitlab/lint.yml index f335dea8..16d21838 100644 --- a/.gitlab/lint.yml +++ b/.gitlab/lint.yml @@ -52,6 +52,7 @@ pylint: when: never - if: "$CI_COMMIT_TAG || $CI_COMMIT_BRANCH" script: + - pip3 install --no-cache-dir -r requirements.txt - pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-codeclimate:codeclimate.json $(find -type f -name "*.py" ! -path "**/.venv/**" ! -path "**/app/migrations/**") artifacts: reports: From 75f918fe13a067d977b23e561299a50073843352 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 19:23:34 +0000 Subject: [PATCH 17/24] Add deps for wheel build --- .gitlab/lint.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitlab/lint.yml b/.gitlab/lint.yml index 16d21838..bc797808 100644 --- a/.gitlab/lint.yml +++ b/.gitlab/lint.yml @@ -51,8 +51,11 @@ pylint: - if: "$CODE_QUALITY_DISABLED" when: never - if: "$CI_COMMIT_TAG || $CI_COMMIT_BRANCH" - script: + before_script: + - apk update + - apk add gcc python3-dev linux-headers build-base - pip3 install --no-cache-dir -r requirements.txt + script: - pylint --exit-zero --load-plugins=pylint_gitlab --output-format=gitlab-codeclimate:codeclimate.json $(find -type f -name "*.py" ! -path "**/.venv/**" ! -path "**/app/migrations/**") artifacts: reports: From 23ba911686605d35ef09eb992509280f8701c47e Mon Sep 17 00:00:00 2001 From: Silversthorn Date: Fri, 2 Feb 2024 20:37:07 +0100 Subject: [PATCH 18/24] Fixing same size text everywhere --- app/frontend/static/assets/css/crafty.css | 1 - 1 file changed, 1 deletion(-) diff --git a/app/frontend/static/assets/css/crafty.css b/app/frontend/static/assets/css/crafty.css index 286155ab..43dd2e6a 100644 --- a/app/frontend/static/assets/css/crafty.css +++ b/app/frontend/static/assets/css/crafty.css @@ -265,7 +265,6 @@ div.warnings div.wssError a:hover { /**************************************************************/ *:lang(th-TH) :not(.fa, .fas, .fab, .fa-solid) { font-family: 'Sarabun', 'roboto', sans-serif; - font-size: medium; } /**************************************************************/ \ No newline at end of file From ef691eda5c37ae0267cfd99d7d4c48f75d37d984 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 19:51:17 +0000 Subject: [PATCH 19/24] Add exclude for E1101: Module 'nh3' has no 'clean' member --False Positive-- Issue tracking (fix planned for pylint 4.0.0) https://github.com/messense/nh3/issues/18 https://github.com/pylint-dev/pylint/issues/8756 --- app/classes/web/base_handler.py | 2 +- app/classes/web/panel_handler.py | 16 ++++++++++++---- app/classes/web/public_handler.py | 21 +++++++++++++++------ 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/app/classes/web/base_handler.py b/app/classes/web/base_handler.py index ad490c2f..ced6cb97 100644 --- a/app/classes/web/base_handler.py +++ b/app/classes/web/base_handler.py @@ -106,7 +106,7 @@ class BaseHandler(tornado.web.RequestHandler): if type(text) in self.nobleach: logger.debug("Auto-bleaching - bypass type") return text - return nh3.clean(text) + return nh3.clean(text) # pylint: disable=no-member def get_argument( self, diff --git a/app/classes/web/panel_handler.py b/app/classes/web/panel_handler.py index 0dc1df31..08dd1c85 100644 --- a/app/classes/web/panel_handler.py +++ b/app/classes/web/panel_handler.py @@ -80,7 +80,9 @@ class PanelHandler(BaseHandler): ) in self.controller.crafty_perms.list_defined_crafty_permissions(): argument = int( float( - nh3.clean(self.get_argument(f"permission_{permission.name}", "0")) + nh3.clean( + self.get_argument(f"permission_{permission.name}", "0") + ) # pylint: disable=no-member ) ) if argument: @@ -89,7 +91,9 @@ class PanelHandler(BaseHandler): ) q_argument = int( - float(nh3.clean(self.get_argument(f"quantity_{permission.name}", "0"))) + float( + nh3.clean(self.get_argument(f"quantity_{permission.name}", "0")) + ) # pylint: disable=no-member ) if q_argument: server_quantity[permission.name] = q_argument @@ -503,7 +507,9 @@ class PanelHandler(BaseHandler): template = "panel/dashboard.html" elif page == "server_detail": - subpage = nh3.clean(self.get_argument("subpage", "")) + subpage = nh3.clean( + self.get_argument("subpage", "") + ) # pylint: disable=no-member server_id = self.check_server_id() # load page the user was on last @@ -1362,7 +1368,9 @@ class PanelHandler(BaseHandler): template = "panel/panel_edit_user_apikeys.html" elif page == "remove_user": - user_id = nh3.clean(self.get_argument("id", None)) + user_id = nh3.clean( + self.get_argument("id", None) + ) # pylint: disable=no-member if ( not superuser diff --git a/app/classes/web/public_handler.py b/app/classes/web/public_handler.py index 7df88f68..101727eb 100644 --- a/app/classes/web/public_handler.py +++ b/app/classes/web/public_handler.py @@ -29,8 +29,12 @@ class PublicHandler(BaseHandler): # self.clear_cookie("user_data") def get(self, page=None): - error = nh3.clean(self.get_argument("error", "Invalid Login!")) - error_msg = nh3.clean(self.get_argument("error_msg", "")) + error = nh3.clean( + self.get_argument("error", "Invalid Login!") + ) # pylint: disable=no-member + error_msg = nh3.clean( + self.get_argument("error_msg", "") + ) # pylint: disable=no-member page_data = { "version": self.helper.get_version_string(), @@ -87,8 +91,12 @@ class PublicHandler(BaseHandler): ) def post(self, page=None): - error = nh3.clean(self.get_argument("error", "Invalid Login!")) - error_msg = nh3.clean(self.get_argument("error_msg", "")) + error = nh3.clean( + self.get_argument("error", "Invalid Login!") + ) # pylint: disable=no-member + error_msg = nh3.clean( + self.get_argument("error_msg", "") + ) # pylint: disable=no-member page_data = { "version": self.helper.get_version_string(), @@ -108,10 +116,11 @@ class PublicHandler(BaseHandler): if self.request.query: next_page = "/login?" + self.request.query - entered_username = nh3.clean(self.get_argument("username")) + entered_username = nh3.clean( + self.get_argument("username") + ) # pylint: disable=no-member entered_password = self.get_argument("password") - # pylint: disable=no-member try: user_id = HelperUsers.get_user_id_by_name(entered_username.lower()) user_data = HelperUsers.get_user_model(user_id) From a3236d72fd9a7e053d2909fc8744bae942ab7ebd Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 20:36:04 +0000 Subject: [PATCH 20/24] Correct nh3 no-member exemptions affected by black formatting --- app/classes/web/panel_handler.py | 20 ++++++++++---------- app/classes/web/public_handler.py | 26 +++++++++++--------------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/app/classes/web/panel_handler.py b/app/classes/web/panel_handler.py index 08dd1c85..a7e54974 100644 --- a/app/classes/web/panel_handler.py +++ b/app/classes/web/panel_handler.py @@ -80,9 +80,8 @@ class PanelHandler(BaseHandler): ) in self.controller.crafty_perms.list_defined_crafty_permissions(): argument = int( float( - nh3.clean( - self.get_argument(f"permission_{permission.name}", "0") - ) # pylint: disable=no-member + # pylint: disable=no-member + nh3.clean(self.get_argument(f"permission_{permission.name}", "0")) ) ) if argument: @@ -92,8 +91,9 @@ class PanelHandler(BaseHandler): q_argument = int( float( + # pylint: disable=no-member nh3.clean(self.get_argument(f"quantity_{permission.name}", "0")) - ) # pylint: disable=no-member + ) ) if q_argument: server_quantity[permission.name] = q_argument @@ -507,9 +507,9 @@ class PanelHandler(BaseHandler): template = "panel/dashboard.html" elif page == "server_detail": - subpage = nh3.clean( - self.get_argument("subpage", "") - ) # pylint: disable=no-member + # pylint: disable=no-member + subpage = nh3.clean(self.get_argument("subpage", "")) + # pylint: enable=no-member server_id = self.check_server_id() # load page the user was on last @@ -1368,9 +1368,9 @@ class PanelHandler(BaseHandler): template = "panel/panel_edit_user_apikeys.html" elif page == "remove_user": - user_id = nh3.clean( - self.get_argument("id", None) - ) # pylint: disable=no-member + # pylint: disable=no-member + user_id = nh3.clean(self.get_argument("id", None)) + # pylint: enable=no-member if ( not superuser diff --git a/app/classes/web/public_handler.py b/app/classes/web/public_handler.py index 101727eb..762d3fb1 100644 --- a/app/classes/web/public_handler.py +++ b/app/classes/web/public_handler.py @@ -29,12 +29,10 @@ class PublicHandler(BaseHandler): # self.clear_cookie("user_data") def get(self, page=None): - error = nh3.clean( - self.get_argument("error", "Invalid Login!") - ) # pylint: disable=no-member - error_msg = nh3.clean( - self.get_argument("error_msg", "") - ) # pylint: disable=no-member + # pylint: disable=no-member + error = nh3.clean(self.get_argument("error", "Invalid Login!")) + error_msg = nh3.clean(self.get_argument("error_msg", "")) + # pylint: enable=no-member page_data = { "version": self.helper.get_version_string(), @@ -91,12 +89,10 @@ class PublicHandler(BaseHandler): ) def post(self, page=None): - error = nh3.clean( - self.get_argument("error", "Invalid Login!") - ) # pylint: disable=no-member - error_msg = nh3.clean( - self.get_argument("error_msg", "") - ) # pylint: disable=no-member + # pylint: disable=no-member + error = nh3.clean(self.get_argument("error", "Invalid Login!")) + error_msg = nh3.clean(self.get_argument("error_msg", "")) + # pylint: enable=no-member page_data = { "version": self.helper.get_version_string(), @@ -116,10 +112,10 @@ class PublicHandler(BaseHandler): if self.request.query: next_page = "/login?" + self.request.query - entered_username = nh3.clean( - self.get_argument("username") - ) # pylint: disable=no-member + # pylint: disable=no-member + entered_username = nh3.clean(self.get_argument("username")) entered_password = self.get_argument("password") + # pylint: enable=no-member try: user_id = HelperUsers.get_user_id_by_name(entered_username.lower()) From 798a9524d7a8a08a17622e534de8948c8d7c1225 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 20:45:28 +0000 Subject: [PATCH 21/24] Update changelog !704 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6590c19..70eb4d89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ ### Refactor - Refactor subpage perm checks ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/695)) ### Bug fixes +- [`CVE-2024-1064`] Security-related fix to resolve an issue with the HTTP listener ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/704)) - Fix bukkit and downstream fork MOTD crash ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/686)) - Fix bug where invalid server Id leads to stack ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/690)) - Fix indent on public status check box ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/691)) From fdba7bb0c72a1e74965926bca53c2e5418591e86 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 21:25:55 +0000 Subject: [PATCH 22/24] Update changelog !703 --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 70eb4d89..4d93b93f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ - Refactor Forge server initialisation flow for newer versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/687)) - Remove scroll bars from player management ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/693)) - Add warning to wizard for unsupported mc ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/701)) +- Improve display for `th-TH`` characters ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) +- Improve display of white text on **wssErrors** ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) +- Improve display of white text on **Buttons** ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) ### Lang - Update `zh_CN, pl_PL, nl_BE, lv_LV, he_IL, fr_FR, de_DE, lol_EN` translations for `4.2.3` ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/696)) - New `uk_UA, tr_TR, th_TH` translations for `4.2.3` ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/696)) From f86efbd57e4c3fd4c1a1c5bec2c2cf77849d7804 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 21:44:48 +0000 Subject: [PATCH 23/24] Fix changelog !703 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d93b93f..7f1ddad3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ - Refactor Forge server initialisation flow for newer versions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/687)) - Remove scroll bars from player management ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/693)) - Add warning to wizard for unsupported mc ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/701)) -- Improve display for `th-TH`` characters ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) +- Improve display for `th-TH` characters ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) - Improve display of white text on **wssErrors** ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) - Improve display of white text on **Buttons** ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) ### Lang From 16e9124e927e6cd54505a12a515284dd2d614a83 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Fri, 2 Feb 2024 21:58:47 +0000 Subject: [PATCH 24/24] Update changelog !705 --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f1ddad3..d02386a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - Improve display for `th-TH` characters ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) - Improve display of white text on **wssErrors** ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) - Improve display of white text on **Buttons** ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/703)) +- Fix dashboard motd issue #322 ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/705)) ### Lang - Update `zh_CN, pl_PL, nl_BE, lv_LV, he_IL, fr_FR, de_DE, lol_EN` translations for `4.2.3` ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/696)) - New `uk_UA, tr_TR, th_TH` translations for `4.2.3` ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/696))