Commit graph

1735 commits

Author SHA1 Message Date
Claire 8eb27c60e1
Add most_recent_notification_id to NotificationGroup (#30707) 2024-06-14 10:33:06 +00:00
Claire 37f53542fe
Fix limit handling in grouped notifications CTE (#30685) 2024-06-13 12:42:40 +00:00
Matt Jankowski d818ddd687
Extract SIGN_COUNT_LIMIT constant in WebauthnCredential class (#30636) 2024-06-11 15:36:21 +00:00
Matt Jankowski 665f6f09a0
Add expired/revoked scopes for doorkeeper models via extension modules (#29936) 2024-06-11 08:50:51 +00:00
Matt Jankowski 9bf2e2eda0
Extract TEXT_LENGTH_LIMIT constant in Appeal class (#30638) 2024-06-10 15:23:17 +00:00
Claire 9e9613b286
Fix mentions.account_id and mentions.status_id not having NOT NULL database constraints (#30591) 2024-06-07 13:45:11 +00:00
Claire 1408733386
Fix Mastodon relying on ImageMagick even with MASTODON_USE_LIBVIPS (#30590) 2024-06-07 09:27:59 +00:00
Eugen Rochko a2505e8611
Add timeline of public posts about a trending link to REST API (#30381) 2024-06-06 08:43:04 +00:00
Emelia Smith 4655be0da6
Fix add validation to webpush subscription keys (#30542) 2024-06-05 19:16:47 +00:00
Eugen Rochko 5f15a892fa
Add support for libvips in addition to ImageMagick (#30090)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-06-05 19:15:39 +00:00
Emelia Smith eef2cc054f
Add url validation to Web::PushSubscription endpoints (#30540) 2024-06-05 08:06:06 +00:00
Claire 974335e414
Add experimental server-side notification grouping (#29889) 2024-06-03 08:35:59 +00:00
Eugen Rochko 128987eded
Add support for fediverse:creator OpenGraph tag (#30398) 2024-05-29 01:34:33 +02:00
Matt Jankowski 4a77e477ee
Consolidate account scopes for LOWER (index using) username/domain queries (#30451) 2024-05-28 14:11:31 +00:00
Matt Jankowski c61e356475
Add Status::MEDIA_ATTACHMENTS_LIMIT configuration constant (#30433) 2024-05-27 09:49:44 +00:00
Matt Jankowski 9b5055d34d
Fix Style/SuperArguments cop (#30406) 2024-05-24 08:36:21 +00:00
Claire 89f89d738f
Revert "Allow unblocking email addresses from any matching account (#29305)" (#30385) 2024-05-21 08:56:08 +00:00
Matt Jankowski def6b686ff
Fix Rails/WhereRange cop (#30343) 2024-05-20 09:37:36 +00:00
Jeong Arm a627219b25
Fix moderation action logs (#30342) 2024-05-17 09:18:54 +00:00
Emelia Smith 5fd56512de
Improve Report Notes and Account Moderation Notes (#30288) 2024-05-15 13:38:36 +00:00
Claire d8c4284723
Ensure custom favicon is converted to PNG and ICO (#30208) 2024-05-07 18:15:17 +00:00
Claire 2fe1b8d169
Add API to get multiple accounts and statuses (#27871)
Co-authored-by: noellabo <noel.yoshiba@gmail.com>
2024-05-06 15:19:15 +00:00
Fawaz Farid bc24c4792d
Allow admins to configure instance favicon and logo (#30040) 2024-05-06 15:06:52 +00:00
Claire 30ef9fccf0
Fix hashtag matching pattern matching some link anchors (#30190) 2024-05-06 12:47:19 +00:00
Claire e5062b7135
Fix post deletion not being deferred when those are part of an account warning (#30163) 2024-05-06 09:52:34 +00:00
Râu Cao 9aa31be8d3
Fix local account search on LDAP login being case-sensitive (#30113)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-05-03 09:22:48 +00:00
Matt Jankowski 88882fbbee
Move Rails/HABTM cop out of todo (#30118) 2024-05-02 09:40:05 +00:00
Matt Jankowski 1e7d5d2957
Update devise-two-factor to version 5.0.0 (#28325)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-05-02 09:31:41 +00:00
Matt Jankowski 924af400da
Remove unused memoization in CustomFilter#expires_in method (#30117) 2024-04-29 12:49:31 +00:00
Matt Jankowski ac7f4d57bb
Use composable query in Status.without_replies scope (#30086) 2024-04-29 09:55:37 +00:00
Claire 95e9de5777
Prevent accidental serialization of Account and User records (#30079) 2024-04-29 09:45:58 +00:00
Matt Jankowski bbf1b603e0
Remove unused Account.popular scope (#30068) 2024-04-29 09:04:35 +00:00
Matt Jankowski 2123281f7c
Move Account limits to constants (#30087) 2024-04-29 09:02:47 +00:00
Matt Jankowski f0c9cbaf3b
Use EXPIRATION_DURATIONS constant in CustomFilter class (#30088) 2024-04-29 09:01:46 +00:00
Claire e845594878
Fix moderator account being exposed in account moderation notification (#30082) 2024-04-26 12:42:06 +00:00
Claire 4ef0b48b95
Add in-app notifications for moderation actions/warnings (#30065) 2024-04-25 17:26:05 +00:00
Matt Jankowski f4a53f3fb4
Extract constants for column size length validation limits (#30045) 2024-04-24 08:56:28 +00:00
Matt Jankowski 11e0049b08
Use enum-generated scopes/queries for BulkImport (#29975) 2024-04-18 10:13:35 +00:00
Matt Jankowski 650c548c31
Add not_featured_by scope to Tag (#28815) 2024-04-17 10:05:38 +00:00
Claire fc89ecc6ca
Change /api/v1/announcements to return regular Status entities (#26736) 2024-04-17 09:06:23 +00:00
Matt Jankowski 6fed108703
Use Rails upsert to generate update_count! query in Counters concern (#28738)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-04-17 08:16:51 +00:00
Matt Jankowski caad1e2628
Add scope Status.distributable_visibility (#29950) 2024-04-16 13:16:54 +00:00
Matt Jankowski 6b33d3f81b
Add CustomFilter.unexpired scope (#29896) 2024-04-16 09:29:34 +00:00
Matt Jankowski 3159c0a547
Add scope Status.list_eligible_visibility (#29951) 2024-04-16 09:17:03 +00:00
Matt Jankowski 13bbde2246
Use existing DEFAULT_FIELDS_SIZE constant to limit Account#fields (#29911) 2024-04-12 09:04:23 +00:00
Matt Jankowski 285f63c02e
Use composable query in User.active scope (#29775) 2024-04-08 13:53:49 +00:00
Claire babbf6017d
Remove caching in cache_collection (#29862) 2024-04-08 13:46:13 +00:00
Matt Jankowski c0fe8a9f13
Extract shared callback behaviour to CustomFilterCache concern (#29695) 2024-04-05 09:17:58 +00:00
Claire 38b9d31f63
Improve email address validation (#29838) 2024-04-05 07:48:45 +00:00
Matt Jankowski f56309f5f0
Add by_latest_used scope, move admin area recent IPs to partial (#29497) 2024-04-02 13:51:34 +00:00
Matt Jankowski b016f03637
Pull out constant from AccountWarning.recent scope (#29767) 2024-03-27 14:08:04 +00:00
Matt Jankowski 1d0a43f6a3
Use composable query in Status.not_domain_blocked_by_account scope (#29766) 2024-03-27 09:59:45 +00:00
Matt Jankowski 32938dadd7
Add not_allowed scope for PreviewCardTrend (#29599) 2024-03-26 13:21:20 +00:00
Matt Jankowski cf76380c91
Add AccountStat.by_recent_status, use in Account (#29704) 2024-03-26 13:12:09 +00:00
Emelia Smith eb926b7e60
Ensure case-insensitive fields are converted to lowercase in user imports (#29740) 2024-03-26 09:30:10 +00:00
Emelia Smith a3e8b78250
Ensure case-insensitive fields are converted to lowercase in Admin Imports (#29739) 2024-03-26 09:30:07 +00:00
Claire 37ca59815c
Remove setting for unfollow confirmation modal, and make it unconditional (#29373) 2024-03-22 16:24:04 +00:00
Claire 58376eedda
Remove obsolete admin and moderator columns from users table (#29718) 2024-03-22 16:22:36 +00:00
Claire d71d26a3c9
Reattribute notification-related records if possible when merging accounts (#29694) 2024-03-22 16:21:53 +00:00
Claire dfa43707eb
Change AccountRelationshipSeveranceEvent model to store lost followers and following counts separately (#29714) 2024-03-22 15:44:31 +00:00
Matt Jankowski 8c1d29df7e
Use has_many through instead of delegate for ARSE<>SR (#29672) 2024-03-22 14:43:35 +00:00
Matt Jankowski 77897cd24c
Use existing SeveredRelationship.about_local_account scope in more places (#29673) 2024-03-21 08:36:49 +00:00
Matt Jankowski cdd168f5d3
Update enum away from deprecated (#29678) 2024-03-21 08:32:35 +00:00
Claire f4d753aedf
Fix error in severed relationship event serializer (#29670) 2024-03-20 17:14:53 +00:00
Claire 98a2bb8be2
Fix issue with severed relationships notifications (#29668) 2024-03-20 17:02:09 +00:00
Claire 954b470fbc
Fix error when attempting to delete posts that triggered a notification request (#29666) 2024-03-20 16:48:24 +00:00
Claire d4449cc682
Fix account_relationship_severance_events unique indexes (#29665) 2024-03-20 16:08:34 +00:00
Claire 44bf7b8128
Add notifications of severed relationships (#27511) 2024-03-20 15:37:21 +00:00
Claire 8a1423a474
Allow unblocking email addresses from any matching account (#29305) 2024-03-20 14:38:00 +00:00
Matt Jankowski 62e266fbd6
Add BrowserDetection model concern (#29513) 2024-03-19 15:39:14 +00:00
Claire d5063072c3
Revert friends-of-friends follow recommendation query to using a CTE (#29619) 2024-03-18 12:57:21 +00:00
Matt Jankowski 838b0bdf2d
Remove unused Account::Interactions#endorsed? method (#29463) 2024-03-15 09:00:26 +00:00
Matt Jankowski 6c3e718b86
Remove setting of sensitive value (default false, not null) in Status model (#29589) 2024-03-14 13:56:59 +00:00
Matt Jankowski 14aa7f1e15
Use Account.activitypub generated scope (#28157) 2024-03-14 13:19:20 +00:00
Matt Jankowski 0bc17a3d48
Use enum-generated public_visibility scope on Status (#28156) 2024-03-14 09:31:57 +00:00
Matt Jankowski 19cbadfbd6
Use enum-generated scope for IpBlock in CLI (#28144) 2024-03-14 09:31:15 +00:00
Matt Jankowski c09b8a7164
Add Account.without_internal scope (#29559)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-03-13 14:11:23 +00:00
Claire b43eaa4517
Refactor notification filtering behavior definition (#29567) 2024-03-13 10:35:49 +00:00
Matt Jankowski 01b624c4a0
Use normalizes on CustomFilter#context value (#27602) 2024-03-13 08:50:21 +00:00
Matt Jankowski d4ed7e466c
Extract by_domain_length scope in DomainNormalizable concern (#29517) 2024-03-12 13:09:11 +00:00
Matt Jankowski 216cea1e27
Fix incorrect frequency value in FriendsOfFriendsSource data (#29550) 2024-03-12 08:38:32 +00:00
Eugen Rochko c10bbf5fe3
Add notification policies and notification requests in web UI (#29433) 2024-03-11 15:02:21 +00:00
Jeong Arm 4a6ddbc9c0
Normalize idna domain before account unblock domain (#29530) 2024-03-11 09:28:08 +00:00
Eugen Rochko 5b3a8737d6
Add hints for rules (#29539) 2024-03-11 08:57:07 +00:00
Eugen Rochko 50b17f7e10
Add notification policies and notification requests (#29366) 2024-03-07 14:53:37 +00:00
Claire ee8d0b9447
Fix follow suggestions potentially including silenced or blocked accounts (#29306) 2024-03-04 06:35:20 +00:00
HTeuMeuLeu 934cab7508
New welcome email (#28883)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2024-03-01 12:16:53 +00:00
Matt Jankowski 3389c41b58
Move nobody position in UserRole magic number to constant (#29465) 2024-03-01 11:05:24 +00:00
Matt Jankowski 8429d07454
Add RankedTrend concern for trends classes (#29388) 2024-02-26 13:45:39 +00:00
Matt Jankowski 0ef44ee720
Move AccountSuggestions::Source subclasses default limit value to constant (#29282) 2024-02-20 09:21:49 +00:00
Matt Jankowski 785e2f9399
Add scope providing_styles to UserRole (#29286) 2024-02-20 09:18:05 +00:00
Matt Jankowski 245064bb98
Move "everyone" role and "instance actor" account magic number IDs to constants (#29260) 2024-02-19 11:09:43 +00:00
Wolfgang Fournès cfadb87077
Update enum syntax to use the new Rails 7.0 style (#29217) 2024-02-16 14:54:23 +00:00
Claire b31af34c97
Merge pull request from GHSA-vm39-j3vx-pch3
* Prevent different identities from a same SSO provider from accessing a same account

* Lock auth provider changes behind `ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH=true`

* Rename methods to avoid confusion between OAuth and OmniAuth
2024-02-14 15:16:07 +01:00
Emelia Smith 68eaa804c9
Merge pull request from GHSA-7w3c-p9j8-mq3x
* Ensure destruction of OAuth Applications notifies streaming

Due to doorkeeper using a dependent: delete_all relationship, the destroy of an OAuth Application bypassed the existing AccessTokenExtension callbacks for announcing destructing of access tokens.

* Ensure password resets revoke access to Streaming API

* Improve performance of deleting OAuth tokens

---------

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-02-14 15:15:34 +01:00
Emelia Smith e8b66a0525
Ignore legacy moderator and admin columns on User model (#29188) 2024-02-13 17:14:49 +00:00
Claire 7ee93b7431
Change source attribute of Suggestion entity in /api/v2/suggestions back to a string (#29108) 2024-02-06 17:10:17 +00:00
Claire 66dda7c762
Fix already-invalid reports failing to resolve (#29027) 2024-02-06 09:35:27 +00:00
Matt Jankowski 86500e3312
Extract scenic view model common methods to concern (#28111) 2024-02-06 09:08:07 +00:00
Eugen Rochko fa0ba67753
Change materialized views to be refreshed concurrently to avoid locks (#29015) 2024-01-30 18:21:30 +00:00
Eugen Rochko c4af668e5c
Fix follow recommendations for less used languages (#29017) 2024-01-30 17:24:40 +00:00
Matt Jankowski 42ab855b23
Add specs for Instance model scopes and add with_domain_follows scope (#28767) 2024-01-25 15:28:27 +00:00
Matt Jankowski 6b6586f5d0
Add CustomFilterKeyword#to_regex method (#28893) 2024-01-25 13:00:34 +00:00
Matt Jankowski 38f7f8b909
Tidy up association declaration in Instance model (#28880) 2024-01-24 17:30:28 +00:00
Matt Jankowski 7a1f087659
Add created_before and updated_before scopes to MediaAttachment (#28869) 2024-01-24 10:32:54 +00:00
Matt Jankowski 9d413cbaf8
Fix Rails/WhereExists cop in app/models (#28863) 2024-01-24 09:57:49 +00:00
Matt Jankowski 599bc69503
Simplify AccountSummary.filtered query generation (#28868) 2024-01-24 09:57:32 +00:00
Eugen Rochko 5b1eb09d54
Add annual reports for accounts (#28693) 2024-01-24 09:38:10 +00:00
Matt Jankowski c0e8e457ab
Eager loading fixes for api/ controllers (#28848) 2024-01-23 11:41:54 +00:00
Matt Jankowski b0207d7757
Add coverage for Tag.recently_used scope (#28850) 2024-01-23 09:10:11 +00:00
Matt Jankowski 18004bf227
Add Account.matches_uri_prefix scope and use in activitypub/followers_synchronizations controller (#28820) 2024-01-22 13:55:37 +00:00
Matt Jankowski 5fc4ae7c5f
Move privacy policy into markdown file (#28699) 2024-01-19 11:22:23 +00:00
Matt Jankowski 1480573c83
Add Account.auditable scope, fix N+1 in admin/action_logs#index (#28812) 2024-01-19 01:39:30 +00:00
Matt Jankowski f866413e72
Extract shared tagged statuses method in FeaturedTag (#28805) 2024-01-18 16:14:15 +00:00
Matt Jankowski d0b3bc23d7
Remove unused matches_domain scopes on Account, DomainAllow, DomainBlock (#28803) 2024-01-18 16:11:04 +00:00
Matt Jankowski 0b853678a4
Add coverage for api/v1/peers/search endpoint and extract controller query to Instance scope (#28796) 2024-01-18 15:57:10 +00:00
Matt Jankowski 9fb9ef418a
Fix Rails/WhereExists cop in User model (#28792) 2024-01-18 13:55:44 +00:00
Matt Jankowski aaa6f2e930
Group common class_name options in associations (#28779) 2024-01-18 12:29:41 +00:00
Matt Jankowski da31792ac7
Fix Rails/WhereExists cop in FeaturedTag model (#28791) 2024-01-18 12:22:12 +00:00
Matt Jankowski 89c9a4502d
Fix Rails/WhereExists cop in account/interactions concern (#28789) 2024-01-18 09:36:16 +00:00
Matt Jankowski 1b0cb3b54d
Announcement reactions query spec improvement and refactor (#28768) 2024-01-17 09:18:13 +00:00
Claire 98b5f85f10
Rename and refactor User#confirm! to User#mark_email_as_confirmed! (#28735) 2024-01-15 18:04:58 +00:00
Claire e621c1c44c
Fix registrations not checking MX records for email domain blocks requiring approval (#28608) 2024-01-15 17:10:57 +00:00
Matt Jankowski a2f02a0775
Disable Rails/SkipsModelValidations cop (#28712) 2024-01-15 13:46:47 +00:00
Claire 8cb4825c8b
Fix sign-up restrictions based on email addresses not being enforced (#28732) 2024-01-15 11:06:48 +00:00
Matt Jankowski a90c134850
Move followable by logic to suggestion class (#28710) 2024-01-12 13:09:33 +00:00
Matt Jankowski 543d7890fd
Use normalizes to prepare User values (#28650)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-10 13:36:06 +00:00
Claire 10203bd57a
Clean up Setting model and remove dead code (#28661) 2024-01-09 14:01:53 +00:00
Jean Boussier 1781849884
Inline what remains of the rails-settings-cached gem (#28618)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2024-01-09 11:50:21 +00:00
Matt Jankowski cd4b4d4734
Replace unused by_recent_sign_in scope (#28616) 2024-01-08 15:31:13 +00:00
Matt Jankowski e677eb164c
Remove unused Announcement#time_range? (#28648) 2024-01-08 15:26:30 +00:00
Matt Jankowski 3e43cd095c
Remove unused scope Announcement.without_muted (#28645) 2024-01-08 15:26:14 +00:00
Matt Jankowski 9322396e58
Use normalizes to prepare Account#username value (#28646) 2024-01-08 13:48:31 +00:00
Matt Jankowski cd58e37b25
Remove unused DomainBlock#affected_accounts_count method (#28642) 2024-01-08 13:38:52 +00:00
Matt Jankowski 4ccba94489
Remove unused *_silenced_accounts scopes on Status (#28644) 2024-01-08 13:35:53 +00:00
Matt Jankowski c52a593a30
Remove unused scope User.emailable (#28647) 2024-01-08 13:33:45 +00:00
Matt Jankowski e827c4692c
Use Arel matches method in CustomEmoji search (#28615) 2024-01-08 13:26:12 +00:00
Matt Jankowski 1bc5a52139
Extract SQL heredoc method for Announcement scopes (#28613) 2024-01-08 11:22:16 +00:00
Matt Jankowski aa6d07dbd9
Use normalizes to prepare CustomEmoji domain value (#28624) 2024-01-08 11:20:59 +00:00
Matt Jankowski 202951e6d9
Use Arel in_order_of method to generate CASE for DomainBlock.by_severity (#28617) 2024-01-08 11:15:36 +00:00
Matt Jankowski 57f49c8191
Use Arel nulls_first method in ordering CustomEmojiFilter scope (#28614) 2024-01-08 11:09:50 +00:00
Jean Boussier 5a6d533c53
Enable Rails 7.1 Marshalling format (#28609) 2024-01-05 21:57:47 +00:00
Matt Jankowski 12bed81187
Add validation specs to CustomFilter model (#28600) 2024-01-05 15:13:59 +00:00
Claire dfdadb92e8
Add ability to require approval when users sign up using specific email domains (#28468) 2024-01-04 09:07:05 +00:00
Michael Stanclift 195b89d336
Fix .opus file uploads being misidentified by Paperclip (#28580) 2024-01-03 19:02:53 +00:00
Claire fcfdeadc04
Fix random NoMethodError errors on cached CustomFilter objects (#28521) 2023-12-29 16:23:07 +00:00
Matt Jankowski ba5f659bb3
Use shorter attribute query methods in Announcement (#28474) 2023-12-29 10:55:50 +00:00
Matt Jankowski 128c5b7db3
Fix Performance/StringIdentifierArgument cop (#28508) 2023-12-29 10:23:30 +00:00
Claire 2bf84b93d4
Fix media attachment order of remote posts (#28469) 2023-12-22 15:10:39 +00:00
Claire d29b1cca2e
Fix friends_of_friends sometimes suggesting already-followed accounts (#28433) 2023-12-20 14:35:59 +00:00