Merge branch 'kb_development' into kb_migration

This commit is contained in:
KMY 2023-03-08 16:38:48 +09:00
commit 9e2390f3c9
57 changed files with 227 additions and 64 deletions

View file

@ -38,7 +38,7 @@ class ActivityPub::Activity::Like < ActivityPub::Activity
end
end
return if EmojiReaction.where(account: @account, status: @original_status).count >= 10
return if EmojiReaction.where(account: @account, status: @original_status).count >= EmojiReaction::EMOJI_REACTION_PER_ACCOUNT_LIMIT
reaction = @original_status.emoji_reactions.create!(account: @account, name: shortcode, custom_emoji: emoji, uri: @json['id'])
write_stream(reaction)

View file

@ -84,7 +84,7 @@ class ActivityPub::TagManager
case status.visibility
when 'public'
[COLLECTIONS[:public]]
when 'unlisted', 'private'
when 'unlisted', 'public_unlisted', 'private'
[account_followers_url(status.account)]
when 'direct', 'limited'
if status.account.silenced?
@ -120,7 +120,7 @@ class ActivityPub::TagManager
case status.visibility
when 'public'
cc << account_followers_url(status.account)
when 'unlisted'
when 'unlisted', 'public_unlisted'
cc << COLLECTIONS[:public]
end

View file

@ -109,7 +109,7 @@ class FeedManager
def merge_into_home(from_account, into_account)
timeline_key = key(:home, into_account.id)
aggregate = into_account.user&.aggregates_reblogs?
query = from_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, :media_attachments, reblog: :account).limit(FeedManager::MAX_ITEMS / 4)
query = from_account.statuses.where(visibility: [:public, :unlisted, :public_unlisted, :private]).includes(:preloadable_poll, :media_attachments, reblog: :account).limit(FeedManager::MAX_ITEMS / 4)
if redis.zcard(timeline_key) >= FeedManager::MAX_ITEMS / 4
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
@ -135,7 +135,7 @@ class FeedManager
def merge_into_list(from_account, list)
timeline_key = key(:list, list.id)
aggregate = list.account.user&.aggregates_reblogs?
query = from_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, :media_attachments, reblog: :account).limit(FeedManager::MAX_ITEMS / 4)
query = from_account.statuses.where(visibility: [:public, :unlisted, :public_unlisted, :private]).includes(:preloadable_poll, :media_attachments, reblog: :account).limit(FeedManager::MAX_ITEMS / 4)
if redis.zcard(timeline_key) >= FeedManager::MAX_ITEMS / 4
oldest_home_score = redis.zrange(timeline_key, 0, 0, with_scores: true).first.last.to_i
@ -253,7 +253,7 @@ class FeedManager
next if last_status_score < oldest_home_score
end
statuses = target_account.statuses.where(visibility: [:public, :unlisted, :private]).includes(:preloadable_poll, :media_attachments, :account, reblog: :account).limit(limit)
statuses = target_account.statuses.where(visibility: [:public, :unlisted, :public_unlisted, :private]).includes(:preloadable_poll, :media_attachments, :account, reblog: :account).limit(limit)
crutches = build_crutches(account.id, statuses)
statuses.each do |status|

View file

@ -87,7 +87,7 @@ class StatusReachFinder
end
def distributable?
@status.public_visibility? || @status.unlisted_visibility?
@status.public_visibility? || @status.unlisted_visibility? || @status.public_unlisted_visibility?
end
def unsafe?

View file

@ -44,7 +44,6 @@ class TextFormatter
end
# line first letter for blockquote
p 'DEBUG ' + html.gsub(/^gt;/, '>')
html = markdownify(html.gsub(/^&gt;/, '>'))
# html = simple_format(html, {}, sanitize: false).delete("\n") if multiline?
@ -202,6 +201,10 @@ class TextFormatter
text.include?(':') ? nil : '<u>' + text + '</u>'
end
def image(link, title, alt_text)
nil
end
private
def process_program_code(code)