Add trending statuses (#17431)
* Add trending statuses * Fix dangling items with stale scores in localized sets * Various fixes and improvements - Change approve_all/reject_all to approve_accounts/reject_accounts - Change Trends::Query methods to not mutate the original query - Change Trends::Query#skip to offset - Change follow recommendations to be refreshed in a transaction * Add tests for trending statuses filtering behaviour * Fix not applying filtering scope in controller
This commit is contained in:
parent
a29a982eaa
commit
27965ce5ed
71 changed files with 1074 additions and 307 deletions
7
db/migrate/20220202200743_add_trendable_to_accounts.rb
Normal file
7
db/migrate/20220202200743_add_trendable_to_accounts.rb
Normal file
|
@ -0,0 +1,7 @@
|
|||
class AddTrendableToAccounts < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :accounts, :trendable, :boolean
|
||||
add_column :accounts, :reviewed_at, :datetime
|
||||
add_column :accounts, :requested_review_at, :datetime
|
||||
end
|
||||
end
|
5
db/migrate/20220202200926_add_trendable_to_statuses.rb
Normal file
5
db/migrate/20220202200926_add_trendable_to_statuses.rb
Normal file
|
@ -0,0 +1,5 @@
|
|||
class AddTrendableToStatuses < ActiveRecord::Migration[6.1]
|
||||
def change
|
||||
add_column :statuses, :trendable, :boolean
|
||||
end
|
||||
end
|
|
@ -0,0 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class RemoveTrustLevelFromAccounts < ActiveRecord::Migration[5.2]
|
||||
disable_ddl_transaction!
|
||||
|
||||
def change
|
||||
safety_assured { remove_column :accounts, :trust_level, :integer }
|
||||
end
|
||||
end
|
|
@ -177,13 +177,15 @@ ActiveRecord::Schema.define(version: 2022_02_24_010024) do
|
|||
t.string "also_known_as", array: true
|
||||
t.datetime "silenced_at"
|
||||
t.datetime "suspended_at"
|
||||
t.integer "trust_level"
|
||||
t.boolean "hide_collections"
|
||||
t.integer "avatar_storage_schema_version"
|
||||
t.integer "header_storage_schema_version"
|
||||
t.string "devices_url"
|
||||
t.integer "suspension_origin"
|
||||
t.datetime "sensitized_at"
|
||||
t.boolean "trendable"
|
||||
t.datetime "reviewed_at"
|
||||
t.datetime "requested_review_at"
|
||||
t.index "(((setweight(to_tsvector('simple'::regconfig, (display_name)::text), 'A'::\"char\") || setweight(to_tsvector('simple'::regconfig, (username)::text), 'B'::\"char\")) || setweight(to_tsvector('simple'::regconfig, (COALESCE(domain, ''::character varying))::text), 'C'::\"char\")))", name: "search_index", using: :gin
|
||||
t.index "lower((username)::text), COALESCE(lower((domain)::text), ''::text)", name: "index_accounts_on_username_and_domain_lower", unique: true
|
||||
t.index ["moved_to_account_id"], name: "index_accounts_on_moved_to_account_id"
|
||||
|
@ -887,6 +889,7 @@ ActiveRecord::Schema.define(version: 2022_02_24_010024) do
|
|||
t.bigint "poll_id"
|
||||
t.datetime "deleted_at"
|
||||
t.datetime "edited_at"
|
||||
t.boolean "trendable"
|
||||
t.index ["account_id", "id", "visibility", "updated_at"], name: "index_statuses_20190820", order: { id: :desc }, where: "(deleted_at IS NULL)"
|
||||
t.index ["deleted_at"], name: "index_statuses_on_deleted_at", where: "(deleted_at IS NOT NULL)"
|
||||
t.index ["id", "account_id"], name: "index_statuses_local_20190824", order: { id: :desc }, where: "((local OR (uri IS NULL)) AND (deleted_at IS NULL) AND (visibility = 0) AND (reblog_of_id IS NULL) AND ((NOT reply) OR (in_reply_to_account_id = account_id)))"
|
||||
|
@ -1228,5 +1231,4 @@ ActiveRecord::Schema.define(version: 2022_02_24_010024) do
|
|||
ORDER BY (sum(t0.rank)) DESC;
|
||||
SQL
|
||||
add_index "follow_recommendations", ["account_id"], name: "index_follow_recommendations_on_account_id", unique: true
|
||||
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue