summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/ServerService.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-07-02 16:02:32 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-07-02 16:02:32 +0900
commitaf3258dc79488b73435819e7799eb1515f15a6aa (patch)
tree7e6567ec44162784b1f96903ab2334edfa62b644 /packages/backend/src/server/ServerService.ts
parentperf(frontend): MkImgWithBlurhashでblurhash描画に使うcanvasは再利用... (diff)
downloadsharkey-af3258dc79488b73435819e7799eb1515f15a6aa.tar.gz
sharkey-af3258dc79488b73435819e7799eb1515f15a6aa.tar.bz2
sharkey-af3258dc79488b73435819e7799eb1515f15a6aa.zip
perf(backend): make some features optionable
Resolve #11064 Resolve #11065
Diffstat (limited to 'packages/backend/src/server/ServerService.ts')
-rw-r--r--packages/backend/src/server/ServerService.ts15
1 files changed, 11 insertions, 4 deletions
diff --git a/packages/backend/src/server/ServerService.ts b/packages/backend/src/server/ServerService.ts
index c3d45e4ad6..1bae71617b 100644
--- a/packages/backend/src/server/ServerService.ts
+++ b/packages/backend/src/server/ServerService.ts
@@ -16,6 +16,7 @@ import { createTemp } from '@/misc/create-temp.js';
import { UserEntityService } from '@/core/entities/UserEntityService.js';
import { LoggerService } from '@/core/LoggerService.js';
import { bindThis } from '@/decorators.js';
+import { MetaService } from '@/core/MetaService.js';
import { ActivityPubServerService } from './ActivityPubServerService.js';
import { NodeinfoServerService } from './NodeinfoServerService.js';
import { ApiServerService } from './api/ApiServerService.js';
@@ -45,6 +46,7 @@ export class ServerService implements OnApplicationShutdown {
@Inject(DI.emojisRepository)
private emojisRepository: EmojisRepository,
+ private metaService: MetaService,
private userEntityService: UserEntityService,
private apiServerService: ApiServerService,
private openApiServerService: OpenApiServerService,
@@ -161,11 +163,16 @@ export class ServerService implements OnApplicationShutdown {
});
fastify.get<{ Params: { x: string } }>('/identicon/:x', async (request, reply) => {
- const [temp, cleanup] = await createTemp();
- await genIdenticon(request.params.x, fs.createWriteStream(temp));
reply.header('Content-Type', 'image/png');
reply.header('Cache-Control', 'public, max-age=86400');
- return fs.createReadStream(temp).on('close', () => cleanup());
+
+ if ((await this.metaService.fetch()).enableIdenticonGeneration) {
+ const [temp, cleanup] = await createTemp();
+ await genIdenticon(request.params.x, fs.createWriteStream(temp));
+ return fs.createReadStream(temp).on('close', () => cleanup());
+ } else {
+ return reply.redirect('/static-assets/avatar.png');
+ }
});
fastify.get<{ Params: { code: string } }>('/verify-email/:code', async (request, reply) => {
@@ -224,7 +231,7 @@ export class ServerService implements OnApplicationShutdown {
@bindThis
public async dispose(): Promise<void> {
- await this.streamingApiServerService.detach();
+ await this.streamingApiServerService.detach();
await this.#fastify.close();
}