Commit Graph

1753 Commits (d58173e45bf0fdf5a6015d40eb88c313a3d99e5c)

Author SHA1 Message Date
Matt Jankowski 2123281f7c
Move `Account` limits to constants (#30087) 8 months ago
Matt Jankowski f0c9cbaf3b
Use `EXPIRATION_DURATIONS` constant in `CustomFilter` class (#30088) 8 months ago
Claire e845594878
Fix moderator account being exposed in account moderation notification (#30082) 8 months ago
Claire 4ef0b48b95
Add in-app notifications for moderation actions/warnings (#30065) 8 months ago
Matt Jankowski f4a53f3fb4
Extract constants for column size length validation limits (#30045) 8 months ago
Matt Jankowski 11e0049b08
Use enum-generated scopes/queries for `BulkImport` (#29975) 8 months ago
Matt Jankowski 650c548c31
Add `not_featured_by` scope to Tag (#28815) 8 months ago
Claire fc89ecc6ca
Change `/api/v1/announcements` to return regular `Status` entities (#26736) 8 months ago
Matt Jankowski 6fed108703
Use Rails `upsert` to generate update_count! query in Counters concern (#28738)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
8 months ago
Matt Jankowski caad1e2628
Add scope `Status.distributable_visibility` (#29950) 9 months ago
Matt Jankowski 6b33d3f81b
Add `CustomFilter.unexpired` scope (#29896) 9 months ago
Matt Jankowski 3159c0a547
Add scope `Status.list_eligible_visibility` (#29951) 9 months ago
Matt Jankowski 13bbde2246
Use existing `DEFAULT_FIELDS_SIZE` constant to limit `Account#fields` (#29911) 9 months ago
Matt Jankowski 285f63c02e
Use composable query in `User.active` scope (#29775) 9 months ago
Claire babbf6017d
Remove caching in `cache_collection` (#29862) 9 months ago
Matt Jankowski c0fe8a9f13
Extract shared callback behaviour to `CustomFilterCache` concern (#29695) 9 months ago
Claire 38b9d31f63
Improve email address validation (#29838) 9 months ago
Matt Jankowski f56309f5f0
Add `by_latest_used` scope, move admin area recent IPs to partial (#29497) 9 months ago
Matt Jankowski b016f03637
Pull out constant from `AccountWarning.recent` scope (#29767) 9 months ago
Matt Jankowski 1d0a43f6a3
Use composable query in `Status.not_domain_blocked_by_account` scope (#29766) 9 months ago
Matt Jankowski 32938dadd7
Add `not_allowed` scope for `PreviewCardTrend` (#29599) 9 months ago
Matt Jankowski cf76380c91
Add `AccountStat.by_recent_status`, use in `Account` (#29704) 9 months ago
Emelia Smith eb926b7e60
Ensure case-insensitive fields are converted to lowercase in user imports (#29740) 9 months ago
Emelia Smith a3e8b78250
Ensure case-insensitive fields are converted to lowercase in Admin Imports (#29739) 9 months ago
Claire 37ca59815c
Remove setting for unfollow confirmation modal, and make it unconditional (#29373) 9 months ago
Claire 58376eedda
Remove obsolete `admin` and `moderator` columns from `users` table (#29718) 9 months ago
Claire d71d26a3c9
Reattribute notification-related records if possible when merging accounts (#29694) 9 months ago
Claire dfa43707eb
Change `AccountRelationshipSeveranceEvent` model to store lost followers and following counts separately (#29714) 9 months ago
Matt Jankowski 8c1d29df7e
Use `has_many through` instead of `delegate` for ARSE<>SR (#29672) 9 months ago
Matt Jankowski 77897cd24c
Use existing `SeveredRelationship.about_local_account` scope in more places (#29673) 9 months ago
Matt Jankowski cdd168f5d3
Update `enum` away from deprecated (#29678) 9 months ago
Claire f4d753aedf
Fix error in severed relationship event serializer (#29670) 9 months ago
Claire 98a2bb8be2
Fix issue with severed relationships notifications (#29668) 9 months ago
Claire 954b470fbc
Fix error when attempting to delete posts that triggered a notification request (#29666) 9 months ago
Claire d4449cc682
Fix account_relationship_severance_events unique indexes (#29665) 9 months ago
Claire 44bf7b8128
Add notifications of severed relationships (#27511) 9 months ago
Claire 8a1423a474
Allow unblocking email addresses from any matching account (#29305) 9 months ago
Matt Jankowski 62e266fbd6
Add `BrowserDetection` model concern (#29513) 9 months ago
Claire d5063072c3
Revert friends-of-friends follow recommendation query to using a CTE (#29619) 9 months ago
Matt Jankowski 838b0bdf2d
Remove unused `Account::Interactions#endorsed?` method (#29463) 10 months ago
Matt Jankowski 6c3e718b86
Remove setting of `sensitive` value (default false, not null) in Status model (#29589) 10 months ago
Matt Jankowski 14aa7f1e15
Use `Account.activitypub` generated scope (#28157) 10 months ago
Matt Jankowski 0bc17a3d48
Use enum-generated `public_visibility` scope on Status (#28156) 10 months ago
Matt Jankowski 19cbadfbd6
Use enum-generated scope for `IpBlock` in CLI (#28144) 10 months ago
Matt Jankowski c09b8a7164
Add `Account.without_internal` scope (#29559)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
10 months ago
Claire b43eaa4517
Refactor notification filtering behavior definition (#29567) 10 months ago
Matt Jankowski 01b624c4a0
Use `normalizes` on `CustomFilter#context` value (#27602) 10 months ago
Matt Jankowski d4ed7e466c
Extract `by_domain_length` scope in `DomainNormalizable` concern (#29517) 10 months ago
Matt Jankowski 216cea1e27
Fix incorrect frequency value in `FriendsOfFriendsSource` data (#29550) 10 months ago
Eugen Rochko c10bbf5fe3
Add notification policies and notification requests in web UI (#29433) 10 months ago
Jeong Arm 4a6ddbc9c0
Normalize idna domain before account unblock domain (#29530) 10 months ago
Eugen Rochko 5b3a8737d6
Add hints for rules (#29539) 10 months ago
Eugen Rochko 50b17f7e10
Add notification policies and notification requests (#29366) 10 months ago
Claire ee8d0b9447
Fix follow suggestions potentially including silenced or blocked accounts (#29306) 10 months ago
HTeuMeuLeu 934cab7508
New welcome email (#28883)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
10 months ago
Matt Jankowski 3389c41b58
Move `nobody` position in `UserRole` magic number to constant (#29465) 10 months ago
Matt Jankowski 8429d07454
Add `RankedTrend` concern for trends classes (#29388) 10 months ago
Matt Jankowski 0ef44ee720
Move `AccountSuggestions::Source` subclasses default limit value to constant (#29282) 10 months ago
Matt Jankowski 785e2f9399
Add scope `providing_styles` to `UserRole` (#29286) 10 months ago
Matt Jankowski 245064bb98
Move "everyone" role and "instance actor" account magic number IDs to constants (#29260) 10 months ago
Wolfgang Fournès cfadb87077
Update enum syntax to use the new Rails 7.0 style (#29217) 11 months ago
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
11 months ago
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>
11 months ago
Emelia Smith e8b66a0525
Ignore legacy moderator and admin columns on User model (#29188) 11 months ago
Claire 7ee93b7431
Change `source` attribute of `Suggestion` entity in `/api/v2/suggestions` back to a string (#29108) 11 months ago
Claire 66dda7c762
Fix already-invalid reports failing to resolve (#29027) 11 months ago
Matt Jankowski 86500e3312
Extract scenic view model common methods to concern (#28111) 11 months ago
Eugen Rochko fa0ba67753
Change materialized views to be refreshed concurrently to avoid locks (#29015) 11 months ago
Eugen Rochko c4af668e5c
Fix follow recommendations for less used languages (#29017) 11 months ago
Matt Jankowski 42ab855b23
Add specs for `Instance` model scopes and add `with_domain_follows` scope (#28767) 11 months ago
Matt Jankowski 6b6586f5d0
Add `CustomFilterKeyword#to_regex` method (#28893) 11 months ago
Matt Jankowski 38f7f8b909
Tidy up association declaration in `Instance` model (#28880) 11 months ago
Matt Jankowski 7a1f087659
Add `created_before` and `updated_before` scopes to `MediaAttachment` (#28869) 11 months ago
Matt Jankowski 9d413cbaf8
Fix `Rails/WhereExists` cop in app/models (#28863) 11 months ago
Matt Jankowski 599bc69503
Simplify `AccountSummary.filtered` query generation (#28868) 11 months ago
Eugen Rochko 5b1eb09d54
Add annual reports for accounts (#28693) 11 months ago
Matt Jankowski c0e8e457ab
Eager loading fixes for `api/` controllers (#28848) 11 months ago
Matt Jankowski b0207d7757
Add coverage for `Tag.recently_used` scope (#28850) 11 months ago
Matt Jankowski 18004bf227
Add `Account.matches_uri_prefix` scope and use in activitypub/followers_synchronizations controller (#28820) 11 months ago
Matt Jankowski 5fc4ae7c5f
Move privacy policy into markdown file (#28699) 11 months ago
Matt Jankowski 1480573c83
Add `Account.auditable` scope, fix N+1 in admin/action_logs#index (#28812) 11 months ago
Matt Jankowski f866413e72
Extract shared tagged statuses method in `FeaturedTag` (#28805) 11 months ago
Matt Jankowski d0b3bc23d7
Remove unused `matches_domain` scopes on Account, DomainAllow, DomainBlock (#28803) 11 months ago
Matt Jankowski 0b853678a4
Add coverage for `api/v1/peers/search` endpoint and extract controller query to Instance scope (#28796) 11 months ago
Matt Jankowski 9fb9ef418a
Fix `Rails/WhereExists` cop in User model (#28792) 11 months ago
Matt Jankowski aaa6f2e930
Group common `class_name` options in associations (#28779) 11 months ago
Matt Jankowski da31792ac7
Fix `Rails/WhereExists` cop in FeaturedTag model (#28791) 11 months ago
Matt Jankowski 89c9a4502d
Fix `Rails/WhereExists` cop in account/interactions concern (#28789) 11 months ago
Matt Jankowski 1b0cb3b54d
Announcement reactions query spec improvement and refactor (#28768) 12 months ago
Claire 98b5f85f10
Rename and refactor `User#confirm!` to `User#mark_email_as_confirmed!` (#28735) 12 months ago
Claire e621c1c44c
Fix registrations not checking MX records for email domain blocks requiring approval (#28608) 12 months ago
Matt Jankowski a2f02a0775
Disable `Rails/SkipsModelValidations` cop (#28712) 12 months ago
Claire 8cb4825c8b
Fix sign-up restrictions based on email addresses not being enforced (#28732) 12 months ago
Matt Jankowski a90c134850
Move followable by logic to suggestion class (#28710) 12 months ago
Matt Jankowski 543d7890fd
Use normalizes to prepare `User` values (#28650)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
12 months ago
Claire 10203bd57a
Clean up `Setting` model and remove dead code (#28661) 12 months ago
Jean Boussier 1781849884
Inline what remains of the rails-settings-cached gem (#28618)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
12 months ago
Matt Jankowski cd4b4d4734
Replace unused `by_recent_sign_in` scope (#28616) 12 months ago
Matt Jankowski e677eb164c
Remove unused `Announcement#time_range?` (#28648) 12 months ago
Matt Jankowski 3e43cd095c
Remove unused scope `Announcement.without_muted` (#28645) 12 months ago
Matt Jankowski 9322396e58
Use normalizes to prepare `Account#username` value (#28646) 12 months ago
Matt Jankowski cd58e37b25
Remove unused `DomainBlock#affected_accounts_count` method (#28642) 12 months ago
Matt Jankowski 4ccba94489
Remove unused `*_silenced_accounts` scopes on Status (#28644) 12 months ago
Matt Jankowski c52a593a30
Remove unused scope `User.emailable` (#28647) 12 months ago
Matt Jankowski e827c4692c
Use Arel `matches` method in CustomEmoji search (#28615) 12 months ago
Matt Jankowski 1bc5a52139
Extract SQL heredoc method for Announcement scopes (#28613) 12 months ago
Matt Jankowski aa6d07dbd9
Use normalizes to prepare CustomEmoji `domain` value (#28624) 12 months ago
Matt Jankowski 202951e6d9
Use Arel `in_order_of` method to generate CASE for `DomainBlock.by_severity` (#28617) 12 months ago
Matt Jankowski 57f49c8191
Use Arel `nulls_first` method in ordering CustomEmojiFilter scope (#28614) 12 months ago
Jean Boussier 5a6d533c53
Enable Rails 7.1 Marshalling format (#28609) 12 months ago
Matt Jankowski 12bed81187
Add validation specs to `CustomFilter` model (#28600) 12 months ago
Claire dfdadb92e8
Add ability to require approval when users sign up using specific email domains (#28468) 12 months ago
Michael Stanclift 195b89d336
Fix .opus file uploads being misidentified by Paperclip (#28580) 12 months ago
Claire fcfdeadc04
Fix random `NoMethodError` errors on cached `CustomFilter` objects (#28521) 1 year ago
Matt Jankowski ba5f659bb3
Use shorter attribute query methods in `Announcement` (#28474) 1 year ago
Matt Jankowski 128c5b7db3
Fix `Performance/StringIdentifierArgument` cop (#28508) 1 year ago
Claire 2bf84b93d4
Fix media attachment order of remote posts (#28469) 1 year ago
Claire d29b1cca2e
Fix `friends_of_friends` sometimes suggesting already-followed accounts (#28433) 1 year ago
Eugen Rochko b5ac61b2c5
Change algorithm of follow recommendations (#28314)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
1 year ago
Claire 7d9b209fe8
Fix call to inefficient `delete_matched` cache method in domain blocks (#28374) 1 year ago
Matt Jankowski 1820bad646
Fix `Performance/StringIdentifierArgument` cop (#28399) 1 year ago
Matt Jankowski 0e5b8fc46b
Fix `Style/RedundantReturn` cop (#28391) 1 year ago
Matt Jankowski b1dec09d20
Fix `Style/InverseMethods` cop (#28377) 1 year ago
Claire dcc24db793
Fix N+1s because of association preloaders not actually getting called (#28339) 1 year ago
Matt Jankowski 3918dc68c7
Use composite primary key for `PreviewCardsStatus` model (#28208) 1 year ago
Matt Jankowski 5631f139c1
Fix `Lint/SymbolConversion` cop (#28175) 1 year ago
Matt Jankowski d83d01eb1e
Fix `Lint/RedundantSafeNavigation` cop (#28172) 1 year ago
Matt Jankowski f70f39dd04
Add explicit `dependent: nil` to associations (#28169) 1 year ago
Matt Jankowski 440b80b2e7
Model concerns organization into module namespaces (#28149) 1 year ago
Claire 963354978a
Add `Account#unavailable?` and `Account#permanently_unavailable?` aliases (#28053) 1 year ago
Matt Jankowski bb0efe16e6
Remove `default_scope` from `MediaAttachment` class (#28043) 1 year ago
Matt Jankowski e48ecd2929
Remove `default_scope` from `Admin::ActionLog` (#28026) 1 year ago
Matt Jankowski 186895fc88
Refactor, lint fix, and bug fix on admin/roles/form partial (#27558) 1 year ago
Claire 3a24754229
Change GIF max matrix size error to explicitly mention GIF files (#27927) 1 year ago
Matt Jankowski 4be12791e6
Remove `default_scope` from `StatusEdit` class (#28042) 1 year ago
Eugen Rochko cdc57c74b7
Fix unsupported time zone or locale preventing sign-up (#28035)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
1 year ago
Matt Jankowski d2aacea8da
Reduce `.times` usage in AccountSearch spec, use constant for default limit (#27946) 1 year ago
ppnplus 2b038b4f89
Added Thai diacritics and tone marks in HASHTAG_INVALID_CHARS_RE (#26576) 1 year ago
Matt Jankowski b7807f3d84
Use `normalizes` to prepare `Webhook#events` value (#27605) 1 year ago
Eugen Rochko 0d14fcebae
Change link previews to keep original URL from the status (#27312) 1 year ago
Matt Jankowski 45770c9306
Fix `Performance/MapMethodChain` cop (#27744) 1 year ago
Matt Jankowski bbad5b6456
Remove false positive cop detection (#27457) 1 year ago
Claire 6c52f8286b
Fix posts from force-sensitized accounts being able to trend (#27620) 1 year ago
Claire 93e4cdc31b
Fix hashtag matching pattern matching some URLs (#27584) 1 year ago
Matt Jankowski 12550a6a28
Use `Rails.env.local?` shorthand method to check env (#27519) 1 year ago
Matt Jankowski 714e3ae5b5
Use Rails 7.1 `normalizes` feature (#27521) 1 year ago
Matt Jankowski e93a75f1a1
Rails 7.1 update (#25963) 1 year ago
Claire 8b770ce811
Add warnings to report action logs (#27425) 1 year ago
Claire bcae744275
Fix some link anchors being recognized as hashtags (#27271) 1 year ago
Matt Jankowski b0213472df
Validate allowed schemes on preview card URLs (#27485) 1 year ago
Matt Jankowski 63a2a4b074
Fix `Performance/DeletePrefix` cop (#27448) 1 year ago
Matt Jankowski 08a376cbcb
Fix `Style/CombinableLoops` cop (#27429) 1 year ago
Claire 340c390849
Fix crash when filtering for “dormant” relationships (#27306) 1 year ago
Matt Jankowski c676bc91e9
Dont match mention in url query string (#25656)
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
1 year ago
Matt Jankowski 2016c5d912
Fix deprecation warning about `rewhere: true` being default behavior (Rails 7.1 prep) (#27190) 1 year ago
Matt Jankowski 3060bfa4bd
Extract filename and csv helper methods from `Form::Import` (#26129) 1 year ago
Claire 686406cc2d
Fix filtering audit log for entries about disabling 2FA (#27186) 1 year ago
Essem bd810391d6
Properly remove tIME chunk from PNG uploads (#27111) 1 year ago
Claire 1bd7455d81
Fix inefficient queries in “Follows and followers” as well as several admin pages (#27116) 1 year ago
Claire 39da3d86f8
Fix ActiveRecord using two connection pools when no replica is defined (#27061) 1 year ago
Claire e4f5114aaf
Fix obsolete cache key in status cache invalidation logic (#26934) 1 year ago
Eugen Rochko fc6825055b
Change score half-life for trending posts from 2 hours to 1 hour (#26915) 1 year ago
Robert R George 20666482ef
Added admin api for managing tags (#26872) 1 year ago
Claire 81caafbe84
Fix performances of profile directory (#26842) 1 year ago
Claire 355e3fb529
Simplify `Account.by_recent_status` and `Account.by_recent_sign_in` scopes (#26840) 1 year ago
Colette Kerr 8a9d7aeb1e
Change DCT method used for JPEG encoding to float (#26675) 1 year ago
Claire b83e487502
Fix moderator rights inconsistencies (#26729) 1 year ago
Claire cab4cbfa5c
Fix “Scoped order is ignored, it's forced to be batch order.” warnings (#26793) 1 year ago
Eugen Rochko 05093266e6
Fix some video encoding failing due to uneven dimensions (#26766) 1 year ago
Claire 16681e0f20
Add admin notifications for new Mastodon versions (#26582) 1 year ago
Claire 9e26cd5503
Add `authorized_fetch` server setting in addition to env var (#25798) 1 year ago
Eugen Rochko ecd76fa413
Fix videos not playing in some browsers due to unsupported color space (#26745) 1 year ago
Claire 9e77ab7db2
Change private statuses index to index without crutches (#26713) 1 year ago
Eugen Rochko 01b87a1632
Change video compression parameters (#26631) 1 year ago
Claire 0cce7fb617
Fix incorrect call to `PublicStatusesIndex.import` (#26697) 1 year ago
Eugen Rochko 5694e24bbf
Fix unnecessary condition causing seqscan when indexing (#26689) 1 year ago
jsgoldstein 30c191aaa0
Add new public status index (#26344)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
1 year ago
Daniel M Brasil f337008819
Fix timeout on invalid set of exclusionary parameters in `/api/v1/timelines/public` (#26239) 1 year ago
Claire 9ed0c91a37
Add auto-refresh of accounts we get new messages/edits of (#26510) 1 year ago
Claire ee702e36e5
Change follow recommendation materialized view to be faster in most cases (#26545)
Co-authored-by: Renaud Chaput <renchap@gmail.com>
1 year ago
Claire 60b9fa641d
Fix cached posts including stale stats (#26409) 1 year ago
Claire cc4560d95b
Change “privacy and reach” settings so that unchecking boxes always increase privacy and checking them always increase reach (#26508) 1 year ago
Claire 0446394465
Fix “legal” report category not showing up in moderation interface (#26509) 1 year ago
Claire 90ec88d58b
Add support for `indexable` attribute on remote actors (#26485)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
1 year ago
Claire fc5ab2dc83
Add privacy tab in profile settings (#26484)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
1 year ago
Claire 2c204d904b
Change `DB_REPLICA_*` environment variables to `REPLICA_DB_*` (#26386) 1 year ago
Claire d5bee37c57
Fix missing cached preview cards attributes (#26343) 1 year ago
Claire 9405e9af58
Fix incorrect model annotation for List#exclusive (#26313) 1 year ago
Claire 3105fef21a
Rename “read” database to “replica” for consistency (#26326) 1 year ago
Christian Schmidt 8da99ffb0d
Add alt text for preview card thumbnails (#26184) 1 year ago
Christian Schmidt f2257069b2
Fix AVIF attachments (#26264) 1 year ago
Claire b4e739ff0f
Change interaction modal in web UI (#26075)
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
1 year ago
Eugen Rochko 7bd8ef355c
Add `published_at` attribute to preview cards (#26153) 1 year ago
Vyr Cossont 394d1f19b1
Add report.updated webhook (#24211) 1 year ago
Eugen Rochko 4d01d1a1ee
Remove 16:9 cropping from web UI (#26132) 1 year ago
Claire 5cbc402687
Fix replica being used even if not explicitly defined (#26074) 1 year ago
Claire 1e3b19230a
Add stricter protocol fields validation for accounts (#25937) 1 year ago
Eugen Rochko 26e522ac55
Fix not actually connecting to the configured replica (#25977) 1 year ago
Matt Jankowski 644c5fddd8
Refactor `Status.tagged_with_all` for brakeman SQL injection warning (#25941) 1 year ago
Matt Jankowski ce43ed144c
Rails 7.0 update (#25668) 1 year ago