1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-25 11:43:07 +01:00

Merge pull request #934 from fosscord/master

Merge master into dev/endpoints-in-ping
This commit is contained in:
Madeline 2023-01-16 17:00:32 +11:00 committed by GitHub
commit 54218e6873
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 34 additions and 20 deletions

View File

@ -23,8 +23,6 @@ This repository contains:
- [HTTP CDN Server](/src/cdn)
- [Utility and Database Models](/src/util)
## [Resources](https://docs.fosscord.com/resources/)
## [Contributing](https://docs.fosscord.com/contributing/)
- [Contributing](https://docs.fosscord.com/contributing/server/)
## [Setup](https://docs.fosscord.com/server/setup/)
## [Setup](https://docs.fosscord.com/setup/server/)

View File

@ -65,6 +65,12 @@ const doPatch = (content) => {
//content = content.replaceAll(/DiscordTag/g, "FosscordTag");
content = content.replaceAll(/\*Discord\*/g, `*${INSTANCE_NAME}*`);
// Replace window title
content = content.replaceAll(
":c.base;",
`:(c.base == 'Discord' ? '${INSTANCE_NAME}' : c.base);`,
);
//server -> guild
const serverVariations = [
['"Server"', '"Guild"'],
@ -186,6 +192,12 @@ const processFile = async (name) => {
);
};
const print = (x) => {
process.stdout.write(
`${x}${" ".repeat(process.stdout.columns - x.length)}\r`,
);
};
(async () => {
const start = Date.now();
@ -198,9 +210,7 @@ const processFile = async (name) => {
while (INDEX_SCRIPTS.length > 0) {
const asset = INDEX_SCRIPTS.shift();
process.stdout.write(
`Scraping asset ${asset}. Remaining: ${INDEX_SCRIPTS.length} \r`,
);
print(`Scraping asset ${asset}. Remaining: ${INDEX_SCRIPTS.length}`);
const newAssets = await processFile(asset);
assets.push(...newAssets);
@ -218,8 +228,8 @@ const processFile = async (name) => {
while (CACHE_MISSES.length > 0) {
const asset = CACHE_MISSES.shift();
process.stdout.write(
`Scraping cache misses ${asset}. Remaining: ${CACHE_MISSES.length} \r`,
print(
`Scraping cache misses ${asset}. Remaining: ${CACHE_MISSES.length}`,
);
if (existsSync(path.join(CACHE_PATH, `${asset}`))) {
@ -236,9 +246,7 @@ const processFile = async (name) => {
while (existing.length > 0) {
var file = existing.shift();
process.stdout.write(
`Patching existing ${file}. Remaining: ${existing.length}. \r`,
);
print(`Patching existing ${file}. Remaining: ${existing.length}.`);
var text = await fs.readFile(path.join(CACHE_PATH, file));
if (file.includes(".js") || file.includes(".css")) {
@ -273,7 +281,7 @@ const processFile = async (name) => {
: 1;
const finishTime = averageRate * (assets.length - i);
process.stdout.write(
print(
`Caching asset ${asset}. ` +
`${i}/${assets.length - 1} = ${Math.floor(
(i / (assets.length - 1)) * 100,
@ -282,8 +290,6 @@ const processFile = async (name) => {
// Date.now() + finishTime,
// ).toLocaleTimeString()}`,
);
//not adding to the previous mess, incase the finish time is added back or something
process.stdout.write(" \r");
promises.push(processFile(asset));
// await processFile(asset);

View File

@ -223,6 +223,7 @@ export async function postHandleMessage(message: Message) {
data.embeds.push(embed);
}
} catch (e) {
console.error(`[Embeds] Error while generating embed`, e);
Sentry.captureException(e, (scope) => {
scope.clear();
scope.setContext("request", { url });

View File

@ -3,6 +3,7 @@ import fetch, { Response } from "node-fetch";
import * as cheerio from "cheerio";
import probe from "probe-image-size";
import crypto from "crypto";
import { yellow } from "picocolors";
export const DEFAULT_FETCH_OPTIONS: any = {
redirect: "follow",
@ -16,6 +17,8 @@ export const DEFAULT_FETCH_OPTIONS: any = {
method: "GET",
};
let hasWarnedAboutImagor = false;
export const getProxyUrl = (
url: URL,
width: number,
@ -41,11 +44,17 @@ export const getProxyUrl = (
return `${imagorServerUrl}/${hash}/${path}`;
}
// TODO: Imagor documentation
console.log(
"Imagor has not been set up correctly. docs.fosscord.com/set/up/a/page/about/this",
);
return "";
if (!hasWarnedAboutImagor) {
hasWarnedAboutImagor = true;
console.log(
"[Embeds]",
yellow(
"Imagor has not been set up correctly. https://docs.fosscord.com/setup/server/configuration/imagor/",
),
);
}
return url.toString();
};
const getMeta = ($: cheerio.CheerioAPI, name: string): string | undefined => {