add bufferutil to resulting package.json

cleanup
This commit is contained in:
HF 2022-01-12 00:15:40 +01:00
parent 53fb0fe3c5
commit bce1cfda5a
7 changed files with 519 additions and 605 deletions

View File

@ -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 ""

View File

@ -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 ""

26
package-lock.json generated
View File

@ -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",

View File

@ -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"
}
}

View File

@ -1,4 +0,0 @@
#!/bin/bash
scp ./testmodule.py root@pixelplanet:/etc/matrix-synapse/testmodule.py
ssh root@pixelplanet 'systemctl restart matrix-synapse'

View File

@ -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

View File

@ -19,6 +19,9 @@ const basePackageValues = {
},
dependencies: {
mysql2: '',
bufferutil: '',
'utf-8-validate': '',
bufferutil: '',
},
};