Matt Jankowski
258dce1256
Add OpenSSL::SSL::SSLError to http connection errors wrapper ( #32307 )
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.1) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / Libvips tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.1) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.1) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.1, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
2024-10-08 14:59:51 +00:00
Matt Jankowski
e8ec6667bd
Extract wrapper constant for HTTP::* error classes ( #32285 )
2024-10-08 13:53:35 +00:00
Matt Jankowski
bfabd6a2b8
Move account suspension-related methods to concern ( #28351 )
2024-10-07 12:02:04 +00:00
Matt Jankowski
ec16ed37c3
Extract constants for header and avatar geometry ( #32151 )
2024-10-01 11:36:25 +00:00
Matt Jankowski
04a939d640
Add reviewed and unreviewed scopes to Reviewable model concern ( #31988 )
2024-09-20 08:51:37 +00:00
Matt Jankowski
5405bdd344
Remove unused E2EE messaging code ( #31193 )
2024-09-18 09:27:43 +00:00
David Roetzel
c1b2c4fd9a
Strip protocol from attribution domains ( #31900 )
2024-09-13 11:37:15 +00:00
Eugen Rochko
e0c27a5047
Add ability to manage which websites can credit you in link previews ( #31819 )
2024-09-10 12:00:40 +00:00
Matt Jankowski
7c26e5e4a1
Add Reviewable model concern ( #31152 )
2024-09-03 15:37:45 +00:00
David Roetzel
388d5473e1
Refactor (ruby) redis configuration ( #31694 )
2024-09-02 14:19:55 +00:00
Claire
ad52b04a1c
Add setting to disable hover cards ( #30931 )
...
Check i18n / check-i18n (push) Waiting to run
CodeQL / Analyze (javascript) (push) Waiting to run
CodeQL / Analyze (ruby) (push) Waiting to run
Check formatting / lint (push) Waiting to run
CSS Linting / lint (push) Waiting to run
Haml Linting / lint (push) Waiting to run
JavaScript Linting / lint (push) Waiting to run
Ruby Linting / lint (push) Waiting to run
JavaScript Testing / test (push) Waiting to run
Historical data migration test / test (14-alpine) (push) Waiting to run
Historical data migration test / test (15-alpine) (push) Waiting to run
Ruby Testing / build (production) (push) Waiting to run
Ruby Testing / build (test) (push) Waiting to run
Ruby Testing / test (.ruby-version) (push) Blocked by required conditions
Ruby Testing / test (3.1) (push) Blocked by required conditions
Ruby Testing / test (3.2) (push) Blocked by required conditions
Ruby Testing / Libvips tests (.ruby-version) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.1) (push) Blocked by required conditions
Ruby Testing / Libvips tests (3.2) (push) Blocked by required conditions
Ruby Testing / End to End testing (.ruby-version) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.1) (push) Blocked by required conditions
Ruby Testing / End to End testing (3.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, docker.elastic.co/elasticsearch/elasticsearch:8.10.2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (.ruby-version, opensearchproject/opensearch:2) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.1, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Ruby Testing / Elastic Search integration testing (3.2, docker.elastic.co/elasticsearch/elasticsearch:7.17.13) (push) Blocked by required conditions
Crowdin / Upload translations / upload-translations (push) Has been cancelled
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2024-07-11 19:42:58 +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
Matt Jankowski
4a77e477ee
Consolidate account scopes for LOWER (index using) username/domain queries ( #30451 )
2024-05-28 14:11:31 +00:00
Matt Jankowski
9b5055d34d
Fix Style/SuperArguments cop ( #30406 )
2024-05-24 08:36:21 +00:00
Matt Jankowski
def6b686ff
Fix Rails/WhereRange cop ( #30343 )
2024-05-20 09:37:36 +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
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
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
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
37ca59815c
Remove setting for unfollow confirmation modal, and make it unconditional ( #29373 )
2024-03-22 16:24:04 +00:00
Claire
d71d26a3c9
Reattribute notification-related records if possible when merging accounts ( #29694 )
2024-03-22 16:21:53 +00:00
Matt Jankowski
77897cd24c
Use existing SeveredRelationship.about_local_account scope in more places ( #29673 )
2024-03-21 08:36:49 +00:00
Claire
44bf7b8128
Add notifications of severed relationships ( #27511 )
2024-03-20 15:37:21 +00:00
Matt Jankowski
62e266fbd6
Add BrowserDetection model concern ( #29513 )
2024-03-19 15:39:14 +00:00
Matt Jankowski
838b0bdf2d
Remove unused Account::Interactions#endorsed? method ( #29463 )
2024-03-15 09:00:26 +00:00
Matt Jankowski
0bc17a3d48
Use enum-generated public_visibility scope on Status ( #28156 )
2024-03-14 09:31:57 +00:00
Matt Jankowski
d4ed7e466c
Extract by_domain_length scope in DomainNormalizable concern ( #29517 )
2024-03-12 13:09:11 +00:00
Jeong Arm
4a6ddbc9c0
Normalize idna domain before account unblock domain ( #29530 )
2024-03-11 09:28:08 +00:00
Eugen Rochko
50b17f7e10
Add notification policies and notification requests ( #29366 )
2024-03-07 14:53:37 +00:00
Matt Jankowski
8429d07454
Add RankedTrend concern for trends classes ( #29388 )
2024-02-26 13:45:39 +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
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
e8b66a0525
Ignore legacy moderator and admin columns on User model ( #29188 )
2024-02-13 17:14:49 +00:00
Matt Jankowski
86500e3312
Extract scenic view model common methods to concern ( #28111 )
2024-02-06 09:08:07 +00:00
Matt Jankowski
89c9a4502d
Fix Rails/WhereExists cop in account/interactions concern ( #28789 )
2024-01-18 09:36:16 +00:00
Claire
98b5f85f10
Rename and refactor User#confirm! to User#mark_email_as_confirmed! ( #28735 )
2024-01-15 18:04:58 +00:00
Michael Stanclift
195b89d336
Fix .opus file uploads being misidentified by Paperclip ( #28580 )
2024-01-03 19:02:53 +00:00
Matt Jankowski
128c5b7db3
Fix Performance/StringIdentifierArgument cop ( #28508 )
2023-12-29 10:23:30 +00:00
Eugen Rochko
b5ac61b2c5
Change algorithm of follow recommendations ( #28314 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-12-19 10:59:43 +00:00
Claire
7d9b209fe8
Fix call to inefficient delete_matched cache method in domain blocks ( #28374 )
2023-12-18 16:14:43 +00:00
Matt Jankowski
1820bad646
Fix Performance/StringIdentifierArgument cop ( #28399 )
2023-12-18 10:26:09 +00:00
Claire
dcc24db793
Fix N+1s because of association preloaders not actually getting called ( #28339 )
2023-12-13 07:47:32 +00:00
Matt Jankowski
5631f139c1
Fix Lint/SymbolConversion cop ( #28175 )
2023-12-01 15:53:35 +00:00
Matt Jankowski
f70f39dd04
Add explicit dependent: nil to associations ( #28169 )
2023-12-01 15:52:47 +00:00
Matt Jankowski
440b80b2e7
Model concerns organization into module namespaces ( #28149 )
2023-12-01 11:00:41 +00:00
Claire
3a24754229
Change GIF max matrix size error to explicitly mention GIF files ( #27927 )
2023-11-24 09:31:28 +00:00
Matt Jankowski
d2aacea8da
Reduce .times usage in AccountSearch spec, use constant for default limit ( #27946 )
2023-11-20 09:08:22 +00:00
Eugen Rochko
0d14fcebae
Change link previews to keep original URL from the status ( #27312 )
2023-11-13 09:58:28 +00:00
Matt Jankowski
e93a75f1a1
Rails 7.1 update ( #25963 )
2023-10-23 17:58:29 +00:00
Essem
bd810391d6
Properly remove tIME chunk from PNG uploads ( #27111 )
2023-09-25 19:21:07 +02:00
Claire
cab4cbfa5c
Fix “Scoped order is ignored, it's forced to be batch order.” warnings ( #26793 )
2023-09-05 15:37:23 +02:00
Claire
9e77ab7db2
Change private statuses index to index without crutches ( #26713 )
2023-08-29 17:51:13 +02:00
Claire
0cce7fb617
Fix incorrect call to PublicStatusesIndex.import ( #26697 )
2023-08-28 15:04:57 +02:00
Eugen Rochko
5694e24bbf
Fix unnecessary condition causing seqscan when indexing ( #26689 )
2023-08-27 22:37:35 +02:00
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>
2023-08-24 16:40:04 +02:00
Eugen Rochko
4d01d1a1ee
Remove 16:9 cropping from web UI ( #26132 )
2023-07-24 13:46:55 +02:00
Matt Jankowski
ce43ed144c
Rails 7.0 update ( #25668 )
2023-07-13 09:36:07 +02:00
Claire
94fbac77e7
Fix processing of media files with unusual names ( #25788 )
2023-07-07 13:35:22 +02:00
Claire
dc8f1fbd97
Merge pull request from GHSA-9928-3cp5-93fm
...
* Fix attachments getting processed despite failing content-type validation
* Add a restrictive ImageMagick security policy tailored for Mastodon
* Fix misdetection of MP3 files with large cover art
* Reject unprocessable audio/video files instead of keeping them unchanged
2023-07-06 15:05:05 +02:00
Eugen Rochko
ba06a2f104
Revert "Rails 7 update" ( #25667 )
2023-07-02 11:14:22 +02:00
Matt Jankowski
50c2a03695
Rails 7 update ( #24241 )
2023-07-02 10:38:53 +02:00
jsgoldstein
4581a528f7
Change account search to match by text when opted-in ( #25599 )
...
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2023-06-29 13:05:21 +02:00
Matt Jankowski
0b249ebdb0
Extract StatusSafeReblogInsert concern from Status ( #24821 )
2023-05-04 14:06:20 +02:00
Claire
1e75eb690d
Fix own posts not getting delivered to own lists ( #24810 )
2023-05-03 19:17:40 +02:00
Matt Jankowski
38b2974a83
Extract AccountSearch concern from Account ( #24716 )
2023-05-02 18:21:36 +02:00
Matt Jankowski
f1c1dd0118
Rename with_lock to with_redis_lock to avoid confusion with ActiveRecord's method ( #24741 )
2023-05-02 18:16:07 +02:00
Claire
6693a4fe7c
Change lists to be able to include accounts with pending follow requests ( #19727 )
2023-05-02 14:40:36 +02:00
Claire
32a030dd74
Rewrite import feature ( #21054 )
2023-05-02 12:08:48 +02:00
Matt Jankowski
d902a707a3
Fix Rails/CompactBlank cop ( #24690 )
2023-04-30 14:07:21 +02:00
Matt Jankowski
af824db398
Fix Rails/InverseOf cop ( #24732 )
2023-04-30 14:06:53 +02:00
Nick Schonning
49fad26eca
Drop EOL Ruby 2.7 ( #24237 )
2023-04-27 01:46:18 +02:00
Claire
0e919397db
Fix unescaped user input in LDAP query ( #24379 )
2023-04-04 12:42:38 +02:00
Eugen Rochko
a9b5598c97
Change user settings to be stored in a more optimal way ( #23630 )
...
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-03-30 14:44:00 +02:00
Eugen Rochko
9bda933740
Change media upload limits and remove client-side resizing ( #23726 )
2023-03-25 10:00:03 +01:00
Takeshi Umeda
38c84f57b6
Refactoring relations_map ( #24195 )
2023-03-21 10:32:58 +01:00
Claire
6b16b77ab0
Fix external authentication not running onboarding code for new users ( #23458 )
2023-03-03 20:45:55 +01:00
Nick Schonning
d2dcb6c45a
Autofix Rubocop Style/UnpackFirst ( #23741 )
2023-02-20 06:51:43 +01:00
Nick Schonning
2177daeae9
Autofix Rubocop Style/RedundantBegin ( #23703 )
2023-02-19 07:09:40 +09:00
Nick Schonning
ab7816a414
Autofix Rubocop Style/Lambda ( #23696 )
2023-02-18 12:39:00 +01:00
Nick Schonning
e2a3ebb271
Autofix Rubocop Style/IfUnlessModifier ( #23697 )
2023-02-18 12:37:47 +01:00
Nick Schonning
669f6d2c0a
Run rubocop formatting except line length ( #23632 )
2023-02-18 06:56:20 +09:00
Nick Schonning
8c1b65c7dd
Apply Rubocop Style/RedundantAssignment ( #23452 )
2023-02-08 07:06:50 +01:00
Nick Schonning
ed570050c6
Autofix Rails/EagerEvaluationLogMessage ( #23429 )
...
* Autofix Rails/EagerEvaluationLogMessage
* Update spec for debug block syntax
2023-02-07 03:44:36 +01:00
Claire
d1387579b9
Fix situations in which instance actor can be set to a Mastodon-incompatible name ( #22307 )
...
* Validate internal actor
* Use “internal.actor” by default for the server actor username
* Fix instance actor username on the fly if it includes ':'
* Change actor name from internal.actor to mastodon.internal
2023-01-18 16:33:03 +01:00
David Freedman
ff70e50199
Don't crash on unobtainable avatars ( #22462 )
2023-01-13 16:40:06 +01:00
Claire
70415714f1
Add follow request banner on account header ( #20785 )
...
* Add requested_by to relationship maps
* Display whether an account has requested to follow you on their profile
2022-12-15 18:50:11 +01:00
Claire
c8849d6cee
Fix unbounded recursion in account discovery ( #22025 )
...
* Fix trying to fetch posts from other users when fetching featured posts
* Rate-limit discovery of new subdomains
* Put a limit on recursively discovering new accounts
2022-12-07 00:15:24 +01:00
Eugen Rochko
552d69ad96
Fix error when invalid domain name is submitted ( #19474 )
...
Fix #19175
2022-11-14 08:07:14 +01:00
Eugen Rochko
9bc0a6c861
Fix metadata scrubbing removing color profile from images ( #20389 )
2022-11-11 09:20:10 +01:00
Claire
86f6631d28
Remove dead code and refactor status threading code ( #20357 )
...
* Remove dead code
* Remove unneeded/broken parameters and refactor descendant computation
2022-11-10 22:30:00 +01:00
Eugen Rochko
50948b46aa
Add ability to filter followed accounts' posts by language ( #19095 )
2022-09-20 23:51:21 +02:00
Claire
50487db122
Add ability to filter individual posts ( #18945 )
...
* Add database table for status-specific filters
* Add REST endpoints, entities and attributes
* Show status filters in /filters interface
* Perform server-side filtering for individual posts filters
* Fix filtering on context mismatch
* Refactor `toServerSideType` by moving it to its own module
* Move loupe and delete icons to their own module
* Add ability to filter individual posts from WebUI
* Replace keyword list by warnings (expired, context mismatch)
* Refactor server-side filtering code
* Add tests
2022-08-25 04:27:47 +02:00
Eugen Rochko
44b2ee3485
Add customizable user roles ( #18641 )
...
* Add customizable user roles
* Various fixes and improvements
* Add migration for old settings and fix tootctl role management
2022-07-05 02:41:40 +02:00
Claire
02851848e9
Revamp post filtering system ( #18058 )
...
* Add model for custom filter keywords
* Use CustomFilterKeyword internally
Does not change the API
* Fix /filters/edit and /filters/new
* Add migration tests
* Remove whole_word column from custom_filters (covered by custom_filter_keywords)
* Redesign /filters
Instead of a list, present a card that displays more information and handles
multiple keywords per filter.
* Redesign /filters/new and /filters/edit to add and remove keywords
This adds a new gem dependency: cocoon, as well as a npm dependency:
cocoon-js-vanilla. Those are used to easily populate and remove form fields
from the user interface when manipulating multiple keyword filters at once.
* Add /api/v2/filters to edit filter with multiple keywords
Entities:
- `Filter`: `id`, `title`, `filter_action` (either `hide` or `warn`), `context`
`keywords`
- `FilterKeyword`: `id`, `keyword`, `whole_word`
API endpoits:
- `GET /api/v2/filters` to list filters (including keywords)
- `POST /api/v2/filters` to create a new filter
`keywords_attributes` can also be passed to create keywords in one request
- `GET /api/v2/filters/:id` to read a particular filter
- `PUT /api/v2/filters/:id` to update a new filter
`keywords_attributes` can also be passed to edit, delete or add keywords in
one request
- `DELETE /api/v2/filters/:id` to delete a particular filter
- `GET /api/v2/filters/:id/keywords` to list keywords for a filter
- `POST /api/v2/filters/:filter_id/keywords/:id` to add a new keyword to a
filter
- `GET /api/v2/filter_keywords/:id` to read a particular keyword
- `PUT /api/v2/filter_keywords/:id` to edit a particular keyword
- `DELETE /api/v2/filter_keywords/:id` to delete a particular keyword
* Change from `irreversible` boolean to `action` enum
* Remove irrelevent `irreversible_must_be_within_context` check
* Fix /filters/new and /filters/edit with update for filter_action
* Fix Rubocop/Codeclimate complaining about task names
* Refactor FeedManager#phrase_filtered?
This moves regexp building and filter caching to the `CustomFilter` class.
This does not change the functional behavior yet, but this changes how the
cache is built, doing per-custom_filter regexps so that filters can be matched
independently, while still offering caching.
* Perform server-side filtering and output result in REST API
* Fix numerous filters_changed events being sent when editing multiple keywords at once
* Add some tests
* Use the new API in the WebUI
- use client-side logic for filters we have fetched rules for.
This is so that filter changes can be retroactively applied without
reloading the UI.
- use server-side logic for filters we haven't fetched rules for yet
(e.g. network error, or initial timeline loading)
* Minor optimizations and refactoring
* Perform server-side filtering on the streaming server
* Change the wording of filter action labels
* Fix issues pointed out by linter
* Change design of “Show anyway” link in accordence to review comments
* Drop “irreversible” filtering behavior
* Move /api/v2/filter_keywords to /api/v1/filters/keywords
* Rename `filter_results` attribute to `filtered`
* Rename REST::LegacyFilterSerializer to REST::V1::FilterSerializer
* Fix systemChannelId value in streaming server
* Simplify code by removing client-side filtering code
The simplifcation comes at a cost though: filters aren't retroactively
applied anymore.
2022-06-28 09:42:13 +02:00
Alexander Ivanov
379a7a7ca7
Add support for webp uploads ( #18506 )
2022-05-27 20:06:40 +02:00