diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2024-11-21 07:58:34 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-21 07:58:34 +0900 |
| commit | f0c3a4cc0b47b392dd155ebabea0d5587df2753d (patch) | |
| tree | 116098b3f4f5013d3656f5c33573d1fb030db3a0 /packages/backend/src/server | |
| parent | feat: 絵文字のポップアップメニューに編集を追加 (#15004) (diff) | |
| download | sharkey-f0c3a4cc0b47b392dd155ebabea0d5587df2753d.tar.gz sharkey-f0c3a4cc0b47b392dd155ebabea0d5587df2753d.tar.bz2 sharkey-f0c3a4cc0b47b392dd155ebabea0d5587df2753d.zip | |
perf(frontend): reduce api requests for non-logged-in enviroment (#15001)
* wip
* Update CHANGELOG.md
* wip
Diffstat (limited to 'packages/backend/src/server')
| -rw-r--r-- | packages/backend/src/server/web/ClientServerService.ts | 14 | ||||
| -rw-r--r-- | packages/backend/src/server/web/views/base.pug | 3 |
2 files changed, 16 insertions, 1 deletions
diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts index 5ebec4ffd0..1b8873214b 100644 --- a/packages/backend/src/server/web/ClientServerService.ts +++ b/packages/backend/src/server/web/ClientServerService.ts @@ -559,7 +559,7 @@ export class ClientServerService { } }); - //#region SSR (for crawlers) + //#region SSR // User fastify.get<{ Params: { user: string; sub?: string; } }>('/@:user/:sub?', async (request, reply) => { const { username, host } = Acct.parse(request.params.user); @@ -584,11 +584,17 @@ export class ClientServerService { reply.header('X-Robots-Tag', 'noimageai'); reply.header('X-Robots-Tag', 'noai'); } + + const _user = await this.userEntityService.pack(user); + return await reply.view('user', { user, profile, me, avatarUrl: user.avatarUrl ?? this.userEntityService.getIdenticonUrl(user), sub: request.params.sub, ...await this.generateCommonPugData(this.meta), + clientCtx: htmlSafeJsonStringify({ + user: _user, + }), }); } else { // リモートユーザーなので @@ -641,6 +647,9 @@ export class ClientServerService { // TODO: Let locale changeable by instance setting summary: getNoteSummary(_note), ...await this.generateCommonPugData(this.meta), + clientCtx: htmlSafeJsonStringify({ + note: _note, + }), }); } else { return await renderBase(reply); @@ -729,6 +738,9 @@ export class ClientServerService { profile, avatarUrl: _clip.user.avatarUrl, ...await this.generateCommonPugData(this.meta), + clientCtx: htmlSafeJsonStringify({ + clip: _clip, + }), }); } else { return await renderBase(reply); diff --git a/packages/backend/src/server/web/views/base.pug b/packages/backend/src/server/web/views/base.pug index 280a5923c2..3883b5e5ab 100644 --- a/packages/backend/src/server/web/views/base.pug +++ b/packages/backend/src/server/web/views/base.pug @@ -74,6 +74,9 @@ html script(type='application/json' id='misskey_meta' data-generated-at=now) != metaJson + script(type='application/json' id='misskey_clientCtx' data-generated-at=now) + != clientCtx + script include ../boot.js |