gitextract__t6y25uc/ ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── BUG_REPORT.yml │ │ ├── FEATURE_REQUEST.yml │ │ └── QUESTION.yml │ └── SECURITY.md ├── .gitignore ├── .gitmodules ├── .rustfmt.toml ├── .woodpecker.yml ├── Cargo.toml ├── LICENSE ├── README.md ├── api_tests/ │ ├── .npmrc │ ├── .prettierrc.json │ ├── eslint.config.mjs │ ├── jest.config.js │ ├── package.json │ ├── pnpm-workspace.yaml │ ├── prepare-drone-federation-test.sh │ ├── run-federation-test.sh │ ├── src/ │ │ ├── apiv3.spec.ts │ │ ├── comment.spec.ts │ │ ├── community.spec.ts │ │ ├── follow.spec.ts │ │ ├── image.spec.ts │ │ ├── post.spec.ts │ │ ├── private_comm.spec.ts │ │ ├── private_message.spec.ts │ │ ├── shared.ts │ │ ├── speed.spec.ts │ │ ├── tags.spec.ts │ │ └── user.spec.ts │ └── tsconfig.json ├── cliff.toml ├── config/ │ ├── config.hjson │ └── defaults.hjson ├── crates/ │ ├── api/ │ │ ├── api/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── comment/ │ │ │ │ ├── distinguish.rs │ │ │ │ ├── like.rs │ │ │ │ ├── list_comment_likes.rs │ │ │ │ ├── lock.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── save.rs │ │ │ │ └── warning.rs │ │ │ ├── community/ │ │ │ │ ├── add_mod.rs │ │ │ │ ├── ban.rs │ │ │ │ ├── block.rs │ │ │ │ ├── follow.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── multi_community_follow.rs │ │ │ │ ├── pending_follows/ │ │ │ │ │ ├── approve.rs │ │ │ │ │ ├── list.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── random.rs │ │ │ │ ├── tag.rs │ │ │ │ ├── transfer.rs │ │ │ │ └── update_notifications.rs │ │ │ ├── federation/ │ │ │ │ ├── fetcher.rs │ │ │ │ ├── list_comments.rs │ │ │ │ ├── list_person_content.rs │ │ │ │ ├── list_posts.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── read_community.rs │ │ │ │ ├── read_multi_community.rs │ │ │ │ ├── read_person.rs │ │ │ │ ├── resolve_object.rs │ │ │ │ ├── search.rs │ │ │ │ └── user_settings_backup.rs │ │ │ ├── lib.rs │ │ │ ├── local_user/ │ │ │ │ ├── add_admin.rs │ │ │ │ ├── ban_person.rs │ │ │ │ ├── block.rs │ │ │ │ ├── change_password.rs │ │ │ │ ├── change_password_after_reset.rs │ │ │ │ ├── donation_dialog_shown.rs │ │ │ │ ├── export_data.rs │ │ │ │ ├── generate_totp_secret.rs │ │ │ │ ├── get_captcha.rs │ │ │ │ ├── list_hidden.rs │ │ │ │ ├── list_liked.rs │ │ │ │ ├── list_logins.rs │ │ │ │ ├── list_media.rs │ │ │ │ ├── list_read.rs │ │ │ │ ├── list_saved.rs │ │ │ │ ├── login.rs │ │ │ │ ├── logout.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── note_person.rs │ │ │ │ ├── notifications/ │ │ │ │ │ ├── list.rs │ │ │ │ │ ├── mark_all_read.rs │ │ │ │ │ ├── mark_notification_read.rs │ │ │ │ │ └── mod.rs │ │ │ │ ├── resend_verification_email.rs │ │ │ │ ├── reset_password.rs │ │ │ │ ├── save_settings.rs │ │ │ │ ├── unread_counts.rs │ │ │ │ ├── update_totp.rs │ │ │ │ ├── user_block_instance.rs │ │ │ │ ├── validate_auth.rs │ │ │ │ └── verify_email.rs │ │ │ ├── post/ │ │ │ │ ├── feature.rs │ │ │ │ ├── get_link_metadata.rs │ │ │ │ ├── hide.rs │ │ │ │ ├── like.rs │ │ │ │ ├── list_post_likes.rs │ │ │ │ ├── lock.rs │ │ │ │ ├── mark_many_read.rs │ │ │ │ ├── mark_read.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── mod_update.rs │ │ │ │ ├── save.rs │ │ │ │ ├── update_notifications.rs │ │ │ │ └── warning.rs │ │ │ ├── reports/ │ │ │ │ ├── comment_report/ │ │ │ │ │ ├── create.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── resolve.rs │ │ │ │ ├── community_report/ │ │ │ │ │ ├── create.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── resolve.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── post_report/ │ │ │ │ │ ├── create.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── resolve.rs │ │ │ │ ├── private_message_report/ │ │ │ │ │ ├── create.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── resolve.rs │ │ │ │ └── report_combined/ │ │ │ │ ├── list.rs │ │ │ │ └── mod.rs │ │ │ ├── site/ │ │ │ │ ├── admin_allow_instance.rs │ │ │ │ ├── admin_block_instance.rs │ │ │ │ ├── admin_list_users.rs │ │ │ │ ├── federated_instances.rs │ │ │ │ ├── list_all_media.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── mod_log.rs │ │ │ │ ├── purge/ │ │ │ │ │ ├── comment.rs │ │ │ │ │ ├── community.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── person.rs │ │ │ │ │ └── post.rs │ │ │ │ └── registration_applications/ │ │ │ │ ├── approve.rs │ │ │ │ ├── get.rs │ │ │ │ ├── list.rs │ │ │ │ ├── mod.rs │ │ │ │ └── tests.rs │ │ │ └── sitemap.rs │ │ ├── api_common/ │ │ │ ├── Cargo.toml │ │ │ ├── README.md │ │ │ └── src/ │ │ │ ├── account.rs │ │ │ ├── comment.rs │ │ │ ├── community.rs │ │ │ ├── custom_emoji.rs │ │ │ ├── error.rs │ │ │ ├── federation.rs │ │ │ ├── language.rs │ │ │ ├── lib.rs │ │ │ ├── media.rs │ │ │ ├── modlog.rs │ │ │ ├── notification.rs │ │ │ ├── oauth.rs │ │ │ ├── person.rs │ │ │ ├── plugin.rs │ │ │ ├── post.rs │ │ │ ├── private_message.rs │ │ │ ├── report.rs │ │ │ ├── search.rs │ │ │ ├── site.rs │ │ │ └── tagline.rs │ │ ├── api_crud/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── comment/ │ │ │ │ ├── create.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── read.rs │ │ │ │ ├── remove.rs │ │ │ │ └── update.rs │ │ │ ├── community/ │ │ │ │ ├── create.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── list.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── remove.rs │ │ │ │ └── update.rs │ │ │ ├── custom_emoji/ │ │ │ │ ├── create.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── list.rs │ │ │ │ ├── mod.rs │ │ │ │ └── update.rs │ │ │ ├── lib.rs │ │ │ ├── multi_community/ │ │ │ │ ├── create.rs │ │ │ │ ├── create_entry.rs │ │ │ │ ├── delete_entry.rs │ │ │ │ ├── list.rs │ │ │ │ ├── mod.rs │ │ │ │ └── update.rs │ │ │ ├── oauth_provider/ │ │ │ │ ├── create.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── mod.rs │ │ │ │ └── update.rs │ │ │ ├── post/ │ │ │ │ ├── create.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── read.rs │ │ │ │ ├── remove.rs │ │ │ │ └── update.rs │ │ │ ├── private_message/ │ │ │ │ ├── create.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── mod.rs │ │ │ │ └── update.rs │ │ │ ├── site/ │ │ │ │ ├── create.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── read.rs │ │ │ │ └── update.rs │ │ │ ├── tagline/ │ │ │ │ ├── create.rs │ │ │ │ ├── delete.rs │ │ │ │ ├── list.rs │ │ │ │ ├── mod.rs │ │ │ │ └── update.rs │ │ │ └── user/ │ │ │ ├── create.rs │ │ │ ├── delete.rs │ │ │ ├── mod.rs │ │ │ └── my_user.rs │ │ ├── api_utils/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── build_response.rs │ │ │ ├── claims.rs │ │ │ ├── context.rs │ │ │ ├── lib.rs │ │ │ ├── notify.rs │ │ │ ├── plugins.rs │ │ │ ├── request.rs │ │ │ ├── send_activity.rs │ │ │ └── utils.rs │ │ ├── routes/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── routes_v3/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── convert.rs │ │ ├── handlers.rs │ │ └── lib.rs │ ├── apub/ │ │ ├── activities/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── activity_lists.rs │ │ │ ├── block/ │ │ │ │ ├── block_user.rs │ │ │ │ ├── mod.rs │ │ │ │ └── undo_block_user.rs │ │ │ ├── community/ │ │ │ │ ├── announce.rs │ │ │ │ ├── collection_add.rs │ │ │ │ ├── collection_remove.rs │ │ │ │ ├── lock.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── report.rs │ │ │ │ ├── resolve_report.rs │ │ │ │ └── update.rs │ │ │ ├── create_or_update/ │ │ │ │ ├── comment.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── note_wrapper.rs │ │ │ │ ├── post.rs │ │ │ │ └── private_message.rs │ │ │ ├── deletion/ │ │ │ │ ├── delete.rs │ │ │ │ ├── mod.rs │ │ │ │ └── undo_delete.rs │ │ │ ├── following/ │ │ │ │ ├── accept.rs │ │ │ │ ├── follow.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── reject.rs │ │ │ │ └── undo_follow.rs │ │ │ ├── lib.rs │ │ │ ├── protocol/ │ │ │ │ ├── block/ │ │ │ │ │ ├── block_user.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── undo_block_user.rs │ │ │ │ ├── community/ │ │ │ │ │ ├── announce.rs │ │ │ │ │ ├── collection_add.rs │ │ │ │ │ ├── collection_remove.rs │ │ │ │ │ ├── lock.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── report.rs │ │ │ │ │ ├── resolve_report.rs │ │ │ │ │ └── update.rs │ │ │ │ ├── create_or_update/ │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── note.rs │ │ │ │ │ ├── note_wrapper.rs │ │ │ │ │ ├── page.rs │ │ │ │ │ └── private_message.rs │ │ │ │ ├── deletion/ │ │ │ │ │ ├── delete.rs │ │ │ │ │ ├── delete_user.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── undo_delete.rs │ │ │ │ ├── following/ │ │ │ │ │ ├── accept.rs │ │ │ │ │ ├── follow.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── reject.rs │ │ │ │ │ └── undo_follow.rs │ │ │ │ ├── mod.rs │ │ │ │ └── voting/ │ │ │ │ ├── mod.rs │ │ │ │ ├── undo_vote.rs │ │ │ │ └── vote.rs │ │ │ └── voting/ │ │ │ ├── mod.rs │ │ │ ├── undo_vote.rs │ │ │ └── vote.rs │ │ ├── apub/ │ │ │ ├── Cargo.toml │ │ │ ├── assets/ │ │ │ │ ├── discourse/ │ │ │ │ │ └── objects/ │ │ │ │ │ ├── group.json │ │ │ │ │ ├── page.json │ │ │ │ │ └── person.json │ │ │ │ ├── friendica/ │ │ │ │ │ ├── activities/ │ │ │ │ │ │ ├── create_note.json │ │ │ │ │ │ ├── create_page_1.json │ │ │ │ │ │ ├── create_page_2.json │ │ │ │ │ │ ├── delete.json │ │ │ │ │ │ ├── dislike_page.json │ │ │ │ │ │ ├── like_page.json │ │ │ │ │ │ ├── undo_dislike_page.json │ │ │ │ │ │ └── update_note.json │ │ │ │ │ └── objects/ │ │ │ │ │ ├── note_1.json │ │ │ │ │ ├── note_2.json │ │ │ │ │ ├── page_1.json │ │ │ │ │ ├── page_2.json │ │ │ │ │ ├── person_1.json │ │ │ │ │ └── person_2.json │ │ │ │ ├── gnusocial/ │ │ │ │ │ ├── activities/ │ │ │ │ │ │ ├── create_note.json │ │ │ │ │ │ ├── create_page.json │ │ │ │ │ │ └── like_note.json │ │ │ │ │ └── objects/ │ │ │ │ │ ├── group.json │ │ │ │ │ ├── note.json │ │ │ │ │ ├── page.json │ │ │ │ │ └── person.json │ │ │ │ ├── lemmy/ │ │ │ │ │ ├── activities/ │ │ │ │ │ │ ├── block/ │ │ │ │ │ │ │ ├── block_user.json │ │ │ │ │ │ │ └── undo_block_user.json │ │ │ │ │ │ ├── community/ │ │ │ │ │ │ │ ├── add_featured_post.json │ │ │ │ │ │ │ ├── add_mod.json │ │ │ │ │ │ │ ├── announce_create_page.json │ │ │ │ │ │ │ ├── lock_note.json │ │ │ │ │ │ │ ├── lock_page.json │ │ │ │ │ │ │ ├── remove_featured_post.json │ │ │ │ │ │ │ ├── remove_mod.json │ │ │ │ │ │ │ ├── report_page.json │ │ │ │ │ │ │ ├── resolve_report_page.json │ │ │ │ │ │ │ ├── undo_lock_note.json │ │ │ │ │ │ │ ├── undo_lock_page.json │ │ │ │ │ │ │ └── update_community.json │ │ │ │ │ │ ├── create_or_update/ │ │ │ │ │ │ │ ├── create_comment.json │ │ │ │ │ │ │ ├── create_page.json │ │ │ │ │ │ │ ├── create_private_message.json │ │ │ │ │ │ │ └── update_page.json │ │ │ │ │ │ ├── deletion/ │ │ │ │ │ │ │ ├── delete_page.json │ │ │ │ │ │ │ ├── delete_private_message.json │ │ │ │ │ │ │ ├── delete_user.json │ │ │ │ │ │ │ ├── remove_note.json │ │ │ │ │ │ │ ├── undo_delete_page.json │ │ │ │ │ │ │ ├── undo_delete_private_message.json │ │ │ │ │ │ │ └── undo_remove_note.json │ │ │ │ │ │ ├── following/ │ │ │ │ │ │ │ ├── accept.json │ │ │ │ │ │ │ ├── follow.json │ │ │ │ │ │ │ └── undo_follow.json │ │ │ │ │ │ └── voting/ │ │ │ │ │ │ ├── dislike_page.json │ │ │ │ │ │ ├── like_note.json │ │ │ │ │ │ ├── undo_dislike_page.json │ │ │ │ │ │ └── undo_like_note.json │ │ │ │ │ ├── collections/ │ │ │ │ │ │ ├── group_featured_posts.json │ │ │ │ │ │ ├── group_followers.json │ │ │ │ │ │ ├── group_moderators.json │ │ │ │ │ │ ├── group_outbox.json │ │ │ │ │ │ └── person_outbox.json │ │ │ │ │ └── objects/ │ │ │ │ │ ├── comment.json │ │ │ │ │ ├── group.json │ │ │ │ │ ├── instance.json │ │ │ │ │ ├── page.json │ │ │ │ │ ├── person.json │ │ │ │ │ ├── private_message.json │ │ │ │ │ └── tombstone.json │ │ │ │ ├── lotide/ │ │ │ │ │ ├── activities/ │ │ │ │ │ │ ├── create_note_reply.json │ │ │ │ │ │ ├── create_page.json │ │ │ │ │ │ ├── create_page_image.json │ │ │ │ │ │ ├── delete_note.json │ │ │ │ │ │ └── follow.json │ │ │ │ │ └── objects/ │ │ │ │ │ ├── group.json │ │ │ │ │ ├── note.json │ │ │ │ │ ├── page.json │ │ │ │ │ ├── person.json │ │ │ │ │ └── tombstone.json │ │ │ │ ├── mastodon/ │ │ │ │ │ ├── activities/ │ │ │ │ │ │ ├── create_note.json │ │ │ │ │ │ ├── delete.json │ │ │ │ │ │ ├── flag.json │ │ │ │ │ │ ├── follow.json │ │ │ │ │ │ ├── like_page.json │ │ │ │ │ │ ├── private_message.json │ │ │ │ │ │ ├── undo_follow.json │ │ │ │ │ │ └── undo_like_page.json │ │ │ │ │ ├── collections/ │ │ │ │ │ │ └── featured.json │ │ │ │ │ └── objects/ │ │ │ │ │ ├── note_1.json │ │ │ │ │ ├── note_2.json │ │ │ │ │ ├── page.json │ │ │ │ │ └── person.json │ │ │ │ ├── mbin/ │ │ │ │ │ ├── activities/ │ │ │ │ │ │ ├── accept.json │ │ │ │ │ │ └── flag.json │ │ │ │ │ └── objects/ │ │ │ │ │ └── instance.json │ │ │ │ ├── mobilizon/ │ │ │ │ │ └── objects/ │ │ │ │ │ ├── event.json │ │ │ │ │ ├── group.json │ │ │ │ │ └── person.json │ │ │ │ ├── nodebb/ │ │ │ │ │ └── objects/ │ │ │ │ │ ├── group.json │ │ │ │ │ ├── page.json │ │ │ │ │ └── person.json │ │ │ │ ├── peertube/ │ │ │ │ │ ├── activities/ │ │ │ │ │ │ └── announce_video.json │ │ │ │ │ └── objects/ │ │ │ │ │ ├── group.json │ │ │ │ │ ├── note.json │ │ │ │ │ ├── person.json │ │ │ │ │ └── video.json │ │ │ │ ├── pleroma/ │ │ │ │ │ ├── activities/ │ │ │ │ │ │ ├── create_note.json │ │ │ │ │ │ ├── delete.json │ │ │ │ │ │ └── follow.json │ │ │ │ │ └── objects/ │ │ │ │ │ ├── chat_message.json │ │ │ │ │ ├── note.json │ │ │ │ │ └── person.json │ │ │ │ ├── smithereen/ │ │ │ │ │ ├── activities/ │ │ │ │ │ │ └── create_note.json │ │ │ │ │ └── objects/ │ │ │ │ │ ├── note.json │ │ │ │ │ └── person.json │ │ │ │ └── wordpress/ │ │ │ │ ├── activities/ │ │ │ │ │ └── announce.json │ │ │ │ └── objects/ │ │ │ │ ├── group.json │ │ │ │ ├── note.json │ │ │ │ ├── page.json │ │ │ │ └── person.json │ │ │ └── src/ │ │ │ ├── collections/ │ │ │ │ ├── community_featured.rs │ │ │ │ ├── community_follower.rs │ │ │ │ ├── community_moderators.rs │ │ │ │ ├── community_outbox.rs │ │ │ │ └── mod.rs │ │ │ ├── http/ │ │ │ │ ├── comment.rs │ │ │ │ ├── community.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── person.rs │ │ │ │ ├── post.rs │ │ │ │ ├── routes.rs │ │ │ │ └── site.rs │ │ │ ├── lib.rs │ │ │ └── protocol/ │ │ │ ├── collections/ │ │ │ │ ├── group_featured.rs │ │ │ │ ├── group_followers.rs │ │ │ │ ├── group_moderators.rs │ │ │ │ ├── group_outbox.rs │ │ │ │ ├── mod.rs │ │ │ │ └── url_collection.rs │ │ │ └── mod.rs │ │ ├── objects/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ ├── objects/ │ │ │ │ ├── comment.rs │ │ │ │ ├── community.rs │ │ │ │ ├── instance.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── multi_community.rs │ │ │ │ ├── multi_community_collection.rs │ │ │ │ ├── person.rs │ │ │ │ ├── post.rs │ │ │ │ └── private_message.rs │ │ │ ├── protocol/ │ │ │ │ ├── group.rs │ │ │ │ ├── instance.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── multi_community.rs │ │ │ │ ├── note.rs │ │ │ │ ├── page.rs │ │ │ │ ├── person.rs │ │ │ │ ├── private_message.rs │ │ │ │ └── tags.rs │ │ │ └── utils/ │ │ │ ├── functions.rs │ │ │ ├── markdown_links.rs │ │ │ ├── mentions.rs │ │ │ ├── mod.rs │ │ │ ├── protocol.rs │ │ │ └── test.rs │ │ └── send/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── inboxes.rs │ │ ├── lib.rs │ │ ├── send.rs │ │ ├── stats.rs │ │ ├── util.rs │ │ └── worker.rs │ ├── db_schema/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── impls/ │ │ │ ├── activity.rs │ │ │ ├── actor_language.rs │ │ │ ├── comment.rs │ │ │ ├── comment_report.rs │ │ │ ├── community.rs │ │ │ ├── community_community_follow.rs │ │ │ ├── community_report.rs │ │ │ ├── community_tag.rs │ │ │ ├── custom_emoji.rs │ │ │ ├── email_verification.rs │ │ │ ├── federation_allowlist.rs │ │ │ ├── federation_blocklist.rs │ │ │ ├── federation_queue_state.rs │ │ │ ├── images.rs │ │ │ ├── instance.rs │ │ │ ├── keyword_block.rs │ │ │ ├── language.rs │ │ │ ├── local_site.rs │ │ │ ├── local_site_rate_limit.rs │ │ │ ├── local_site_url_blocklist.rs │ │ │ ├── local_user.rs │ │ │ ├── login_token.rs │ │ │ ├── mod.rs │ │ │ ├── modlog.rs │ │ │ ├── multi_community.rs │ │ │ ├── notification.rs │ │ │ ├── oauth_account.rs │ │ │ ├── oauth_provider.rs │ │ │ ├── password_reset_request.rs │ │ │ ├── person.rs │ │ │ ├── post.rs │ │ │ ├── post_report.rs │ │ │ ├── private_message.rs │ │ │ ├── private_message_report.rs │ │ │ ├── registration_application.rs │ │ │ ├── secret.rs │ │ │ ├── site.rs │ │ │ └── tagline.rs │ │ ├── lib.rs │ │ ├── newtypes.rs │ │ ├── source/ │ │ │ ├── activity.rs │ │ │ ├── actor_language.rs │ │ │ ├── combined/ │ │ │ │ ├── mod.rs │ │ │ │ ├── person_content.rs │ │ │ │ ├── person_liked.rs │ │ │ │ ├── person_saved.rs │ │ │ │ ├── report.rs │ │ │ │ └── search.rs │ │ │ ├── comment.rs │ │ │ ├── comment_report.rs │ │ │ ├── community.rs │ │ │ ├── community_community_follow.rs │ │ │ ├── community_report.rs │ │ │ ├── community_tag.rs │ │ │ ├── custom_emoji.rs │ │ │ ├── custom_emoji_keyword.rs │ │ │ ├── email_verification.rs │ │ │ ├── federation_allowlist.rs │ │ │ ├── federation_blocklist.rs │ │ │ ├── federation_queue_state.rs │ │ │ ├── images.rs │ │ │ ├── instance.rs │ │ │ ├── keyword_block.rs │ │ │ ├── language.rs │ │ │ ├── local_site.rs │ │ │ ├── local_site_rate_limit.rs │ │ │ ├── local_site_url_blocklist.rs │ │ │ ├── local_user.rs │ │ │ ├── login_token.rs │ │ │ ├── mod.rs │ │ │ ├── modlog.rs │ │ │ ├── multi_community.rs │ │ │ ├── notification.rs │ │ │ ├── oauth_account.rs │ │ │ ├── oauth_provider.rs │ │ │ ├── password_reset_request.rs │ │ │ ├── person.rs │ │ │ ├── post.rs │ │ │ ├── post_report.rs │ │ │ ├── private_message.rs │ │ │ ├── private_message_report.rs │ │ │ ├── registration_application.rs │ │ │ ├── secret.rs │ │ │ ├── site.rs │ │ │ └── tagline.rs │ │ ├── test_data.rs │ │ ├── traits.rs │ │ └── utils/ │ │ ├── mod.rs │ │ └── queries/ │ │ ├── filters.rs │ │ ├── mod.rs │ │ └── selects.rs │ ├── db_schema_file/ │ │ ├── Cargo.toml │ │ ├── diesel_ltree.patch │ │ └── src/ │ │ ├── enums.rs │ │ ├── joins.rs │ │ ├── lib.rs │ │ ├── schema.rs │ │ └── table_impls.rs │ ├── db_views/ │ │ ├── comment/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── community/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── community_follower/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── community_follower_approval/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── community_moderator/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── custom_emoji/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── local_image/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── local_user/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── modlog/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── notification/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── notification_sql/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── person/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── person_content_combined/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── person_liked_combined/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── person_saved_combined/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── post/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── db_perf/ │ │ │ │ ├── mod.rs │ │ │ │ └── series.rs │ │ │ ├── impls.rs │ │ │ ├── lib.rs │ │ │ └── test.rs │ │ ├── post_comment_combined/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── private_message/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── registration_applications/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── report_combined/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── report_combined_sql/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── search_combined/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ ├── site/ │ │ │ ├── Cargo.toml │ │ │ └── src/ │ │ │ ├── api.rs │ │ │ ├── impls.rs │ │ │ └── lib.rs │ │ └── vote/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── impls.rs │ │ └── lib.rs │ ├── diesel_utils/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── replaceable_schema/ │ │ │ ├── triggers.sql │ │ │ └── utils.sql │ │ └── src/ │ │ ├── connection.rs │ │ ├── dburl.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── pagination.rs │ │ ├── schema_setup/ │ │ │ ├── diff_check.rs │ │ │ └── mod.rs │ │ ├── sensitive.rs │ │ ├── traits.rs │ │ └── utils.rs │ ├── email/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ ├── account.rs │ │ ├── admin.rs │ │ ├── lib.rs │ │ ├── notifications.rs │ │ └── send.rs │ ├── routes/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── feeds/ │ │ │ ├── mod.rs │ │ │ └── negotiate_content.rs │ │ ├── images/ │ │ │ ├── delete.rs │ │ │ ├── download.rs │ │ │ ├── mod.rs │ │ │ ├── upload.rs │ │ │ └── utils.rs │ │ ├── lib.rs │ │ ├── middleware/ │ │ │ ├── idempotency.rs │ │ │ ├── mod.rs │ │ │ └── session.rs │ │ ├── nodeinfo.rs │ │ ├── utils/ │ │ │ ├── mod.rs │ │ │ ├── prometheus_metrics.rs │ │ │ ├── scheduled_tasks.rs │ │ │ └── setup_local_site.rs │ │ └── webfinger.rs │ ├── server/ │ │ ├── Cargo.toml │ │ └── src/ │ │ ├── lib.rs │ │ └── main.rs │ └── utils/ │ ├── Cargo.toml │ ├── src/ │ │ ├── cache_header.rs │ │ ├── error.rs │ │ ├── lib.rs │ │ ├── main.rs │ │ ├── rate_limit/ │ │ │ ├── backend.rs │ │ │ ├── input.rs │ │ │ └── mod.rs │ │ ├── response.rs │ │ ├── settings/ │ │ │ ├── mod.rs │ │ │ └── structs.rs │ │ └── utils/ │ │ ├── markdown/ │ │ │ ├── identifier_rule.rs │ │ │ ├── image_links.rs │ │ │ ├── link_rule.rs │ │ │ └── mod.rs │ │ ├── mention.rs │ │ ├── mod.rs │ │ ├── slurs.rs │ │ └── validation.rs │ └── tests/ │ └── test_errors_used.rs ├── diesel.toml ├── docker/ │ ├── Dockerfile │ ├── README.md │ ├── customPostgresql.conf │ ├── docker-compose.yml │ ├── docker_db_backup.sh │ ├── docker_update.sh │ ├── federation/ │ │ ├── docker-compose.yml │ │ ├── lemmy_alpha.hjson │ │ ├── lemmy_beta.hjson │ │ ├── lemmy_delta.hjson │ │ ├── lemmy_epsilon.hjson │ │ ├── lemmy_gamma.hjson │ │ ├── nginx.conf │ │ └── start-local-instances.bash │ ├── lemmy.hjson │ ├── nginx.conf │ └── test_deploy.sh ├── migrations/ │ ├── 00000000000000_diesel_initial_setup/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-02-26-002946_create_user/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-02-27-170003_create_community/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-03-03-163336_create_post/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-03-05-233828_create_comment/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-03-30-212058_create_post_view/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-04-03-155205_create_community_view/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-04-03-155309_create_comment_view/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-04-07-003142_create_moderation_logs/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-04-08-015947_create_user_view/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-04-11-144915_create_mod_views/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-04-29-175834_add_delete_columns/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-05-02-051656_community_view_hot_rank/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-06-01-222649_remove_admin/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-08-11-000918_add_nsfw_columns/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-08-29-040006_add_community_count/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-09-05-230317_add_mod_ban_views/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-09-09-042010_add_stickied_posts/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-10-15-181630_add_themes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-10-19-052737_create_user_mention/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-10-21-011237_add_default_sorts/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-10-24-002614_create_password_reset_request/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-12-09-060754_add_lang/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-12-11-181820_add_site_fields/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2019-12-29-164820_add_avatar/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-01-01-200418_add_email_to_user_view/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-01-02-172755_add_show_avatar_and_email_notifications_to_user/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-01-11-012452_add_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-01-13-025151_create_materialized_views/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-01-21-001001_create_private_message/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-01-29-011901_create_reply_materialized_view/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-01-29-030825_create_user_mention_materialized_view/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-02-02-004806_add_case_insensitive_usernames/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-02-06-165953_change_post_title_length/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-02-07-210055_add_comment_subscribed/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-02-08-145624_add_post_newest_activity_time/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-03-06-202329_add_post_iframely_data/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-03-26-192410_add_activitypub_tables/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-04-03-194936_add_activitypub_for_posts_and_comments/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-04-07-135912_add_user_community_apub_constraints/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-04-14-163701_update_views_for_activitypub/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-04-21-123957_remove_unique_user_constraints/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-05-05-210233_add_activitypub_for_private_messages/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-06-30-135809_remove_mat_views/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-07-08-202609_add_creator_published/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-07-12-100442_add_post_title_to_comments_view/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-07-18-234519_add_unique_community_user_actor_ids/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-08-03-000110_add_preferred_usernames_banners_and_icons/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-08-06-205355_update_community_post_count/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-08-25-132005_add_unique_ap_ids/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-09-07-231141_add_migration_utils/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-10-07-234221_fix_fast_triggers/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-10-10-035723_fix_fast_triggers_2/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-10-13-212240_create_report_tables/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-10-23-115011_activity_ap_id_column/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-11-05-152724_activity_remove_user_id/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-11-10-150835_community_follower_pending/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-11-26-134531_delete_user/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-12-02-152437_create_site_aggregates/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-12-03-035643_create_user_aggregates/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-12-04-183345_create_community_aggregates/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-12-10-152350_create_post_aggregates/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-12-14-020038_create_comment_aggregates/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-12-17-030456_create_alias_views/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2020-12-17-031053_remove_fast_tables_and_views/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-01-05-200932_add_hot_rank_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-01-26-173850_default_actor_id/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-01-27-202728_active_users_monthly/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-01-31-050334_add_forum_sort_index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-02-02-153240_apub_columns/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-02-10-164051_add_new_comments_sort_index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-02-13-210612_set_correct_aggregates_time_columns/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-02-25-112959_remove-categories/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-02-28-162616_clean_empty_post_urls/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-03-04-040229_clean_icon_urls/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-03-09-171136_split_user_table_2/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-03-19-014144_add_col_local_user_validator_time/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-03-20-185321_move_matrix_id_to_person/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-03-31-103917_add_show_score_setting/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-03-31-105915_add_bot_account/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-03-31-144349_add_site_short_description/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-04-01-173552_rename_preferred_username_to_display_name/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-04-01-181826_add_community_agg_active_monthly_index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-04-02-021422_remove_community_creator/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-04-20-155001_limit-admins-create-community/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-04-24-174047_add_show_read_post_setting/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-07-19-130929_add_show_new_post_notifs_setting/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-07-20-102033_actor_name_length/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-08-02-002342_comment_count_fixes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-08-04-223559_create_user_community_block/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-08-16-004209_fix_remove_bots_from_aggregates/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-08-17-210508_create_mod_transfer_community/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-09-20-112945_jwt-secret/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-10-01-141650_create_admin_purge/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-11-22-135324_add_activity_ap_id_index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-11-22-143904_add_required_public_key/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-11-23-031528_add_report_published_index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-11-23-132840_email_verification/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-11-23-153753_add_invite_only_columns/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-12-09-225529_add_published_to_email_verification/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2021-12-14-181537_add_temporary_bans/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-01-04-034553_add_hidden_column/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-01-20-160328_remove_site_creator/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-01-28-104106_instance-actor/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-02-01-154240_add_community_title_index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-02-18-210946_default_theme/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-04-04-183652_update_community_aggregates_on_soft_delete/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-04-11-210137_fix_unique_changeme/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-04-12-114352_default_post_listing_type/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-04-12-185205_change_default_listing_type_to_local/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-04-19-111004_default_require_application/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-04-26-105145_only_mod_can_post/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-05-19-153931_legal-information/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-05-20-135341_embed-url/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-06-12-012121_add_site_hide_modlog_names/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-06-13-124806_post_report_name_length/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-06-21-123144_language-tags/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-07-07-182650_comment_ltrees/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-08-04-150644_add_application_email_admins/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-08-04-214722_add_distinguished_comment/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-08-05-203502_add_person_post_aggregates/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-08-22-193848_comment-language-tags/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-09-07-113813_drop_ccnew_indexes_function/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-09-07-114618_pm-reports/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-09-08-102358_site-and-community-languages/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-09-24-161829_remove_table_aliases/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-10-06-183632_move_blocklist_to_db/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-11-13-181529_create_taglines/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-11-20-032430_sticky_local/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-11-21-143249_remove-federation-settings/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-11-21-204256_user-following/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2022-12-05-110642_registration_mode/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-01-17-165819_cleanup_post_aggregates_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-02-01-012747_fix_active_index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-02-05-102549_drop-site-federation-debug/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-02-07-030958_community-collections/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-02-11-173347_custom_emojis/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-02-13-172528_add_report_email_admins/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-02-13-221303_add_instance_software_and_version/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-02-15-212546_add_post_comment_saved_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-02-16-194139_add_totp_secret/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-04-14-175955_add_listingtype_sorttype_enums/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-04-23-164732_add_person_details_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-05-10-095739_force_enable_undetermined_language/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-06-104440_index_post_url/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-07-105918_add_hot_rank_columns/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-17-175955_add_listingtype_sorttype_hour_enums/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-19-055530_add_retry_worker_setting/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-19-120700_no_double_deletion/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-20-191145_add_listingtype_sorttype_3_6_9_months_enums/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-21-153242_add_captcha/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-22-051755_fix_local_communities_marked_non_local/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-22-101245_increase_user_theme_column_size/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-24-072904_add_open_links_in_new_tab_setting/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-24-185942_aggegates_published_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-06-27-065106_add_ui_settings/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-04-153335_add_optimized_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-05-000058_person-admin/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-06-151124_hot-rank-future/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-08-101154_fix_soft_delete_aggregates/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-10-075550_add-infinite-scroll-setting/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-11-084714_receive_activity_table/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-14-154840_add_optimized_indexes_published/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-14-215339_aggregates_nonzero_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-18-082614_post_aggregates_community_id/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-19-163511_comment_sort_hot_rank_then_score/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-24-232635_trigram-index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-26-000217_create_controversial_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-26-222023_site-aggregates-one/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-07-27-134652_remove-expensive-broken-trigger/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-08-01-101826_admin_flag_local_user/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-08-01-115243_persistent-activity-queue/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-08-02-144930_password-reset-token/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-08-02-174444_fix-timezones/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-08-08-163911_add_post_listing_mode_setting/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-08-09-101305_user_instance_block/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-08-23-182533_scaled_rank/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-08-29-183053_add_listing_type_moderator_view/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-08-31-205559_add_image_upload/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-09-01-112158_auto_resolve_report/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-09-07-215546_post-queries-efficient/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-09-11-110040_rework-2fa-setup/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-09-12-194850_add_federation_worker_index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-09-18-141700_login-token/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-09-20-110614_drop-show-new-post-notifs/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-09-28-084231_import_user_settings_rate_limit/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-10-02-145002_community_followers_count_federated/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-10-06-133405_add_keyboard_navigation_setting/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-10-13-175712_allow_animated_avatars/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-10-17-181800_drop_remove_community_expires/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-10-23-184941_hot_rank_greatest_fix/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-10-24-030352_change_primary_keys_and_remove_some_id_columns/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-10-24-131607_proxy_links/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-10-24-183747_autocollapse_bot_comments/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-10-27-142514_post_url_content_type/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-11-01-223740_federation-published/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-11-02-120140_apub-signed-fetch/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-11-07-135409_inbox_unique/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-11-22-194806_low_rank_defaults/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-12-06-180359_edit_active_users/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-12-19-210053_tolerable-batch-insert-speed/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2023-12-22-040137_make-mixed-sorting-directions-work-with-tuple-comparison/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-01-02-094916_site-name-not-unique/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-01-05-213000_community_aggregates_add_local_subscribers/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-01-15-100133_local-only-community/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-01-22-105746_lemmynsfw-changes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-01-25-151400_remove_auto_resolve_report_trigger/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-02-12-211114_add_vote_display_mode_setting/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-02-15-171358_default_instance_sort_type/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-02-24-034523_replaceable-schema/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-02-27-204628_add_post_alt_text/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-02-28-144211_hide_posts/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-03-06-104706_local_image_user_opt/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-03-06-201637_url_blocklist/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-04-05-153647_alter_vote_display_mode_defaults/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-04-15-105932_community_followers_url_optional/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-04-23-020604_add_post_id_index/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-05-04-140749_separate_triggers/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-05-05-162540_add_image_detail_table/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-06-17-160323_fix_post_aggregates_featured_local/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-06-24-000000_ap_id_triggers/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-07-01-014711_exponential_controversy/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-08-03-155932_increase_post_url_max_length/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2024-11-12-090437_move-triggers/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-01-10-135505_donation-dialog/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-02-11-131045_ban-remove-content-pm/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-02-24-173152_search-alt-text-of-posts/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-03-07-094522_enable_english_for_all/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-04-07-100344_registration-rate-limit/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-05-15-154113_missing_post_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-07-29-152742_add_indexes_for_aggregates_activity/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-07-29-152743_post-aggregates-creator-community-indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000000_enable_private_messages/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000002_error_if_code_migrations_needed/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000003_remove_show_scores_column/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000004_custom_emoji_tagline_changes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000005_drop-enable-nsfw/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000006_default_comment_sort_type/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000007_schedule-post/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000008_create_oauth_provider/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000009_add_federation_vote_rejection/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000010_remove_auto_expand/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000011_add_short_community_description/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000012_no-individual-inboxes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000013_comment-vote-remote-postid/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000014_private-community/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000015_add_mark_fetched_posts_as_read/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000016_smoosh-tables-together/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000017_forbid_diesel_cli/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000018_custom_migration_runner/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000019_add_report_count/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000020_oauth_pkce/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000021_add_blurhash_to_image_details/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000022_instance-block-mod-log/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000023_add_report_combined_table/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000024_add_person_content_combined_table/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000025_add_modlog_combined_table/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000026_add_inbox_combined_table/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000027_add_search_combined_table/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000028_add_index_on_person_id_read_for_read_only_post_actions/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000029_community-post-tags/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000030_optimize_get_random_community/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000031_update-replaceable-schema/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000032_community_report/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000033_add_post_keyword_block_table/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000034_no-image-token/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000035_media_filter/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000036_interactions_per_month_schema/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000037_report_to_admins/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000038_ap_id/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000039_remove_post_sort_type_enums/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000040_block_nsfw/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000041_remove-aggregate-tables/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000042_community-hidden-visibility/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000043_community-local-removed/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000044_post_comment_pending/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000045_site_person_ban/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000047_disable-email-notifications/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000048_cursor_pagination_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000049_add_liked_combined/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000050_show_downvotes_for_others_only/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000051_local_image_person/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000052_lock_reason/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000053_remove_hide_modlog_names/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000054_mod-change-community-vis/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000055_rename_timestamp_add_at/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000056_person_note/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000057_multi-community/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000058_instance_block_communities_persons/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000059_person_votes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000060_rename-rate-limit-columns/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000061_drop-person-ban/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000062_username-instance-unique/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000063_post-or-comment-notification/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000064_add_missing_foreign_key_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000065_group-follow/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000066_modlog-rename/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000067_add_default_items_per_page/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-01-000068_local_user_trigger/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-06-170325_add_indexes_for_aggregates_activity_new/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-08-20-000000_comment-lock/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-09-01-141127_local-community-collections/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-09-08-000001_add-video-dimensions/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-09-08-140711_remove-actor-name-max-length/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-09-12-093537_mod-reason-mandatory/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-09-15-090401_remove-keyboard-nav/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-09-19-090047_notify-mod-action/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-09-19-132648-0000_theme-instance-default/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-10-08-084508-0000_multi-comm-index-lower/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-10-09-101527-0000_community-follower-denied/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-10-15-114811-0000_merge-modlog-tables/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-11-05-181519-0000_add_registration_application_updated_at/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2025-11-08-123111-0000_add_multi_community_subscribers_community_count/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-01-08-132525-0000_community-sidebar-summary/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-01-19-122321-0000_add_community_tag_color/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-01-23-094410-0000_rename-sidebar-again/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-01-23-140244-0000_rename-tag-to-community-tag/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-01-28-115414-0000_captcha-plugin/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-02-01-205644-0000_add_moderator_warn_modlog_kind/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-02-03-235249-0000_add_moderator_warn_constraint_check/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-02-19-120000-0000_add_bulk_to_modlog/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-02-19-192014-0000_rename_suggested_communities/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-02-24-205759-0000_add_notification_creator_id/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-03-02-231448-0000_add_multi_community_sidebar/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-03-03-211442-0000_move_config_pictrs_to_db/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-03-04-143123-0000_add_deleted_by_recip_to_pm/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-03-08-021022-0000_fixup_post_action_indexes/ │ │ ├── down.sql │ │ └── up.sql │ ├── 2026-03-08-202630-0000_add_modlog_foreign_keys/ │ │ ├── down.sql │ │ └── up.sql │ └── 2026-03-09-014616-0000_add_resolved_report_combined/ │ ├── down.sql │ └── up.sql ├── readmes/ │ ├── README.es.md │ ├── README.ja.md │ ├── README.ru.md │ ├── README.zh.hans.md │ └── README.zh.hant.md ├── rust-toolchain.toml └── scripts/ ├── alpine_install_pg_formatter.sh ├── clean-workspace.sh ├── clear_db.sh ├── compilation_benchmark.sh ├── db-init.sh ├── db_perf.sh ├── dump_schema.sh ├── install.sh ├── lint.sh ├── postgres_12_to_15_upgrade.sh ├── postgres_15_to_16_upgrade.sh ├── query_testing/ │ ├── apache_bench_report.sh │ ├── api_benchmark.sh │ ├── bulk_upsert_timings.md │ ├── post_query_hot_rank.sh │ ├── views_old/ │ │ ├── generate_reports.sh │ │ └── timings-2021-01-05_21-06-37.out │ └── views_to_diesel_migration/ │ ├── generate_reports.sh │ └── timings-2021-01-05_21-32-54.out ├── release.bash ├── restore_db.sh ├── sql_format_check.sh ├── start_dev_db.sh ├── test-with-coverage.sh ├── test.sh ├── update_config_defaults.sh ├── update_schema_file.sh ├── update_translations.sh └── upgrade_deps.sh