summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/web/FeedService.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-10-16 10:45:22 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-10-16 10:45:22 +0900
commit1fa1d316969de15d6aaef1dbf0a0b95aec30e377 (patch)
treebacefb9f8dbc2cc18d8c775cdd0572263b4e11ef /packages/backend/src/server/web/FeedService.ts
parentUpdate CHANGELOG.md (diff)
downloadsharkey-1fa1d316969de15d6aaef1dbf0a0b95aec30e377.tar.gz
sharkey-1fa1d316969de15d6aaef1dbf0a0b95aec30e377.tar.bz2
sharkey-1fa1d316969de15d6aaef1dbf0a0b95aec30e377.zip
perf(backend): createdAtをidから取得するように & 無駄なDateインスタンスの生成を避けるように
Diffstat (limited to 'packages/backend/src/server/web/FeedService.ts')
-rw-r--r--packages/backend/src/server/web/FeedService.ts8
1 files changed, 5 insertions, 3 deletions
diff --git a/packages/backend/src/server/web/FeedService.ts b/packages/backend/src/server/web/FeedService.ts
index 78551e800b..b547630298 100644
--- a/packages/backend/src/server/web/FeedService.ts
+++ b/packages/backend/src/server/web/FeedService.ts
@@ -13,6 +13,7 @@ import type { MiUser } from '@/models/User.js';
import { UserEntityService } from '@/core/entities/UserEntityService.js';
import { DriveFileEntityService } from '@/core/entities/DriveFileEntityService.js';
import { bindThis } from '@/decorators.js';
+import { IdService } from '@/core/IdService.js';
@Injectable()
export class FeedService {
@@ -31,6 +32,7 @@ export class FeedService {
private userEntityService: UserEntityService,
private driveFileEntityService: DriveFileEntityService,
+ private idService: IdService,
) {
}
@@ -49,14 +51,14 @@ export class FeedService {
renoteId: IsNull(),
visibility: In(['public', 'home']),
},
- order: { createdAt: -1 },
+ order: { id: -1 },
take: 20,
});
const feed = new Feed({
id: author.link,
title: `${author.name} (@${user.username}@${this.config.host})`,
- updated: notes[0].createdAt,
+ updated: this.idService.parse(notes[0].id).date,
generator: 'Misskey',
description: `${user.notesCount} Notes, ${profile.ffVisibility === 'public' ? user.followingCount : '?'} Following, ${profile.ffVisibility === 'public' ? user.followersCount : '?'} Followers${profile.description ? ` · ${profile.description}` : ''}`,
link: author.link,
@@ -78,7 +80,7 @@ export class FeedService {
feed.addItem({
title: `New note by ${author.name}`,
link: `${this.config.url}/notes/${note.id}`,
- date: note.createdAt,
+ date: this.idService.parse(note.id).date,
description: note.cw ?? undefined,
content: note.text ?? undefined,
image: file ? this.driveFileEntityService.getPublicUrl(file) ?? undefined : undefined,