Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[refactor?] 連合OFFなノートが作成された後に一部の連合向け機能が無駄打ちされている #15018

Open
1 task done
samunohito opened this issue Nov 21, 2024 · 0 comments · May be fixed by #15020
Open
1 task done
Assignees
Labels
packages/backend Server side specific issue/PR

Comments

@samunohito
Copy link
Member

Summary

※後続処理で防がれているため連合そのものは発生しません

if (this.userEntityService.isLocalUser(user)) {
(async () => {
const noteActivity = await this.renderNoteOrRenoteActivity(data, note);
const dm = this.apDeliverManagerService.createDeliverManager(user, noteActivity);
// メンションされたリモートユーザーに配送

上記if文に対し、!data.localOnlyの条件を追加して後続処理の無駄打ちを防ぎます。

this.renderNoteOrRenoteActivity()にlocalOnlyなノートを渡すとnullが返ってくるのですが、このnullは最終的に↓に流れ着いて何も起こらずに処理が終わります(故に配送されない)

if (content == null) return null;

Purpose

  • 連合OFFノート作成時のパフォーマンスがちょっとだけ良くなります
    (ローカルでベンチマーク的なことをしてCPU使用率に数%ほど差があるのを確認しました)
  • 無駄なasync/await、setImmediateの発行を抑止
  • 無駄なDBアクセスを抑止

Do you want to implement this feature yourself?

  • Yes, I will implement this by myself and send a pull request
@samunohito samunohito added the packages/backend Server side specific issue/PR label Nov 21, 2024
@samunohito samunohito self-assigned this Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages/backend Server side specific issue/PR
Projects
None yet
1 participant