diff options
-rw-r--r-- | .github/relase_body_template.md | 17 | ||||
-rw-r--r-- | .github/workflows/docker-publish-api.yml | 41 | ||||
-rw-r--r-- | .github/workflows/docker-publish-cdn.yml | 41 | ||||
-rw-r--r-- | .github/workflows/docker-publish-gateway.yml | 41 | ||||
-rw-r--r-- | .github/workflows/release.yml | 101 | ||||
-rw-r--r-- | assets/cacheMisses | 190 | ||||
-rw-r--r-- | assets/changelog.txt | 11 | ||||
-rw-r--r-- | assets/client_test/developers.html | 2 | ||||
-rw-r--r-- | assets/client_test/index.html | 2 | ||||
-rw-r--r-- | assets/preload-plugins/loginRedirect.js | 16 | ||||
-rw-r--r-- | assets/public/background.png | bin | 319351 -> 0 bytes | |||
-rw-r--r-- | assets/public/dff87c953f43b561d71fbcfe8a93a79a.png | 0 | ||||
-rw-r--r-- | assets/public/fosscord-login.css | 37 | ||||
-rw-r--r-- | assets/public/fosscord.css | 92 | ||||
-rw-r--r-- | assets/public/user.css | 19 | ||||
-rw-r--r-- | assets/webrtc.js | 8 | ||||
-rw-r--r-- | fosscord-server.code-workspace | 3 | ||||
-rw-r--r-- | scripts/changelog.js | 10 | ||||
-rw-r--r-- | scripts/client.js | 42 | ||||
-rw-r--r-- | scripts/rights.js | 4 | ||||
-rw-r--r-- | scripts/schema.js | 6 |
21 files changed, 168 insertions, 515 deletions
diff --git a/.github/relase_body_template.md b/.github/relase_body_template.md deleted file mode 100644 index c410b0c2..00000000 --- a/.github/relase_body_template.md +++ /dev/null @@ -1,17 +0,0 @@ -## Notes - -## Additions - -- - -## Fixes - -- - -## Download - -- [Windows]() -- [MacOS]() -- [Linux]() - -After (extracting) and starting the server executable you can access your own Fosscord server on http://localhost:3001/ diff --git a/.github/workflows/docker-publish-api.yml b/.github/workflows/docker-publish-api.yml deleted file mode 100644 index cc35562a..00000000 --- a/.github/workflows/docker-publish-api.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: docker-publish-api - -on: - push: - paths: - - "api/**" - -jobs: - docker-api: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache/api - key: ${{ runner.os }}-buildx-api-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx-api- - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: ./api - push: true - tags: ${{ secrets.DOCKERHUB_TAGS_API }} - cache-from: type=local,src=/tmp/.buildx-cache/api - cache-to: type=local,dest=/tmp/.buildx-cache-new/api - - # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA - # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394 - name: Move cache fix - run: | - rm -rf /tmp/.buildx-cache/api - mv /tmp/.buildx-cache-new/api /tmp/.buildx-cache/api diff --git a/.github/workflows/docker-publish-cdn.yml b/.github/workflows/docker-publish-cdn.yml deleted file mode 100644 index 86eae9d6..00000000 --- a/.github/workflows/docker-publish-cdn.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: docker-publish-cdn - -on: - push: - paths: - - "cdn/**" - -jobs: - docker-cdn: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache/cdn - key: ${{ runner.os }}-buildx-cdn-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx-cdn- - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: ./cdn - push: true - tags: ${{ secrets.DOCKERHUB_TAGS_CDN }} - cache-from: type=local,src=/tmp/.buildx-cache/cdn - cache-to: type=local,dest=/tmp/.buildx-cache-new/cdn - - # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA - # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394 - name: Move cache fix - run: | - rm -rf /tmp/.buildx-cache/cdn - mv /tmp/.buildx-cache-new/cdn /tmp/.buildx-cache/cdn diff --git a/.github/workflows/docker-publish-gateway.yml b/.github/workflows/docker-publish-gateway.yml deleted file mode 100644 index 21c3333e..00000000 --- a/.github/workflows/docker-publish-gateway.yml +++ /dev/null @@ -1,41 +0,0 @@ -name: docker-publish-gw - -on: - push: - paths: - - "gateway/**" - -jobs: - docker-gw: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache/gw - key: ${{ runner.os }}-buildx-gw-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx-gw- - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: ./gateway - push: true - tags: ${{ secrets.DOCKERHUB_TAGS_GW }} - cache-from: type=local,src=/tmp/.buildx-cache/gw - cache-to: type=local,dest=/tmp/.buildx-cache-new/gw - - # Hackfix to cleanup cache; replace after buildx 0.6 and BuildKit 0.9 are GA - # https://github.com/docker/build-push-action/pull/406#issuecomment-879184394 - name: Move cache fix - run: | - rm -rf /tmp/.buildx-cache/gw - mv /tmp/.buildx-cache-new/gw /tmp/.buildx-cache/gw diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml deleted file mode 100644 index 6bd8f535..00000000 --- a/.github/workflows/release.yml +++ /dev/null @@ -1,101 +0,0 @@ -on: - workflow_dispatch: - push: - # Sequence of patterns matched against refs/tags - tags: - - "v*" # Push events to matching v*, i.e. v1.0, v20.15.10 - -name: Publish Release - -jobs: - insiders-build: - strategy: - matrix: - os: [windows, macos, ubuntu] - include: - - os: windows - file: fosscord-server-windows.exe - package: "" - artifact: fosscord-server-windows.exe - - os: macos - file: fosscord-server.app - package: tar -czf 'fosscord-server-macos.app.tgz' 'fosscord-server.app' - artifact: fosscord-server-macos.app.tgz - - os: ubuntu - file: fosscord - package: chmod +x fosscord && tar -czf 'fosscord-server-linux.tgz' 'fosscord' - artifact: fosscord-server-linux.tgz - runs-on: ${{ matrix.os }}-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 - env: - MONGOMS_VERSION: 4.4.3 - with: - node-version: 14 - - run: | - cd bundle - npm run setup - npx caxa -i . -m 'This_may_take_a_while_to_run_the_first_time_please_wait...' --output '${{matrix.file}}' -- '{{caxa}}/node_modules/.bin/node' '{{caxa}}/dist/bundle/src/start.js' - ${{ matrix.package }} - - uses: actions/upload-artifact@v2 - with: - name: ${{ matrix.artifact }} - path: bundle/${{ matrix.artifact }} - - release: - needs: [insiders-build] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/download-artifact@v2 - with: - name: fosscord-server-windows.exe - - uses: actions/download-artifact@v2 - with: - name: fosscord-server-macos.app.tgz - - uses: actions/download-artifact@v2 - with: - name: fosscord-server-linux.tgz - - uses: actions/create-release@v1 - id: create-release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: v${{ secrets.RELEASE_VERSION }} - release_name: Server v${{ secrets.RELEASE_VERSION }} - draft: false - prerelease: true # TODO: change this to false - body: > - ## Download - - - [Windows](https://github.com/fosscord/fosscord-server/releases/download/v${{ secrets.RELEASE_VERSION }}/fosscord-server-windows.exe) - - - [MacOS](https://github.com/fosscord/fosscord-server/releases/download/v${{ secrets.RELEASE_VERSION }}/fosscord-server-macos.app.tgz) - - - [Linux](https://github.com/fosscord/fosscord-server/releases/download/v${{ secrets.RELEASE_VERSION }}/fosscord-server-linux.tgz) - - - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create-release.outputs.upload_url }} - asset_path: fosscord-server-windows.exe - asset_name: fosscord-server-windows.exe - asset_content_type: application/vnd.microsoft.portable-executable - - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create-release.outputs.upload_url }} - asset_path: fosscord-server-macos.app.tgz - asset_name: fosscord-server-macos.app.tgz - asset_content_type: application/gzip - - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create-release.outputs.upload_url }} - asset_path: fosscord-server-linux.tgz - asset_name: fosscord-server-linux.tgz - asset_content_type: application/gzip diff --git a/assets/cacheMisses b/assets/cacheMisses index 2f68a713..e69de29b 100644 --- a/assets/cacheMisses +++ b/assets/cacheMisses @@ -1,190 +0,0 @@ -6864292b0e84deec2d7c.worker.js -40532.ccd7077c8311c798fcff.css -7f18f1d5ab6ded7cf71bbc1f907ee3d4.woff2 -f9e7047f6447547781512ec4b977b2ab.woff2 -21070f52a8a6a61edef9785eaf303fb8.woff2 -24bda95d153a319704c33329f3ab84bb.woff2 -24bda95d153a319704c33329f3ab84bb.woff2 -df91c98e67b326426141.worker.js -9491a199bd318f1fc38711fb5067f401.woff2 -cf4a8a10bbdf9b775fad41e0b9921c84.woff2 -ed2007aab2da31a5436e70a28b4d59f9.svg -91dcabd038a2e07ea6fbe7ddb625ecfb.woff2 -3c6ccb83716d1e4fb91d3082f6b21d77.png -35827c42a3af54bd169cff0a866eb428.svg -f9c8fcfa7dcc5d6a291a6ebbe3bb847e.woff2 -515d0236bce3ba834026209dc78489f0.svg -a532e755c36b75762a75ff0794456efb.svg -7e5013a9afc1404b0b89d99aaec0b398.png -7d66dfcf8e39f27f163fba8d79577fd8.woff2 -be71475205180432aaa6a89bd8ee306c.svg -364cec2cc5dfb64873e3a33626a56ba1.svg -40aa3feae87e9745dd56756762029544.svg -112667acf24cbb3d067ccbc54e3638de.svg -0.5a7dcdb1f77d207c0668.css -e6d6b255259ac878d00819a9555072ad.png -9a31e0f65d520cc12d7f42374d59a2d1.svg -b5eb2f7d6b3f8cc9b60be4a5dcf28015.svg -b36de980b174d7b798c89f35c116e5c6.svg -b36c705f790dad253981f1893085015a.svg -8c998f8fb62016fcfb4901e424ff378b.svg -317438b1df555820dfaffad6074dbf72.svg -8e180c91237bcacc8b7ff5663262c1b7.svg -360ca22059b6b674a018547e8e18acdc.svg -2a7b069c2413090d8e17fedbf1647280.png -73eea46fc7df629b7f5b2b6fed926985.png -afc30837a86d8c6aaee02fdfa2787a11.svg -b60ecd82d8fa5a8e21739e7025692429.svg -46f302822fa43628962d28f50bb33b01.svg -6d70d302ed36f6ac6f97341027611e44.svg -39a7fb525b2593689d328ad7367ee4b5.png -487594776f6ebfe57e3ac89d6b3fe437.png -d14825a72be9bc05e41a5579c03d8e94.png -0f67189cc579386633ab41a98088cc8e.png -dbca7d266dfd0c9bcf90013cb4a2814b.svg -1b30c341ef8e07222e5fbb4982b15fed.svg -4f2de8336d160442c074045047924e95.svg -9aaa6213fb0f5a266ceeb9395375ef8e.svg -dced41c080d0a15787074c0c828b094c.svg -f0b5aa3811bdd1f1c230a55a9dae5c55.svg -de09c1a167a87741246b9f3ec239e0ea.svg -acdcdf7b374842a2904df0c9bf4cea9f.svg -4505cadcbd8107f1b72d0321f6800de5.svg -6e59980470e93127806be9304b7dc2ec.svg -3ed9c7cdbea131bc485afa998a5ec93e.svg -1a23068e966efce6fb32ca9fecc65eed.svg -8b7165c3ca8f930bf6a1cf4ad12de85a.svg -6ac195d9605dfb0719e73f002fad38a8.svg -dea5252276408a8bfca6dda585ca5216.svg -f303eeb986430817ee8a52a9b81aea45.svg -fde233b6899a1a0fac64c419724e668b.svg -b7b57e9fa6377409691f498d5d48714e.svg -a053c2e82b0c5e6a4cc853ca846cc000.svg -2cb8e7219e1554e094c4a0316e0ab2c2.svg -45d6946387a0c66f4eb4e62a6e7758ea.svg -5d8898dd9356f25901bae20fc8c980d9.svg -3c6ccb83716d1e4fb91d3082f6b21d77.png -67430d140a79af95585a19d304731dc5.svg -24d05f3b46a110e538674edbac0db4cd.svg -f5de0f917504a81e039f.worklet.js -3c6ccb83716d1e4fb91d3082f6b21d77.png -3be860e37bf5f2df40ad15d2de5cee0e.png -4a1000a95b1aad334e98f9d15b9d0ec4.svg -c115d59ca13c0f942965a82a0f05bf01.svg -db9e2406158133f91e1fe24bb56425c2.svg -37f15a06d062bdd0fc252d2b35d0b0bb.svg -32045743cb7670855ae726743c949e0c.svg -f3224f560c8f5974355596a4f7e9ce19.svg -6a853b4c87fce386cbfef4a2efbacb09.svg -eaeac24163b35f7526704a3d9b3c7722.svg -d897626dfa2016ea3ad0af935acb6070.svg -ca71e0b8818221eea1deebbaf8dc6518.svg -85cf2b49d2a185c98ec8e383ad5a05d6.svg -57ee9535485efae7eb923ed4893abb57.svg -1fa6585cbb8c0fe21188e26d19fc6609.svg -f1e026332f1d6e902bcbbc07892bc849.svg -4da5a1105f56c7344ec198e25e99ce1b.svg -c7f26927db5e7806790f4e968038630a.svg -c4cccc083da07eb95edf161ad5726d00.svg -1f0bfc0865d324c2587920a7d80c609b.png -41a1814ec63404eb722ce88d1c28b4f4.png -ca9e397003df8b46709315d7a248c7de.svg -da3651e59d6006dfa5fa07ec3102d1f3.svg -3590df6f2ae2f7202dab15c0bd3aca9a.png -e6d6b255259ac878d00819a9555072ad.png -7fa2adf98f26db34178bb30a63dabe8c.png -6bf3cf5d375d7561cb3b9bf74212ed45.png -10bb7b2e55f0a34f23d903121de6b9bc.png -8d1d548a64761f0c5b1d7c9e00ae66a6.png -894cceea2dd5b523936930d1d7e333c5.png -2ac1239c26c4ae1d27817a9d7b85dc53.png -d24e290703f8b31b56744a69df613fcb.png -ab02db863b7edeaa46bf4cd49b6646a9.png -d19290ba3158e138bb241ae669a3bc37.png -4db0790f7a81e49025d7fbfb9aeb182c.png -f23c5c28c4429691f7c54af93876d661.png -44a7840b2161275358742595c9257e76.png -8e1cf1f1cf2a1a917002b8b583270c32.png -b2da62f020089ccee92860e4defafdb4.png -b1309f8892f138383d8b0b6ff8e23463.png -da07da4bde6f81f16366b62e8fcc90ec.png -7beab7b17eaa9ff7ceed3e5b1af274c2.png -78cbfbf0381b8c7f5a192c4a46bd0b0e.png -d5073ab2ca9ee7c06c3f4d761968ac44.png -d52ce383ca6d8eb53588bcc042574cae.png -02e75e392ab5d5a8ed5ab4f8fcae9c77.png -c9f51873ae719a6b4b8c6724362e999e.png -64f37efd5319b9b581557604864f042a.png -fcdf14841cd468de3f43704be16fa303.png -08d0c70a708cd25acecb7a8b0cb0eb23.png -cfc9643cb00e44fae64bfeda3556bfd9.png -7eb9487d4dac00095f8ed2d2c80b21a8.png -cbf50c2e3287d2118f741e827a3ddaf5.png -c11b69c74029b5deaca9ca7ce1e987b1.svg -beec347635d7597215747fcaf461e569.svg -5e1649183589023fb24667a369af585d.woff2 -46b24114f7276738329be3ae84e22da4.svg -c970061def69b8226617841ca3089219.svg -b13ade832d7f19e30c5d2452b6cbdd53.svg -6864292b0e84deec2d7c.worker.js -40532.ccd7077c8311c798fcff.css -7f18f1d5ab6ded7cf71bbc1f907ee3d4.woff2 -f9e7047f6447547781512ec4b977b2ab.woff2 -21070f52a8a6a61edef9785eaf303fb8.woff2 -24bda95d153a319704c33329f3ab84bb.woff2 -df91c98e67b326426141.worker.js -9491a199bd318f1fc38711fb5067f401.woff2 -ed2007aab2da31a5436e70a28b4d59f9.svg -cf4a8a10bbdf9b775fad41e0b9921c84.woff2 -91dcabd038a2e07ea6fbe7ddb625ecfb.woff2 -3c6ccb83716d1e4fb91d3082f6b21d77.png -515d0236bce3ba834026209dc78489f0.svg -35827c42a3af54bd169cff0a866eb428.svg -a532e755c36b75762a75ff0794456efb.svg -7e5013a9afc1404b0b89d99aaec0b398.png -f9c8fcfa7dcc5d6a291a6ebbe3bb847e.woff2 -be71475205180432aaa6a89bd8ee306c.svg -7d66dfcf8e39f27f163fba8d79577fd8.woff2 -40aa3feae87e9745dd56756762029544.svg -364cec2cc5dfb64873e3a33626a56ba1.svg -112667acf24cbb3d067ccbc54e3638de.svg -3c6ccb83716d1e4fb91d3082f6b21d77.png -24d05f3b46a110e538674edbac0db4cd.svg -3c6ccb83716d1e4fb91d3082f6b21d77.png -2e16625f6f55b96572f79cc35682266f.png -4a1000a95b1aad334e98f9d15b9d0ec4.svg -b5eb2f7d6b3f8cc9b60be4a5dcf28015.svg -750a8ead5eca8745b14658a4ba5b0128.svg -897fb794f533bd92e32b8b06676122ba.gif -65921aa740e7c73ace1a74b54b9e6b82.gif -8cdb96f2d79587fc380142dd132acf45.gif -81f855741b7bdf09d97f8ea644dac150.gif -1dabb8ee5d7cb5137c06f958e0091573.svg -63e3655bb034980e94b75c68c0317df1.png -aa48191cd1b1a1c70f5d6c97d267a596.svg -29cfa98a6ada50a07e009bae38dce3da.svg -3d941eb2606379c2ee9b753f7acf2845.svg -e6d6bd0c67e5c9a8a65406612240fa4c.svg -d84fd42fb2edf983cc5b5dc1007a33ca.svg -afbb21036aa2e7d8f15fa10dd6232fc0.svg -b21e574729a2e2b9243d811be7333677.svg -86548cb347b5acfb41bcb328c89b9bdc.svg -5656f17248cf747f56433a1d60c8c1bf.svg -86548cb347b5acfb41bcb328c89b9bdc.svg -5656f17248cf747f56433a1d60c8c1bf.svg -94ff6fdc535b6ecb7b1bc54f2dd56a10.svg -a49aa0af67106dfc5fed4d6ebfa011c9.svg -071e743e602763497a5e394510b68f28.svg -1097866274648af5edf0.js -6e98d426b375ee024fd2.js -3093c4e6a3ee8ef9d6ee62ffea283603.svg -dbdc2f57ed1a7f2f01a342ab2e6fb032.svg -02e604928e685344a86abbd473841a3d.svg -9a31e0f65d520cc12d7f42374d59a2d1.svg -d759f3acc6286c964cc8118d7f68b374.svg -eeacc28d3c62a7cf1154a2bc11968ad8.svg -9fa091f676e4451ee5946fed948cb8fe.svg -7c010dc6da25c012643ea22c1f002bb4.svg -9ea87b934848cd1f5c4bc7f1fcdac803.png -626aaed496ac12bbdb68a86b46871a1f.svg -66f6c781fe86c346fbaf3390618668fc.svg diff --git a/assets/changelog.txt b/assets/changelog.txt index c1abc125..9215c54e 100644 --- a/assets/changelog.txt +++ b/assets/changelog.txt @@ -1,13 +1,10 @@ ---changelog--- -date: "2022-10-27" +date: "2022-12-17" locale: "en-US" revision: 1 --- -Changelogs now work! {added marginTop} +This is an example changelog. {added marginTop} ====================== -In the future, they'll be sent out like this, as well as in the default guild. -If you aren't in the default guild, you're missing out. -We talk mostly about Slowcord itself, and its the first place you'll find out about new features and bug fixes being worked on. -Be sure to join it, with -https://slowcord.understars.dev/invite/slowcord \ No newline at end of file +This is a template changelog file. +You can use the `npm run generate:changelog` script to attach a new version of this changelog to your current client cache. \ No newline at end of file diff --git a/assets/client_test/developers.html b/assets/client_test/developers.html index 18f4be8b..85bbba05 100644 --- a/assets/client_test/developers.html +++ b/assets/client_test/developers.html @@ -7,7 +7,7 @@ <link rel="stylesheet" href="/assets/532.03aaeef88460fae60534.css" integrity="" /> <link rel="icon" href="/assets/07dca80a102d4149e9736d4b162cff6f.ico" /> - <title>Developer Portal | Slowcord</title> + <title>Developer Portal | Fosscord</title> <meta charset="utf-8" data-react-helmet="true" /> </head> diff --git a/assets/client_test/index.html b/assets/client_test/index.html index 31be10f1..be24e2ac 100644 --- a/assets/client_test/index.html +++ b/assets/client_test/index.html @@ -4,7 +4,7 @@ <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Slowcord</title> + <title>Fosscord 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" /> diff --git a/assets/preload-plugins/loginRedirect.js b/assets/preload-plugins/loginRedirect.js deleted file mode 100644 index 0b5e443a..00000000 --- a/assets/preload-plugins/loginRedirect.js +++ /dev/null @@ -1,16 +0,0 @@ -if (window.location.hostname !== "127.0.0.1" && window.location.hostname !== "localhost") { - const redirectIfOnLogin = () => { - const path = window.location.pathname; - if (path == "/login" || path == "/register" || !window.localStorage.getItem("token")) { - window.location.pathname = "/login"; - //window.location.reload(); - } - }; - - const observer = new MutationObserver((mutations) => { - redirectIfOnLogin(); - }); - observer.observe(document, { subtree: true, childList: true }); - - redirectIfOnLogin(); -} \ No newline at end of file diff --git a/assets/public/background.png b/assets/public/background.png deleted file mode 100644 index 58369ab8..00000000 --- a/assets/public/background.png +++ /dev/null Binary files differdiff --git a/assets/public/dff87c953f43b561d71fbcfe8a93a79a.png b/assets/public/dff87c953f43b561d71fbcfe8a93a79a.png deleted file mode 100644 index e69de29b..00000000 --- a/assets/public/dff87c953f43b561d71fbcfe8a93a79a.png +++ /dev/null diff --git a/assets/public/fosscord-login.css b/assets/public/fosscord-login.css index ca0af064..76cf8068 100644 --- a/assets/public/fosscord-login.css +++ b/assets/public/fosscord-login.css @@ -1,12 +1,12 @@ /* replace tos acceptance popup */ #app-mount > div:nth-child(7) > div > div > div.tooltipContent-bqVLWK { - visibility: hidden; + visibility: hidden; } -#app-mount > div:nth-child(7) > div > div > div.tooltipContent-bqVLWK::after{ - visibility: visible; - display: block; - content: "You need to agree to this instance's rules to continue"; - margin-top: -32px; +#app-mount > div:nth-child(7) > div > div > div.tooltipContent-bqVLWK::after { + visibility: visible; + display: block; + content: "You need to agree to this instance's rules to continue"; + margin-top: -32px; } /* replace login header */ #app-mount > div.app-1q1i1E > div > div > div > div > form > div > div > div.mainLoginContainer-1ddwnR > h3 { @@ -14,7 +14,7 @@ } h3.title-jXR8lp.marginBottom8-AtZOdT.base-1x0h_U.size24-RIRrxO::after { margin-top: -32px; - content: "Welcome to Slowcord!"; + content: "Welcome to Fosscord!"; visibility: visible; display: block; } @@ -62,22 +62,7 @@ h3.title-jXR8lp.marginBottom8-AtZOdT.base-1x0h_U.size24-RIRrxO::after { margin-top: -16px; } -/* funny styling */ -.wrapper-6URcxg { - justify-content: flex-start !important; - - background: url("/assets/background.png"); - background-size: 100% 100%; - background-repeat: no-repeat; -} - -.authBoxExpanded-2jqaBe, -.authBox-hW6HRx { - width: max(40vw, 500px) !important; - height: 100vh !important; - padding: 100px !important; - display: flex; - justify-content: center; - align-items: center; - border-radius: 0 !important; -} +/* shrink login box to same size as register */ +.authBoxExpanded-2jqaBe { + width: 480px !important; +} \ No newline at end of file diff --git a/assets/public/fosscord.css b/assets/public/fosscord.css index e69de29b..2ee7b794 100644 --- a/assets/public/fosscord.css +++ b/assets/public/fosscord.css @@ -0,0 +1,92 @@ +/* loading spinner */ +#app-mount > div.app-1q1i1E > div.container-16j22k.fixClipping-3qAKRb > div.content-1-zrf2 > video { + filter: opacity(1); + background: url("http://www.clipartbest.com/cliparts/7ca/6Rr/7ca6RrLAi.gif"); + background-size: contain; + /* width: 64px; + height: 64px; */ + padding-bottom: 64px; + background-repeat: no-repeat; +} + +/* home button icon */ +#app-mount + > div.app-1q1i1E + > div + > div.layers-3iHuyZ.layers-3q14ss + > div + > div + > nav + > ul + > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih + > div.tutorialContainer-2sGCg9 + > div + > div.listItemWrapper-KhRmzM + > div + > svg + > foreignObject + > div + > div { + background-image: url(https://raw.githubusercontent.com/fosscord/fosscord/master/assets-rebrand/svg/Fosscord-Icon-Rounded-Subtract.svg); + background-size: contain; + border-radius: 50%; +} + +#app-mount + > div.app-1q1i1E + > div + > div.layers-3iHuyZ.layers-3q14ss + > div + > div + > nav + > ul + > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih + > div.tutorialContainer-2sGCg9 + > div + > div.listItemWrapper-KhRmzM + > div + > svg + > foreignObject + > div + > div, +#app-mount + > div.app-1q1i1E + > div + > div.layers-3iHuyZ.layers-3q14ss + > div + > div + > nav + > ul + > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih + > div.tutorialContainer-2sGCg9 + > div + > div.listItemWrapper-KhRmzM + > div + > svg + > foreignObject + > div + > div:hover { + background-color: white; +} +/* Login QR */ +#app-mount > div.app-1q1i1E > div > div > div > div > form > div > div > div.transitionGroup-aR7y1d.qrLogin-1AOZMt, +#app-mount > div.app-1q1i1E > div > div > div > div > form > div > div > div.verticalSeparator-3huAjp, +/* Remove login bg */ +#app-mount > div.app-1q1i1E > div > svg, +/* Download bar */ +#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > div > div.notice-3bPHh-.colorDefault-22HBa0, +/* Connection problem links */ +#app-mount > div.app-1q1i1E > div.container-16j22k.fixClipping-3qAKRb > div.problems-3mgf6w.slideIn-sCvzGz > div:nth-child(2), +/* Downloads button */ +#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div:nth-child(7) > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div, +#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div:nth-child(6) > div, +/* help button */ +#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > div > div.content-98HsJk > div.chat-3bRxxu > section > div.toolbar-1t6TWx > a, +/* download button start of guild */ +#chat-messages-899316648933185083 > div > div > div:nth-child(5), +/* Thread permissions etc popups */ +#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > div > div.content-98HsJk > div.sidebar-2K8pFh.hasNotice-1XRy4h > nav > div.container-3O_wAf, +/* home button icon */ +#app-mount > div.app-1q1i1E > div > div.layers-3iHuyZ.layers-3q14ss > div > div > nav > ul > div.scroller-1Bvpku.none-2Eo-qx.scrollerBase-289Jih > div.tutorialContainer-2sGCg9 > div > div.listItemWrapper-KhRmzM > div > svg > foreignObject > div > div > svg { + display: none; +} \ No newline at end of file diff --git a/assets/public/user.css b/assets/public/user.css index a42a3e3a..a7e5c4f3 100644 --- a/assets/public/user.css +++ b/assets/public/user.css @@ -1,18 +1 @@ -/* hide premium references */ -a[href="/store"], -div[aria-controls="slowcord-premium-tab"], -div[aria-controls="premium-guild-boost-tab"], -div[aria-controls="subscriptions-tab"], -div[aria-controls="library-inventory-tab"], -div[aria-controls="billing-tab"], -div[aria-label="User Settings"] div.header-2Kx1US:nth-child(8), /* billing settings header */ -div[aria-label="User Settings"] div.separator-2wx7h6:nth-child(7), /* billing settings separator */ -button[aria-label="Send a gift"], -div#guild-header-popout-premium-subscribe, -#guild-header-popout div.separator-1So4YB:nth-child(2), -div[aria-controls="guild_premium-tab"], -div#stickers-tab .upsellContainer-22N_CL, -div#stickers-tab .divider-wz_a_k, -div.separator-2wx7h6:nth-child(20) { - display: none !important; -} \ No newline at end of file +/* Your custom CSS goes here, enjoy! */ \ No newline at end of file diff --git a/assets/webrtc.js b/assets/webrtc.js index 1acd443a..40cb237a 100644 --- a/assets/webrtc.js +++ b/assets/webrtc.js @@ -1,3 +1,11 @@ +/* + This file is used to patch client version 134842 ( and probably a lot more ) to send additional info when using webrtc. + If you want to use it, throw it into the `preload-plugins` folder. + TODO: Make it so this file is not required for webrtc. + + Do note that webrtc, as of 17/12/2022, is not implemented yet in fosscord/fosscord-server. +*/ + (this.webpackChunkdiscord_app = this.webpackChunkdiscord_app || []).push([ [[228974]], { diff --git a/fosscord-server.code-workspace b/fosscord-server.code-workspace index 60d8a538..b10a3545 100644 --- a/fosscord-server.code-workspace +++ b/fosscord-server.code-workspace @@ -14,8 +14,7 @@ } ], "settings": { - "typescript.tsdk": "util\\node_modules\\typescript\\lib", - "liveServer.settings.multiRootWorkspaceName": "slowcord" + "typescript.tsdk": "util\\node_modules\\typescript\\lib" }, "launch": { "version": "0.2.0", diff --git a/scripts/changelog.js b/scripts/changelog.js index 412e6e0c..4e0936df 100644 --- a/scripts/changelog.js +++ b/scripts/changelog.js @@ -1,3 +1,13 @@ +/* + Changelogs are baked inside the discord.com web client. + To change them, we simply need to update the changelog in a specific file of the client. + For v134842, thats 9c4b2d313c6e1c864e89.js, but it'll be different for every version. + To find which file the changelog is stored in your client, simply grep for the changelog text given by the client, + and update the `CHANGELOG_SCRIPT` variable to use that instead. + + This grabs the new changelog from `fosscord-server/assets/changelog.txt` +*/ + const fetch = require("node-fetch"); const fs = require("fs/promises"); const path = require("path"); diff --git a/scripts/client.js b/scripts/client.js index b42217a0..b36cf561 100644 --- a/scripts/client.js +++ b/scripts/client.js @@ -1,3 +1,21 @@ +/* + This file downloads a ( mostly ) complete discord.com web client for testing, + and performs some basic patching: + * Replaces all mentions of "Server" -> "Guild" + * Replaces "Discord" -> `INSTANCE_NAME` variable + * "Nitro" -> "Premium" + * Prevents `localStorage` deletion ( for `plugins`/`preload-plugins` ) + * Adds `fast-identify` support ( TODO: add documentation ) + + This script can only download javascript client files. + It cannot download images, sounds, video, etc. + For that, a `cacheMisses` file in `fosscord-server/assets` is used. + After running the server for a while, uncached assets will be appended to that file + and downloaded after the next run of this script. + + TODO: Make this configurable easily. +*/ + const path = require("path"); const fetch = require("node-fetch"); const http = require('http'); @@ -13,7 +31,7 @@ const agent = (_parsedURL) => _parsedURL.protocol == 'http:' ? httpAgent : https const CACHE_PATH = path.join(__dirname, "..", "assets", "cache"); const BASE_URL = "https://discord.com"; -const INSTANCE_NAME = "Slowcord"; +const INSTANCE_NAME = "Fosscord"; // Manual for now const INDEX_SCRIPTS = [ @@ -95,15 +113,15 @@ const doPatch = (content) => { ); // app download links - content = content.replaceAll( - "https://play.google.com/store/apps/details?id=com.discord", - "https://slowcord.understars.dev/api/download?platform=android", - ); + // content = content.replaceAll( + // "https://play.google.com/store/apps/details?id=com.discord", + // "https://slowcord.understars.dev/api/download?platform=android", + // ); - content = content.replaceAll( - "https://itunes.apple.com/app/discord/id985746746", - "https://slowcord.understars.dev/api/download?platform=ios" - ); + // content = content.replaceAll( + // "https://itunes.apple.com/app/discord/id985746746", + // "https://slowcord.understars.dev/api/download?platform=ios" + // ); // TODO change public test build link // content = content.replaceAll( @@ -111,9 +129,11 @@ const doPatch = (content) => { // "" // ) - content = content.replaceAll("status.discord.com", "status.understars.dev"); - content = content.replaceAll("discordstatus.com", "status.understars.dev"); + // TODO: Easy config for this + // content = content.replaceAll("status.discord.com", "status.understars.dev"); + // content = content.replaceAll("discordstatus.com", "status.understars.dev"); + // Stop client from deleting `localStorage` global. Makes `plugins` and `preload-plugins` less annoying. content = content.replaceAll( "delete window.localStorage", "console.log('Prevented deletion of localStorage')" diff --git a/scripts/rights.js b/scripts/rights.js index 16fb38bc..86c8db16 100644 --- a/scripts/rights.js +++ b/scripts/rights.js @@ -1,3 +1,7 @@ +/* + Calculates a discord.com-like rights value. +*/ + require("module-alias/register"); const { Rights } = require(".."); diff --git a/scripts/schema.js b/scripts/schema.js index debae7e1..be57adc2 100644 --- a/scripts/schema.js +++ b/scripts/schema.js @@ -1,5 +1,7 @@ -// https://mermade.github.io/openapi-gui/# -// https://editor.swagger.io/ +/* + Regenerates the `fosscord-server/assets/schemas.json` file, used for API/Gateway input validation. +*/ + const path = require("path"); const fs = require("fs"); const TJS = require("typescript-json-schema"); |