Skip to content
New issue

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

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

Already on GitHub? # to your account

emoji_reaction_available_serverプロパティをStatusからAccountオブジェクトに移動する #428

Closed
kmycode opened this issue Jan 7, 2024 · 0 comments · Fixed by #434

Comments

@kmycode
Copy link
Owner

kmycode commented Jan 7, 2024

挙動を変更してほしい機能や動作

emoji_reaction_available_serverプロパティを持つオブジェクト

現在の挙動

Statusオブジェクト

def emoji_reaction_available_server
return Setting.enable_emoji_reaction if object.local?
InstanceInfo.emoji_reaction_available?(object.account.domain)
end

変更してほしい新しい挙動

Accountオブジェクトに移動

必要性

『スタンプが利用可能なサーバーのアカウントであるか』というプロパティは、各投稿ではなくアカウントに入れたほうが自然。

このプロパティをStatusに入れた理由として、N+1問題を解消するためのStatusRelationshipPresenterを考慮したというものがあるが、そもそも現状当該プロパティはRedisに保存されているので、APIに不自然なところを作ってでも負荷に気を使うようなことはないと思う

def self.emoji_reaction_available?(domain)
return Setting.enable_emoji_reaction if domain.nil?
Rails.cache.fetch("emoji_reaction_available_domain:#{domain}") { fetch_emoji_reaction_available(domain) }
end

また、現状kmyblueの知名度・利用者ともに無くこのkmyblue独自プロパティに対応したクライアントアプリは確認されていないが、だからこそAPIの破壊的変更は今のうちに対応しておきたいものでもある

@kmycode kmycode added this to the kb10.0 milestone Jan 7, 2024
kmycode added a commit that referenced this issue Jan 9, 2024
…t`オブジェクトに移動する (#434)

* Change: `emoji_reaction_available_server`プロパティを`Status`から`Account`オブジェクトに移動する

* Fix test
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
1 participant