diff options
author | The Arcane Brony <myrainbowdash949@gmail.com> | 2021-10-20 17:54:54 +0200 |
---|---|---|
committer | The Arcane Brony <myrainbowdash949@gmail.com> | 2021-11-11 22:24:03 +0100 |
commit | d57cd783ac664c95c5d915d9399033c671c1bfbb (patch) | |
tree | a96c31d20bd047c0d080bd1ea702f86e1a41d7e3 | |
parent | Merge pull request #496 from fosscord/translation (diff) | |
download | server-d57cd783ac664c95c5d915d9399033c671c1bfbb.tar.xz |
Add plugin & css support, add styling to differentiate from discord.com
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | api/assets/autoRegister.js | 57 | ||||
-rw-r--r-- | api/assets/preload-plugins/autoRegister.js | 62 | ||||
-rw-r--r-- | api/client_test/index.html | 27 | ||||
-rw-r--r-- | bundle/scripts/build.js | 84 |
5 files changed, 132 insertions, 100 deletions
diff --git a/.gitignore b/.gitignore index 6e6de8d2..ca5886e1 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,5 @@ tsconfig.tsbuildinfo files/ .env config.json + +.vscode/settings.json diff --git a/api/assets/autoRegister.js b/api/assets/autoRegister.js deleted file mode 100644 index 29f93370..00000000 --- a/api/assets/autoRegister.js +++ /dev/null @@ -1,57 +0,0 @@ - // Auto register guest account: - const prefix = [ - "mysterious", - "adventurous", - "courageous", - "precious", - "cynical", - "despicable", - "suspicious", - "gorgeous", - "lovely", - "stunning", - "based", - "keyed", - "ratioed", - "twink", - "phoned" - ]; - const suffix = [ - "Anonymous", - "Lurker", - "User", - "Enjoyer", - "Hunk", - "Top", - "Bottom", - "Sub", - "Coolstar", - "Wrestling", - "TylerTheCreator", - "Ad" - ]; - - Array.prototype.random = function () { - return this[Math.floor(Math.random() * this.length)]; - }; - - function _generateName() { - return `${prefix.random()}${suffix.random()}`; - } - - const token = JSON.parse(localStorage.getItem("token")); - if (!token && location.pathname !== "/login" && location.pathname !== "/register") { - fetch(`${window.GLOBAL_ENV.API_ENDPOINT}/auth/register`, { - method: "POST", - headers: { "content-type": "application/json" }, - body: JSON.stringify({ username: `${_generateName()}`, consent: true }) //${Date.now().toString().slice(-4)} - }) - .then((x) => x.json()) - .then((x) => { - localStorage.setItem("token", `"${x.token}"`); - if (!window.localStorage) { - // client already loaded -> need to reload to apply the newly registered user token - location.reload(); - } - }); - } diff --git a/api/assets/preload-plugins/autoRegister.js b/api/assets/preload-plugins/autoRegister.js new file mode 100644 index 00000000..bb0b903d --- /dev/null +++ b/api/assets/preload-plugins/autoRegister.js @@ -0,0 +1,62 @@ +// Auto register guest account: +const prefix = [ + "mysterious", + "adventurous", + "courageous", + "precious", + "cynical", + "flamer ", + "despicable", + "suspicious", + "gorgeous", + "impeccable", + "lovely", + "stunning", + "keyed", + "phoned", + "glorious", + "amazing", + "strange", + "arcane" +]; +const suffix = [ + "Anonymous", + "Boy", + "Lurker", + "Keyhitter", + "User", + "Enjoyer", + "Hunk", + "Coolstar", + "Wrestling", + "TylerTheCreator", + "Ad", + "Gamer", + "Games", + "Programmer" +]; + +Array.prototype.random = function () { + return this[Math.floor(Math.random() * this.length)]; +}; + +function _generateName() { + return `${prefix.random()}${suffix.random()}`; +} + +var token = JSON.parse(localStorage.getItem("token")); +if (!token && location.pathname !== "/login" && location.pathname !== "/register") { + fetch(`${window.GLOBAL_ENV.API_ENDPOINT}/auth/register`, { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ username: `${_generateName()}`, consent: true }) //${Date.now().toString().slice(-4)} + }) + .then((x) => x.json()) + .then((x) => { + localStorage.setItem("token", `"${x.token}"`); + if (!window.localStorage) { + // client already loaded -> need to reload to apply the newly registered user token + location.reload(); + } + }); +} diff --git a/api/client_test/index.html b/api/client_test/index.html index 92499034..2ff0b469 100644 --- a/api/client_test/index.html +++ b/api/client_test/index.html @@ -4,6 +4,10 @@ <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Discord Test Client</title> + <link rel="stylesheet" href="/assets/fosscord.css"/> + <link id="logincss" rel="stylesheet" href="/assets/fosscord-login.css"/> + <link id="customcss" rel="stylesheet" href="/assets/user.css"/> + <!-- preload plugin marker --> </head> <body> @@ -38,12 +42,33 @@ ALGOLIA_KEY: "aca0d7082e4e63af5ba5917d5e96bed0" }; GLOBAL_ENV.MEDIA_PROXY_ENDPOINT = location.protocol + "//" + GLOBAL_ENV.CDN_HOST; + const localStorage = window.localStorage; + // TODO: remote auth + // window.GLOBAL_ENV.REMOTE_AUTH_ENDPOINT = window.GLOBAL_ENV.GATEWAY_ENDPOINT.replace(/wss?:/, ""); + localStorage.setItem("gatewayURL", window.GLOBAL_ENV.GATEWAY_ENDPOINT); + localStorage.setItem( + "DeveloperOptionsStore", + `{"trace":false,"canary":false,"logGatewayEvents":true,"logOverlayEvents":true,"logAnalyticsEvents":true,"sourceMapsEnabled":false,"axeEnabled":false}` + ); + + + const token = JSON.parse(localStorage.getItem("token")); + if(token) { + document.querySelector("#logincss").remove(); + } + + const settings = JSON.parse(localStorage.getItem("UserSettingsStore")); + if (settings && settings.locale.length <= 2) { + // fix client locale wrong and client not loading at all + settings.locale = "en-US"; + localStorage.setItem("UserSettingsStore", JSON.stringify(settings)); + } </script> - <script src="/assets/autoRegister.js"></script> <script src="/assets/checkLocale.js"></script> <script src="/assets/479a2f1e7d625dc134b9.js"></script> <script src="/assets/a15fd133a1d2d77a2424.js"></script> <script src="/assets/97e6fa22aa08ee4daa5e.js"></script> <script src="/assets/9b2b7f0632acd0c5e781.js"></script> + <!-- plugin marker --> </body> </html> diff --git a/bundle/scripts/build.js b/bundle/scripts/build.js index affd7892..c00c2eaa 100644 --- a/bundle/scripts/build.js +++ b/bundle/scripts/build.js @@ -9,57 +9,57 @@ const dirs = ["api", "util", "cdn", "gateway", "bundle"]; const verbose = argv.includes("verbose") || argv.includes("v"); if (argv.includes("clean")) { - dirs.forEach((a) => { - var d = "../" + a + "/dist"; - if (fse.existsSync(d)) { - fse.rmSync(d, { recursive: true }); - if (verbose) console.log(`Deleted ${d}!`); - } - }); + dirs.forEach((a) => { + var d = "../" + a + "/dist"; + if (fse.existsSync(d)) { + fse.rmSync(d, { recursive: true }); + if (verbose) console.log(`Deleted ${d}!`); + } + }); } fse.copySync( - path.join(__dirname, "..", "..", "api", "assets"), - path.join(__dirname, "..", "dist", "api", "assets") + path.join(__dirname, "..", "..", "api", "assets"), + path.join(__dirname, "..", "dist", "api", "assets") ); fse.copySync( - path.join(__dirname, "..", "..", "api", "client_test"), - path.join(__dirname, "..", "dist", "api", "client_test") + path.join(__dirname, "..", "..", "api", "client_test"), + path.join(__dirname, "..", "dist", "api", "client_test") ); fse.copySync( - path.join(__dirname, "..", "..", "api", "locales"), - path.join(__dirname, "..", "dist", "api", "locales") + path.join(__dirname, "..", "..", "api", "locales"), + path.join(__dirname, "..", "dist", "api", "locales") ); dirs.forEach((a) => { - fse.copySync("../" + a + "/src", "dist/" + a + "/src"); - if (verbose) - console.log( - `Copied ${"../" + a + "/dist"} -> ${"dist/" + a + "/src"}!` - ); + fse.copySync("../" + a + "/src", "dist/" + a + "/src"); + if (verbose) + console.log(`Copied ${"../" + a + "/dist"} -> ${"dist/" + a + "/src"}!`); }); -console.log("[1/2] Copying src files done"); -console.log("[2/2] Compiling src files ..."); +console.log("Copying src files done"); +if (!argv.includes("copyonly")) { + console.log("Compiling src files ..."); -console.log( - execSync( - 'node "' + - path.join( - __dirname, - "..", - "node_modules", - "typescript", - "lib", - "tsc.js" - ) + - '" -p "' + - path.join(__dirname, "..") + - '"', - { - cwd: path.join(__dirname, ".."), - shell: true, - env: process.env, - encoding: "utf8", - } - ) -); + console.log( + execSync( + 'node "' + + path.join( + __dirname, + "..", + "node_modules", + "typescript", + "lib", + "tsc.js" + ) + + '" -p "' + + path.join(__dirname, "..") + + '"', + { + cwd: path.join(__dirname, ".."), + shell: true, + env: process.env, + encoding: "utf8", + } + ) + ); +} |