From bce1cfda5a729c6256e3e4cc962618cc786e3098 Mon Sep 17 00:00:00 2001 From: HF Date: Wed, 12 Jan 2022 00:15:40 +0100 Subject: [PATCH] add bufferutil to resulting package.json cleanup --- i18n/template-ssr.pot | 125 ++--- i18n/template.pot | 818 +++++++++++++++++---------------- package-lock.json | 26 ++ package.json | 5 +- utils/synapse/deploy.sh | 4 - utils/synapse/testmodule.py | 143 ------ webpack.config.server.babel.js | 3 + 7 files changed, 519 insertions(+), 605 deletions(-) delete mode 100755 utils/synapse/deploy.sh delete mode 100644 utils/synapse/testmodule.py diff --git a/i18n/template-ssr.pot b/i18n/template-ssr.pot index 0536e5fc..e8b5e3ff 100644 --- a/i18n/template-ssr.pot +++ b/i18n/template-ssr.pot @@ -83,14 +83,6 @@ msgid "" "one (Note: you can use those links just once)" msgstr "" -#: src/ssr-components/Main.jsx:70 -msgid "PixelPlanet.fun" -msgstr "" - -#: src/ssr-components/Main.jsx:72 -msgid "Place color pixels on an map styled canvas with other players online" -msgstr "" - #: src/ssr-components/Globe.jsx:44 msgid "Double click on globe to go back." msgstr "" @@ -107,6 +99,14 @@ msgstr "" msgid "A 3D globe of our whole map" msgstr "" +#: src/ssr-components/Main.jsx:70 +msgid "PixelPlanet.fun" +msgstr "" + +#: src/ssr-components/Main.jsx:72 +msgid "Place color pixels on an map styled canvas with other players online" +msgstr "" + #: src/core/mail.js:65 #, javascript-format msgid "" @@ -218,6 +218,45 @@ msgstr "" msgid "Reset your password here" msgstr "" +#: src/routes/api/captcha.js:22 +msgid "No captcha text given" +msgstr "" + +#: src/routes/api/captcha.js:27 +msgid "No captcha id given" +msgstr "" + +#: src/routes/api/auth/register.js:61 +#: src/routes/api/captcha.js:41 +msgid "You took too long, try again." +msgstr "" + +#: src/routes/api/auth/register.js:64 +#: src/routes/api/captcha.js:47 +msgid "You failed your captcha" +msgstr "" + +#: src/routes/api/auth/register.js:67 +#: src/routes/api/captcha.js:53 +msgid "Unknown Captcha Error" +msgstr "" + +#: src/routes/api/captcha.js:60 +msgid "Server error occured" +msgstr "" + +#: src/routes/api/modtools.js:50 +msgid "You are not logged in" +msgstr "" + +#: src/routes/api/modtools.js:62 +msgid "You are not allowed to access this page" +msgstr "" + +#: src/routes/api/modtools.js:128 +msgid "Just admins can do that" +msgstr "" + #: src/utils/validation.js:18 msgid "Email can't be empty." msgstr "" @@ -266,54 +305,41 @@ msgstr "" msgid "Password must be shorter than 60 characters." msgstr "" -#: src/routes/api/captcha.js:22 -msgid "No captcha text given" +#: src/routes/api/auth/register.js:33 +msgid "No Captcha given" msgstr "" -#: src/routes/api/captcha.js:36 -msgid "You took too long, try again." -msgstr "" - -#: src/routes/api/captcha.js:42 -msgid "You failed your captcha" -msgstr "" - -#: src/routes/api/captcha.js:48 -msgid "Unknown Captcha Error" -msgstr "" - -#: src/routes/api/captcha.js:55 -msgid "Server error occured" -msgstr "" - -#: src/routes/api/modtools.js:50 -msgid "You are not logged in" -msgstr "" - -#: src/routes/api/modtools.js:62 -msgid "You are not allowed to access this page" -msgstr "" - -#: src/routes/api/modtools.js:128 -msgid "Just admins can do that" -msgstr "" - -#: src/routes/api/auth/register.js:31 +#: src/routes/api/auth/register.js:36 msgid "E-Mail already in use." msgstr "" -#: src/routes/api/auth/register.js:33 +#: src/routes/api/auth/register.js:38 msgid "Username already in use." msgstr "" -#: src/routes/api/auth/register.js:61 +#: src/routes/api/auth/register.js:91 msgid "Failed to create new user :(" msgstr "" -#: src/routes/api/auth/register.js:77 +#: src/routes/api/auth/register.js:106 msgid "Failed to establish session after register :(" msgstr "" +#: src/routes/api/auth/verify.js:25 +#: src/routes/api/auth/verify.js:32 +msgid "Mail verification" +msgstr "" + +#: src/routes/api/auth/verify.js:26 +msgid "You are now verified :)" +msgstr "" + +#: src/routes/api/auth/verify.js:32 +msgid "" +"Your mail verification code is invalid or already expired :(, please " +"request a new one." +msgstr "" + #: src/routes/api/auth/logout.js:13 msgid "You are not even logged in." msgstr "" @@ -330,21 +356,6 @@ msgstr "" msgid "Incorrect password!" msgstr "" -#: src/routes/api/auth/verify.js:25 -#: src/routes/api/auth/verify.js:32 -msgid "Mail verification" -msgstr "" - -#: src/routes/api/auth/verify.js:26 -msgid "You are now verified :)" -msgstr "" - -#: src/routes/api/auth/verify.js:32 -msgid "" -"Your mail verification code is invalid or already expired :(, please " -"request a new one." -msgstr "" - #: src/ssr-components/RedirectionPage.jsx:20 msgid "You will be automatically redirected after 15s" msgstr "" diff --git a/i18n/template.pot b/i18n/template.pot index 09f0ca24..eb5bf87a 100644 --- a/i18n/template.pot +++ b/i18n/template.pot @@ -3,48 +3,6 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -#: src/controls/keypress.js:41 -#, javascript-format -msgid "Switched to ${ canvasName }" -msgstr "" - -#: src/controls/keypress.js:64 -msgid "Grid ON" -msgstr "" - -#: src/controls/keypress.js:65 -msgid "Grid OFF" -msgstr "" - -#: src/controls/keypress.js:75 -msgid "Pixel Notify ON" -msgstr "" - -#: src/controls/keypress.js:76 -msgid "Pixel Notify OFF" -msgstr "" - -#: src/controls/keypress.js:81 -msgid "Muted Sound" -msgstr "" - -#: src/controls/keypress.js:82 -msgid "Unmuted Sound" -msgstr "" - -#: src/components/CoordinatesBox.jsx:29 -#: src/controls/keypress.js:88 -msgid "Copied!" -msgstr "" - -#: src/controls/keypress.js:94 -msgid "Show Hidden Canvases" -msgstr "" - -#: src/controls/keypress.js:95 -msgid "Hide Hidden Canvases" -msgstr "" - #: src/ui/placePixel.js:53 msgid "Error :(" msgstr "" @@ -146,6 +104,48 @@ msgstr "" msgid "Error ${ retCode }" msgstr "" +#: src/controls/keypress.js:41 +#, javascript-format +msgid "Switched to ${ canvasName }" +msgstr "" + +#: src/controls/keypress.js:64 +msgid "Grid ON" +msgstr "" + +#: src/controls/keypress.js:65 +msgid "Grid OFF" +msgstr "" + +#: src/controls/keypress.js:75 +msgid "Pixel Notify ON" +msgstr "" + +#: src/controls/keypress.js:76 +msgid "Pixel Notify OFF" +msgstr "" + +#: src/controls/keypress.js:81 +msgid "Muted Sound" +msgstr "" + +#: src/controls/keypress.js:82 +msgid "Unmuted Sound" +msgstr "" + +#: src/components/CoordinatesBox.jsx:29 +#: src/controls/keypress.js:88 +msgid "Copied!" +msgstr "" + +#: src/controls/keypress.js:94 +msgid "Show Hidden Canvases" +msgstr "" + +#: src/controls/keypress.js:95 +msgid "Hide Hidden Canvases" +msgstr "" + #: src/ui/renderer.js:36 msgid "Canvas Error" msgstr "" @@ -227,11 +227,6 @@ msgstr "" msgid "Server answered with gibberish :(" msgstr "" -#: src/components/buttons/CanvasSwitchButton.jsx:22 -#: src/components/windows/index.js:22 -msgid "Canvas Selection" -msgstr "" - #: src/components/buttons/ChatButton.jsx:92 msgid "Close Chat" msgstr "" @@ -240,6 +235,11 @@ msgstr "" msgid "Open Chat" msgstr "" +#: src/components/buttons/CanvasSwitchButton.jsx:22 +#: src/components/windows/index.js:22 +msgid "Canvas Selection" +msgstr "" + #: src/components/buttons/ExpandMenuButton.jsx:23 msgid "Close Menu" msgstr "" @@ -256,6 +256,22 @@ msgstr "" msgid "Select Date above" msgstr "" +#: src/components/Window.jsx:117 +msgid "Clone" +msgstr "" + +#: src/components/Window.jsx:124 +msgid "Move" +msgstr "" + +#: src/components/Window.jsx:131 +msgid "Maximize" +msgstr "" + +#: src/components/Window.jsx:145 +msgid "Resize" +msgstr "" + #: src/components/buttons/HelpButton.jsx:23 #: src/components/windows/index.js:16 msgid "Help" @@ -275,20 +291,8 @@ msgstr "" msgid "Make Screenshot" msgstr "" -#: src/components/Window.jsx:117 -msgid "Clone" -msgstr "" - -#: src/components/Window.jsx:124 -msgid "Move" -msgstr "" - -#: src/components/Window.jsx:131 -msgid "Maximize" -msgstr "" - -#: src/components/Window.jsx:145 -msgid "Resize" +#: src/components/buttons/GlobeButton.jsx:35 +msgid "Globe View" msgstr "" #: src/components/buttons/PalselButton.jsx:31 @@ -299,14 +303,6 @@ msgstr "" msgid "Open Palette" msgstr "" -#: src/components/buttons/GlobeButton.jsx:35 -msgid "Globe View" -msgstr "" - -#: src/components/contextmenus/ChannelContextMenu.jsx:55 -msgid "Mute" -msgstr "" - #: src/components/contextmenus/UserContextMenu.jsx:53 msgid "Ping" msgstr "" @@ -319,6 +315,10 @@ msgstr "" msgid "Block" msgstr "" +#: src/components/contextmenus/ChannelContextMenu.jsx:55 +msgid "Mute" +msgstr "" + #: src/components/windows/index.js:19 msgid "Registration" msgstr "" @@ -335,274 +335,32 @@ msgstr "" msgid "Canvas Archive" msgstr "" -#: src/components/Captcha.jsx:43 +#: src/components/Captcha.jsx:69 #: src/components/ChangeMail.jsx:72 #: src/components/ChangeName.jsx:58 #: src/components/ChangePassword.jsx:80 #: src/components/DeleteAccount.jsx:55 +#: src/components/GlobalCaptcha.jsx:38 #: src/components/LogInForm.jsx:69 #: src/components/windows/ForgotPassword.jsx:75 -#: src/components/windows/Register.jsx:83 +#: src/components/windows/Register.jsx:87 msgid "Error" msgstr "" -#: src/components/Captcha.jsx:47 -msgid "Type the characters from the following image:" -msgstr "" - -#: src/components/Captcha.jsx:50 -msgid "Tip: Not case-sensitive; I and l are the same" -msgstr "" - -#: src/components/Captcha.jsx:74 -msgid "Could not load captcha" -msgstr "" - -#: src/components/Captcha.jsx:78 -msgid "Can't read? Reload:" -msgstr "" - -#: src/components/Captcha.jsx:82 -msgid "Reload" -msgstr "" - -#: src/components/Captcha.jsx:94 -msgid "Enter Characters" -msgstr "" - -#: src/components/Captcha.jsx:120 #: src/components/ChangeMail.jsx:93 #: src/components/ChangeName.jsx:70 #: src/components/ChangePassword.jsx:116 #: src/components/DeleteAccount.jsx:68 +#: src/components/GlobalCaptcha.jsx:48 #: src/components/windows/ForgotPassword.jsx:88 -#: src/components/windows/Register.jsx:125 +#: src/components/windows/Register.jsx:131 msgid "Cancel" msgstr "" -#: src/components/Captcha.jsx:127 +#: src/components/GlobalCaptcha.jsx:55 msgid "Send" msgstr "" -#: src/components/windows/Register.jsx:81 -msgid "Register new account here" -msgstr "" - -#: src/components/windows/Register.jsx:92 -msgid "Name" -msgstr "" - -#: src/components/windows/ForgotPassword.jsx:82 -#: src/components/windows/Register.jsx:100 -msgid "Email" -msgstr "" - -#: src/components/ChangeMail.jsx:80 -#: src/components/DeleteAccount.jsx:62 -#: src/components/LogInForm.jsx:83 -#: src/components/windows/Register.jsx:108 -msgid "Password" -msgstr "" - -#: src/components/windows/Register.jsx:116 -msgid "Confirm Password" -msgstr "" - -#: src/components/Modtools.jsx:311 -#: src/components/Modtools.jsx:392 -#: src/components/Modtools.jsx:467 -#: src/components/Modtools.jsx:512 -#: src/components/Modtools.jsx:595 -#: src/components/windows/ForgotPassword.jsx:86 -#: src/components/windows/Register.jsx:119 -msgid "Submit" -msgstr "" - -#: src/components/windows/Settings.jsx:133 -msgid "Show Grid" -msgstr "" - -#: src/components/windows/Settings.jsx:138 -msgid "Turn on grid to highlight pixel borders." -msgstr "" - -#: src/components/windows/Settings.jsx:141 -msgid "Show Pixel Activity" -msgstr "" - -#: src/components/windows/Settings.jsx:146 -msgid "Show circles where pixels are placed." -msgstr "" - -#: src/components/windows/Settings.jsx:149 -msgid "Disable Game Sounds" -msgstr "" - -#: src/components/windows/Settings.jsx:155 -msgid "All sound effects will be disabled." -msgstr "" - -#: src/components/windows/Settings.jsx:159 -msgid "" -"Your Browser doesn't allow us to use AudioContext to play sounds. Do you " -"have some privacy feature blocking us?" -msgstr "" - -#: src/components/windows/Settings.jsx:165 -msgid "Enable chat notifications" -msgstr "" - -#: src/components/windows/Settings.jsx:169 -msgid "Play a sound when new chat messages arrive" -msgstr "" - -#: src/components/windows/Settings.jsx:172 -msgid "Auto Zoom In" -msgstr "" - -#: src/components/windows/Settings.jsx:177 -msgid "" -"Zoom in instead of placing a pixel when you tap the canvas and your zoom is " -"small." -msgstr "" - -#: src/components/windows/Settings.jsx:180 -msgid "Compact Palette" -msgstr "" - -#: src/components/windows/Settings.jsx:185 -msgid "Display Palette in a compact form that takes less screen space." -msgstr "" - -#: src/components/windows/Settings.jsx:188 -msgid "Potato Mode" -msgstr "" - -#: src/components/windows/Settings.jsx:192 -msgid "For when you are playing on a potato." -msgstr "" - -#: src/components/Converter.jsx:374 -#: src/components/windows/Settings.jsx:195 -msgid "Light Grid" -msgstr "" - -#: src/components/windows/Settings.jsx:199 -msgid "Show Grid in white instead of black." -msgstr "" - -#: src/components/windows/Settings.jsx:203 -msgid "Historical View" -msgstr "" - -#: src/components/windows/Settings.jsx:208 -msgid "Check out past versions of the canvas." -msgstr "" - -#: src/components/windows/Settings.jsx:213 -msgid "Themes" -msgstr "" - -#: src/components/windows/Settings.jsx:218 -msgid "How pixelplanet should look like." -msgstr "" - -#: src/components/windows/Settings.jsx:225 -msgid "Select Language" -msgstr "" - -#: src/components/windows/CanvasSelect.jsx:33 -msgid "" -"Select the canvas you want to use. Every canvas is unique and has " -"different palettes, cooldown and requirements. Archive of closed canvases " -"can be accessed here:" -msgstr "" - -#: src/components/windows/CanvasSelect.jsx:41 -msgid "Archive" -msgstr "" - -#: src/components/windows/Chat.jsx:146 -msgid "Channel settings" -msgstr "" - -#: src/components/windows/Chat.jsx:161 -msgid "Start chatting here" -msgstr "" - -#: src/components/windows/Chat.jsx:198 -msgid "Chat here" -msgstr "" - -#: src/components/windows/Chat.jsx:221 -msgid "You must be logged in to chat" -msgstr "" - -#: src/components/windows/Archive.jsx:20 -msgid "" -"While we tend to not delete canvases, some canvases are started for fun or " -"as a request by users who currently like a meme. Those canvases can get " -"boring after a while and after weeks of no major change and if they really " -"aren't worth being kept active, we decide to remove them." -msgstr "" - -#: src/components/windows/Archive.jsx:22 -msgid "" -"Here we collect those canvases to archive them in a proper way (which is " -"currently just one)." -msgstr "" - -#: src/components/windows/Archive.jsx:24 -msgid "Political Compass Canvas" -msgstr "" - -#: src/components/windows/Archive.jsx:31 -msgid "" -"This canvas got requested during a time of political conflicts on the main " -"Earth canvas. It was a 1024x1024 representation of the political compass " -"with a 5s cooldown and 60s stacking. It got launched on May 11th and " -"remained active for months till it got shut down on November 30th." -msgstr "" - -#: src/components/windows/Archive.jsx:32 -msgid "" -"We decided to archive it as a timelapse with lossless encoded webm. Taking " -"a screenshot from the timelapse results in a perfect 1:1 representation of " -"how the canvas was at that time." -msgstr "" - -#: src/components/windows/ForgotPassword.jsx:60 -msgid "Sent you a mail with instructions to reset your password." -msgstr "" - -#: src/components/windows/ForgotPassword.jsx:71 -msgid "Enter your mail address and we will send you a new password:" -msgstr "" - -#: src/components/windows/UserArea.jsx:27 -msgid "Profile" -msgstr "" - -#: src/components/windows/UserArea.jsx:30 -msgid "Ranking" -msgstr "" - -#: src/components/windows/UserArea.jsx:33 -msgid "Converter" -msgstr "" - -#: src/components/windows/UserArea.jsx:39 -msgid "Modtools" -msgstr "" - -#: src/components/windows/UserArea.jsx:40 -msgid "Loading..." -msgstr "" - -#: src/components/windows/UserArea.jsx:47 -msgid "Consider joining us on Guilded:" -msgstr "" - #: src/components/windows/Help.jsx:36 msgid "your IP" msgstr "" @@ -780,6 +538,266 @@ msgstr "" msgid "Credit for the Palette of the Top10 canvas goes to ${ vinikLink }." msgstr "" +#: src/components/windows/UserArea.jsx:27 +msgid "Profile" +msgstr "" + +#: src/components/windows/UserArea.jsx:30 +msgid "Ranking" +msgstr "" + +#: src/components/windows/UserArea.jsx:33 +msgid "Converter" +msgstr "" + +#: src/components/windows/UserArea.jsx:39 +msgid "Modtools" +msgstr "" + +#: src/components/windows/UserArea.jsx:40 +msgid "Loading..." +msgstr "" + +#: src/components/windows/UserArea.jsx:47 +msgid "Consider joining us on Guilded:" +msgstr "" + +#: src/components/windows/Settings.jsx:133 +msgid "Show Grid" +msgstr "" + +#: src/components/windows/Settings.jsx:138 +msgid "Turn on grid to highlight pixel borders." +msgstr "" + +#: src/components/windows/Settings.jsx:141 +msgid "Show Pixel Activity" +msgstr "" + +#: src/components/windows/Settings.jsx:146 +msgid "Show circles where pixels are placed." +msgstr "" + +#: src/components/windows/Settings.jsx:149 +msgid "Disable Game Sounds" +msgstr "" + +#: src/components/windows/Settings.jsx:155 +msgid "All sound effects will be disabled." +msgstr "" + +#: src/components/windows/Settings.jsx:159 +msgid "" +"Your Browser doesn't allow us to use AudioContext to play sounds. Do you " +"have some privacy feature blocking us?" +msgstr "" + +#: src/components/windows/Settings.jsx:165 +msgid "Enable chat notifications" +msgstr "" + +#: src/components/windows/Settings.jsx:169 +msgid "Play a sound when new chat messages arrive" +msgstr "" + +#: src/components/windows/Settings.jsx:172 +msgid "Auto Zoom In" +msgstr "" + +#: src/components/windows/Settings.jsx:177 +msgid "" +"Zoom in instead of placing a pixel when you tap the canvas and your zoom is " +"small." +msgstr "" + +#: src/components/windows/Settings.jsx:180 +msgid "Compact Palette" +msgstr "" + +#: src/components/windows/Settings.jsx:185 +msgid "Display Palette in a compact form that takes less screen space." +msgstr "" + +#: src/components/windows/Settings.jsx:188 +msgid "Potato Mode" +msgstr "" + +#: src/components/windows/Settings.jsx:192 +msgid "For when you are playing on a potato." +msgstr "" + +#: src/components/Converter.jsx:374 +#: src/components/windows/Settings.jsx:195 +msgid "Light Grid" +msgstr "" + +#: src/components/windows/Settings.jsx:199 +msgid "Show Grid in white instead of black." +msgstr "" + +#: src/components/windows/Settings.jsx:203 +msgid "Historical View" +msgstr "" + +#: src/components/windows/Settings.jsx:208 +msgid "Check out past versions of the canvas." +msgstr "" + +#: src/components/windows/Settings.jsx:213 +msgid "Themes" +msgstr "" + +#: src/components/windows/Settings.jsx:218 +msgid "How pixelplanet should look like." +msgstr "" + +#: src/components/windows/Settings.jsx:225 +msgid "Select Language" +msgstr "" + +#: src/components/windows/Register.jsx:85 +msgid "Register new account here" +msgstr "" + +#: src/components/windows/Register.jsx:90 +#: src/components/windows/Register.jsx:96 +msgid "Name" +msgstr "" + +#: src/components/windows/ForgotPassword.jsx:82 +#: src/components/windows/Register.jsx:98 +#: src/components/windows/Register.jsx:104 +msgid "Email" +msgstr "" + +#: src/components/ChangeMail.jsx:80 +#: src/components/DeleteAccount.jsx:62 +#: src/components/LogInForm.jsx:83 +#: src/components/windows/Register.jsx:106 +#: src/components/windows/Register.jsx:112 +msgid "Password" +msgstr "" + +#: src/components/windows/Register.jsx:114 +#: src/components/windows/Register.jsx:120 +msgid "Confirm Password" +msgstr "" + +#: src/components/windows/Register.jsx:122 +msgid "Captcha" +msgstr "" + +#: src/components/Modtools.jsx:311 +#: src/components/Modtools.jsx:392 +#: src/components/Modtools.jsx:467 +#: src/components/Modtools.jsx:512 +#: src/components/Modtools.jsx:595 +#: src/components/windows/ForgotPassword.jsx:86 +#: src/components/windows/Register.jsx:125 +msgid "Submit" +msgstr "" + +#: src/components/windows/CanvasSelect.jsx:33 +msgid "" +"Select the canvas you want to use. Every canvas is unique and has " +"different palettes, cooldown and requirements. Archive of closed canvases " +"can be accessed here:" +msgstr "" + +#: src/components/windows/CanvasSelect.jsx:41 +msgid "Archive" +msgstr "" + +#: src/components/windows/Archive.jsx:20 +msgid "" +"While we tend to not delete canvases, some canvases are started for fun or " +"as a request by users who currently like a meme. Those canvases can get " +"boring after a while and after weeks of no major change and if they really " +"aren't worth being kept active, we decide to remove them." +msgstr "" + +#: src/components/windows/Archive.jsx:22 +msgid "" +"Here we collect those canvases to archive them in a proper way (which is " +"currently just one)." +msgstr "" + +#: src/components/windows/Archive.jsx:24 +msgid "Political Compass Canvas" +msgstr "" + +#: src/components/windows/Archive.jsx:31 +msgid "" +"This canvas got requested during a time of political conflicts on the main " +"Earth canvas. It was a 1024x1024 representation of the political compass " +"with a 5s cooldown and 60s stacking. It got launched on May 11th and " +"remained active for months till it got shut down on November 30th." +msgstr "" + +#: src/components/windows/Archive.jsx:32 +msgid "" +"We decided to archive it as a timelapse with lossless encoded webm. Taking " +"a screenshot from the timelapse results in a perfect 1:1 representation of " +"how the canvas was at that time." +msgstr "" + +#: src/components/windows/Chat.jsx:146 +msgid "Channel settings" +msgstr "" + +#: src/components/windows/Chat.jsx:161 +msgid "Start chatting here" +msgstr "" + +#: src/components/windows/Chat.jsx:198 +msgid "Chat here" +msgstr "" + +#: src/components/windows/Chat.jsx:221 +msgid "You must be logged in to chat" +msgstr "" + +#: src/components/windows/ForgotPassword.jsx:60 +msgid "Sent you a mail with instructions to reset your password." +msgstr "" + +#: src/components/windows/ForgotPassword.jsx:71 +msgid "Enter your mail address and we will send you a new password:" +msgstr "" + +#: src/components/Captcha.jsx:42 +#: src/components/Captcha.jsx:105 +msgid "Could not load captcha" +msgstr "" + +#: src/components/Captcha.jsx:60 +msgid "Type the characters from the following image:" +msgstr "" + +#: src/components/Captcha.jsx:63 +msgid "Tip: Not case-sensitive; I and l are the same" +msgstr "" + +#: src/components/Captcha.jsx:113 +msgid "Load Captcha" +msgstr "" + +#: src/components/Captcha.jsx:118 +msgid "Click to Load Captcha" +msgstr "" + +#: src/components/Captcha.jsx:124 +msgid "Can't read? Reload:" +msgstr "" + +#: src/components/Captcha.jsx:128 +msgid "Reload" +msgstr "" + +#: src/components/Captcha.jsx:138 +msgid "Enter Characters" +msgstr "" + #: src/utils/validation.js:18 msgid "Email can't be empty." msgstr "" @@ -828,56 +846,28 @@ msgstr "" msgid "Password must be shorter than 60 characters." msgstr "" -#: src/components/ChangeMail.jsx:91 -#: src/components/ChangeName.jsx:68 -#: src/components/ChangePassword.jsx:110 -#: src/components/LanguageSelect.jsx:73 -msgid "Save" +#: src/components/LogInArea.jsx:21 +msgid "Login to access more features and stats." msgstr "" -#: src/components/CanvasItem.jsx:30 -msgid "Online Users" +#: src/components/LogInArea.jsx:23 +msgid "Login with Name or Mail:" msgstr "" -#: src/components/CanvasItem.jsx:35 -msgid "Cooldown" +#: src/components/LogInArea.jsx:30 +msgid "I forgot my Password." msgstr "" -#: src/components/CanvasItem.jsx:41 -msgid "Stacking till" +#: src/components/LogInArea.jsx:31 +msgid "or login with:" msgstr "" -#: src/components/CanvasItem.jsx:43 -msgid "Ranked" +#: src/components/LogInArea.jsx:72 +msgid "or register here:" msgstr "" -#: src/components/CanvasItem.jsx:45 -msgid "Yes" -msgstr "" - -#: src/components/CanvasItem.jsx:45 -msgid "No" -msgstr "" - -#: src/components/CanvasItem.jsx:51 -msgid "Requirements" -msgstr "" - -#: src/components/CanvasItem.jsx:54 -msgid "User Account" -msgstr "" - -#: src/components/CanvasItem.jsx:56 -#, javascript-format -msgid "and ${ canvas.req } Pixels set" -msgstr "" - -#: src/components/CanvasItem.jsx:59 -msgid "Top 10 Daily Ranking" -msgstr "" - -#: src/components/CanvasItem.jsx:65 -msgid "Dimensions" +#: src/components/LogInArea.jsx:79 +msgid "Register" msgstr "" #: src/components/UserAreaContent.jsx:63 @@ -1093,28 +1083,64 @@ msgstr "" msgid "Download Template" msgstr "" -#: src/components/LogInArea.jsx:21 -msgid "Login to access more features and stats." +#: src/components/ChangeMail.jsx:91 +#: src/components/ChangeName.jsx:68 +#: src/components/ChangePassword.jsx:110 +#: src/components/LanguageSelect.jsx:73 +msgid "Save" msgstr "" -#: src/components/LogInArea.jsx:23 -msgid "Login with Name or Mail:" +#: src/components/CanvasItem.jsx:30 +msgid "Online Users" msgstr "" -#: src/components/LogInArea.jsx:30 -msgid "I forgot my Password." +#: src/components/CanvasItem.jsx:35 +msgid "Cooldown" msgstr "" -#: src/components/LogInArea.jsx:31 -msgid "or login with:" +#: src/components/CanvasItem.jsx:41 +msgid "Stacking till" msgstr "" -#: src/components/LogInArea.jsx:72 -msgid "or register here:" +#: src/components/CanvasItem.jsx:43 +msgid "Ranked" msgstr "" -#: src/components/LogInArea.jsx:79 -msgid "Register" +#: src/components/CanvasItem.jsx:45 +msgid "Yes" +msgstr "" + +#: src/components/CanvasItem.jsx:45 +msgid "No" +msgstr "" + +#: src/components/CanvasItem.jsx:51 +msgid "Requirements" +msgstr "" + +#: src/components/CanvasItem.jsx:54 +msgid "User Account" +msgstr "" + +#: src/components/CanvasItem.jsx:56 +#, javascript-format +msgid "and ${ canvas.req } Pixels set" +msgstr "" + +#: src/components/CanvasItem.jsx:59 +msgid "Top 10 Daily Ranking" +msgstr "" + +#: src/components/CanvasItem.jsx:65 +msgid "Dimensions" +msgstr "" + +#: src/components/LogInForm.jsx:76 +msgid "Name or Email" +msgstr "" + +#: src/components/LogInForm.jsx:87 +msgid "LogIn" msgstr "" #: src/components/ChangePassword.jsx:22 @@ -1137,6 +1163,24 @@ msgstr "" msgid "Confirm New Password" msgstr "" +#: src/components/UserMessages.jsx:28 +msgid "" +"Please verify your mail address \n" +"or your account could get deleted after a few days." +msgstr "" + +#: src/components/UserMessages.jsx:49 +msgid "A new verification mail is getting sent to you." +msgstr "" + +#: src/components/UserMessages.jsx:53 +msgid "Click here to request a new verification mail." +msgstr "" + +#: src/components/ChangeName.jsx:64 +msgid "New Username" +msgstr "" + #: src/components/ChangeMail.jsx:59 msgid "" "Changed Mail successfully. We sent you a verification mail, " @@ -1163,32 +1207,6 @@ msgstr "" msgid "You have no users blocked" msgstr "" -#: src/components/UserMessages.jsx:28 -msgid "" -"Please verify your mail address \n" -"or your account could get deleted after a few days." -msgstr "" - -#: src/components/UserMessages.jsx:49 -msgid "A new verification mail is getting sent to you." -msgstr "" - -#: src/components/UserMessages.jsx:53 -msgid "Click here to request a new verification mail." -msgstr "" - -#: src/components/ChangeName.jsx:64 -msgid "New Username" -msgstr "" - -#: src/components/LogInForm.jsx:76 -msgid "Name or Email" -msgstr "" - -#: src/components/LogInForm.jsx:87 -msgid "LogIn" -msgstr "" - #: src/components/windows/Help.jsx:14 #: src/components/windows/Settings.jsx:134 msgctxt "keybinds" @@ -1201,11 +1219,6 @@ msgctxt "keybinds" msgid "X" msgstr "" -#: src/components/windows/Settings.jsx:150 -msgctxt "keybinds" -msgid "M" -msgstr "" - #: src/components/windows/Help.jsx:16 #: src/components/windows/Settings.jsx:205 msgctxt "keybinds" @@ -1255,4 +1268,9 @@ msgstr "" #: src/components/windows/Help.jsx:31 msgctxt "keybinds" msgid "C" +msgstr "" + +#: src/components/windows/Settings.jsx:150 +msgctxt "keybinds" +msgid "M" msgstr "" \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1e69522c..826fe3f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -58,6 +58,7 @@ "ttag": "^1.7.24", "ttag-po-loader": "0.0.2", "url-search-params-polyfill": "^8.1.1", + "utf-8-validate": "*", "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.5", "ws": "^8.4.0" @@ -99,6 +100,9 @@ "engines": { "node": ">=10.16.0", "npm": ">=6.13.4" + }, + "optionalDependencies": { + "utf-8-validate": "^5.0.8" } }, "node_modules/@babel/cli": { @@ -10283,6 +10287,19 @@ "resolved": "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-8.1.1.tgz", "integrity": "sha512-KmkCs6SjE6t4ihrfW9JelAPQIIIFbJweaaSLTh/4AO+c58JlDcb+GbdPt8yr5lRcFg4rPswRFRRhBGpWwh0K/Q==" }, + "node_modules/utf-8-validate": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz", + "integrity": "sha512-k4dW/Qja1BYDl2qD4tOMB9PFVha/UJtxTc1cXYOe3WwA/2m0Yn4qB7wLMpJyLJ/7DR0XnTut3HsCSzDT4ZvKgA==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">=6.14.2" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -18580,6 +18597,15 @@ "resolved": "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-8.1.1.tgz", "integrity": "sha512-KmkCs6SjE6t4ihrfW9JelAPQIIIFbJweaaSLTh/4AO+c58JlDcb+GbdPt8yr5lRcFg4rPswRFRRhBGpWwh0K/Q==" }, + "utf-8-validate": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.8.tgz", + "integrity": "sha512-k4dW/Qja1BYDl2qD4tOMB9PFVha/UJtxTc1cXYOe3WwA/2m0Yn4qB7wLMpJyLJ/7DR0XnTut3HsCSzDT4ZvKgA==", + "optional": true, + "requires": { + "node-gyp-build": "^4.3.0" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/package.json b/package.json index 7ea88b5c..8cd65a2a 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "dependencies": { "bcrypt": "^5.0.1", "bluebird": "^3.5.0", - "bufferutil": "^4.0.6", "compression": "^1.7.3", "connect-redis": "^6.0.0", "cookie": "^0.4.1", @@ -110,5 +109,9 @@ "webpack-bundle-analyzer": "^4.5.0", "webpack-cli": "^4.9.1", "webpack-node-externals": "^3.0.0" + }, + "optionalDependencies": { + "utf-8-validate": "^5.0.8", + "bufferutil": "^4.0.6" } } diff --git a/utils/synapse/deploy.sh b/utils/synapse/deploy.sh deleted file mode 100755 index 652a1c02..00000000 --- a/utils/synapse/deploy.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -scp ./testmodule.py root@pixelplanet:/etc/matrix-synapse/testmodule.py -ssh root@pixelplanet 'systemctl restart matrix-synapse' diff --git a/utils/synapse/testmodule.py b/utils/synapse/testmodule.py deleted file mode 100644 index d0a5fb03..00000000 --- a/utils/synapse/testmodule.py +++ /dev/null @@ -1,143 +0,0 @@ -# -# Python3 Module for matrix-synapse -# - -from typing import Awaitable, Callable, Optional, Tuple -import logging - -import synapse -from synapse import module_api - -logger = logging.getLogger(__name__) - - -class MyAuthProvider: - def __init__(self, config: dict, api: module_api): - self.api = api - if 'ppfunurl' not in config: - raise Exception('Pixelplanet ppfunurl not configured') - self.ppfunurl = config["ppfunurl"] - if 'apisocketkey' not in config: - raise Exception('Pixelplanet apisocketkey not configured') - self.apisocketkey = config["apisocketkey"] - - self.credentials = { - "bob": "building", - "@scoop:matrix.org": "digging", - } - - api.register_password_auth_provider_callbacks( - check_3pid_auth = self.check_3pid_pass, - auth_checkers = { - ("m.login.password", ("password",)): self.check_pass, - }, - ) - - async def check_credentials( - self, - query, - ) -> Optional[ - Tuple[ - int, - str, - Optional[str] - ] - ]: - try: - resp = await self.api.http_client.post_json_get_json( - self.ppfunurl + '/adminapi/checklogin', - query, - [[ "authorization", ['Bearer ' + self.apisocketkey] ]], - ) - if not resp["success"]: - raise Exception(resp["errors"][0]) - userdata = resp['userdata'] - if not userdata['verified']: - raise Exception('User is not mail verified'); - return (userdata['id'], userdata['name'], userdata['email']) - except Exception as e: - logger.warning('Could not login via ppfun: %s', e) - return None - - async def login( - self, - ppfun_id, - ppfun_name, - ppfun_email, - ) -> Optional[ - Tuple[ - str, - Optional[Callable[["synapse.module_api.LoginResponse"], Awaitable[None]]], - ] - ]: - localpart = f'pp_{ppfun_id}' - user_id = self.api.get_qualified_user_id(localpart) - logger.info('check if user %s exists', user_id) - does_exist = await self.api.check_user_exists(user_id) - if does_exist is None: - logger.info('User %s does not exist yet, registering new user', user_id) - emails = None - if ppfun_email: - emails = [ppfun_email] - try: - user_id = await self.api.register_user(localpart, ppfun_name, emails) - except Exception as e: - logger.warning('Could not create user %s, because %s', user_id, e) - return None - logger.info('User %s logged in via ppfun %s', user_id, ppfun_name) - return user_id, None - - async def check_3pid_pass( - self, - medium: str, - address: str, - password: str, - ) -> Optional[ - Tuple[ - str, - Optional[Callable[["synapse.module_api.LoginResponse"], Awaitable[None]]], - ] - ]: - if medium != "email" or not address: - return None - ppfun_userdata = await self.check_credentials({ - "email": address, - "password": password - }) - if ppfun_userdata is not None: - logger.info('User %s logging in with ppfun credentials', ppfun_userdata) - ret = await self.login(*ppfun_userdata) - return ret - return None - - async def check_pass( - self, - username: str, - login_type: str, - login_dict: "synapse.module_api.JsonDict", - ) -> Optional[ - Tuple[ - str, - Optional[Callable[["synapse.module_api.LoginResponse"], Awaitable[None]]], - ] - ]: - if login_type != "m.login.password": - return None - - query = { - "password": login_dict.get('password') - } - if username.startswith('@pp_'): - query['id'] = username[4: username.index(':')] - elif username.startswith('pp_') and username.endswith(f':{self.api._server_name}'): - query['id'] = username[3: username.index(':')] - else: - query['name'] = username - - ppfun_userdata = await self.check_credentials(query) - - if ppfun_userdata is not None: - logger.info('User %s logging in with ppfun credentials', ppfun_userdata) - ret = await self.login(*ppfun_userdata) - return ret - return None diff --git a/webpack.config.server.babel.js b/webpack.config.server.babel.js index c0803f11..005ee3ac 100644 --- a/webpack.config.server.babel.js +++ b/webpack.config.server.babel.js @@ -19,6 +19,9 @@ const basePackageValues = { }, dependencies: { mysql2: '', + bufferutil: '', + 'utf-8-validate': '', + bufferutil: '', }, };