summaryrefslogtreecommitdiff
path: root/packages/backend/src/misc
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2022-02-09 14:50:38 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2022-02-09 14:50:38 +0900
commit5f985ee832eed61e31ceb51eaa1c51810ad6de39 (patch)
tree60cd65d92e377ea0a0f0d2bc3b767f8f26196310 /packages/backend/src/misc
parentMerge branch 'develop' (diff)
parent12.104.0 (diff)
downloadmisskey-5f985ee832eed61e31ceb51eaa1c51810ad6de39.tar.gz
misskey-5f985ee832eed61e31ceb51eaa1c51810ad6de39.tar.bz2
misskey-5f985ee832eed61e31ceb51eaa1c51810ad6de39.zip
Merge branch 'develop'
Diffstat (limited to 'packages/backend/src/misc')
-rw-r--r--packages/backend/src/misc/before-shutdown.ts14
-rw-r--r--packages/backend/src/misc/download-url.ts6
-rw-r--r--packages/backend/src/misc/gen-identicon.ts2
-rw-r--r--packages/backend/src/misc/is-duplicate-key-value-error.ts4
4 files changed, 15 insertions, 11 deletions
diff --git a/packages/backend/src/misc/before-shutdown.ts b/packages/backend/src/misc/before-shutdown.ts
index 33abf5fb4d..93ac7a1f39 100644
--- a/packages/backend/src/misc/before-shutdown.ts
+++ b/packages/backend/src/misc/before-shutdown.ts
@@ -24,14 +24,14 @@ const SHUTDOWN_TIMEOUT = 15000;
* down the process.
* @type {BeforeShutdownListener[]}
*/
-const shutdownListeners = [];
+const shutdownListeners: ((signalOrEvent: string) => void)[] = [];
/**
* Listen for signals and execute given `fn` function once.
* @param {string[]} signals System signals to listen to.
* @param {function(string)} fn Function to execute on shutdown.
*/
-const processOnce = (signals, fn) => {
+const processOnce = (signals: string[], fn: (signalOrEvent: string) => void) => {
for (const sig of signals) {
process.once(sig, fn);
}
@@ -41,7 +41,7 @@ const processOnce = (signals, fn) => {
* Sets a forced shutdown mechanism that will exit the process after `timeout` milliseconds.
* @param {number} timeout Time to wait before forcing shutdown (milliseconds)
*/
-const forceExitAfter = timeout => () => {
+const forceExitAfter = (timeout: number) => () => {
setTimeout(() => {
// Force shutdown after timeout
console.warn(`Could not close resources gracefully after ${timeout}ms: forcing shutdown`);
@@ -55,7 +55,7 @@ const forceExitAfter = timeout => () => {
* be logged out as a warning, but won't prevent other callbacks from executing.
* @param {string} signalOrEvent The exit signal or event name received on the process.
*/
-async function shutdownHandler(signalOrEvent) {
+async function shutdownHandler(signalOrEvent: string) {
if (process.env.NODE_ENV === 'test') return process.exit(0);
console.warn(`Shutting down: received [${signalOrEvent}] signal`);
@@ -64,7 +64,9 @@ async function shutdownHandler(signalOrEvent) {
try {
await listener(signalOrEvent);
} catch (err) {
- console.warn(`A shutdown handler failed before completing with: ${err.message || err}`);
+ if (err instanceof Error) {
+ console.warn(`A shutdown handler failed before completing with: ${err.message || err}`);
+ }
}
}
@@ -78,7 +80,7 @@ async function shutdownHandler(signalOrEvent) {
* @param {BeforeShutdownListener} listener The shutdown listener to register.
* @returns {BeforeShutdownListener} Echoes back the supplied `listener`.
*/
-export function beforeShutdown(listener) {
+export function beforeShutdown(listener: () => void) {
shutdownListeners.push(listener);
return listener;
}
diff --git a/packages/backend/src/misc/download-url.ts b/packages/backend/src/misc/download-url.ts
index 8e1f7b9e24..ba2fa9fae0 100644
--- a/packages/backend/src/misc/download-url.ts
+++ b/packages/backend/src/misc/download-url.ts
@@ -38,7 +38,9 @@ export async function downloadUrl(url: string, path: string): Promise<void> {
https: httpsAgent,
},
http2: false, // default
- retry: 0,
+ retry: {
+ limit: 0,
+ },
}).on('response', (res: Got.Response) => {
if ((process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'test') && !config.proxy && res.ip) {
if (isPrivateIp(res.ip)) {
@@ -75,7 +77,7 @@ export async function downloadUrl(url: string, path: string): Promise<void> {
logger.succ(`Download finished: ${chalk.cyan(url)}`);
}
-function isPrivateIp(ip: string) {
+function isPrivateIp(ip: string): boolean {
for (const net of config.allowedPrivateNetworks || []) {
const cidr = new IPCIDR(net);
if (cidr.contains(ip)) {
diff --git a/packages/backend/src/misc/gen-identicon.ts b/packages/backend/src/misc/gen-identicon.ts
index 5cedd7afaf..fca67fcf21 100644
--- a/packages/backend/src/misc/gen-identicon.ts
+++ b/packages/backend/src/misc/gen-identicon.ts
@@ -39,7 +39,7 @@ const sideN = Math.floor(n / 2);
*/
export function genIdenticon(seed: string, stream: WriteStream): Promise<void> {
const rand = gen.create(seed);
- const canvas = p.make(size, size);
+ const canvas = p.make(size, size, undefined);
const ctx = canvas.getContext('2d');
ctx.fillStyle = bg;
diff --git a/packages/backend/src/misc/is-duplicate-key-value-error.ts b/packages/backend/src/misc/is-duplicate-key-value-error.ts
index 23d8ceb1b7..04ff191e41 100644
--- a/packages/backend/src/misc/is-duplicate-key-value-error.ts
+++ b/packages/backend/src/misc/is-duplicate-key-value-error.ts
@@ -1,3 +1,3 @@
-export function isDuplicateKeyValueError(e: Error): boolean {
- return e.message.startsWith('duplicate key value');
+export function isDuplicateKeyValueError(e: unknown | Error): boolean {
+ return (e as any).message && (e as Error).message.startsWith('duplicate key value');
}