diff --git a/src/server/web/index.ts b/src/server/web/index.ts index 923ae6902..d8525ba11 100644 --- a/src/server/web/index.ts +++ b/src/server/web/index.ts @@ -73,11 +73,7 @@ router.get(/^\/sw\.(.+?)\.js$/, async ctx => { }); // Manifest -router.get('/manifest.json', async ctx => { - await send(ctx as any, '/assets/manifest.json', { - root: client - }); -}); +router.get('/manifest.json', require('./manifest')); router.get('/robots.txt', async ctx => { await send(ctx as any, '/assets/robots.txt', { diff --git a/src/server/web/manifest.ts b/src/server/web/manifest.ts new file mode 100644 index 000000000..35d3d1b66 --- /dev/null +++ b/src/server/web/manifest.ts @@ -0,0 +1,16 @@ +import * as Koa from 'koa'; +import * as manifest from '../../client/assets/manifest.json'; +import * as deepcopy from 'deepcopy'; +import fetchMeta from '../../misc/fetch-meta'; + +module.exports = async (ctx: Koa.BaseContext) => { + const json = deepcopy(manifest); + + const instance = await fetchMeta(); + + json.short_name = instance.name || 'Misskey'; + json.name = instance.name || 'Misskey'; + + ctx.set('Cache-Control', 'max-age=300'); + ctx.body = json; +};