Commit Graph

458 Commits (102e3df7ca49cca0b23bbaa3bf4facd94eacac7a)

Author SHA1 Message Date
Claire 3c0d1660aa Allow editing media attachments for scheduled toots ()
Fixes 
2022-03-03 16:13:58 +01:00
Eugen Rochko 3bf45628c5 Change `follow` scope to be covered by `read` and `write` scopes in REST API ()
Deprecate `follow` scope
2022-03-03 16:13:40 +01:00
Eugen Rochko 69d1a44f05 Fix leak of existence of otherwise inaccessible statuses in REST API () 2022-03-02 18:57:26 +01:00
Eugen Rochko fc26ac7a98 Fix report category not being saved in REST API () 2022-03-02 18:57:08 +01:00
Eugen Rochko 4d0a2968d9 Change authorized applications page ()
* Change authorized applications page

* Hide revoke button for superapps and suspended accounts

* Clean up db/schema.rb
2022-03-01 16:48:58 +01:00
Eugen Rochko e6d2b07ec1 Add trending statuses ()
* Add trending statuses

* Fix dangling items with stale scores in localized sets

* Various fixes and improvements

- Change approve_all/reject_all to approve_accounts/reject_accounts
- Change Trends::Query methods to not mutate the original query
- Change Trends::Query#skip to offset
- Change follow recommendations to be refreshed in a transaction

* Add tests for trending statuses filtering behaviour

* Fix not applying filtering scope in controller
2022-02-25 00:34:14 +01:00
Eugen Rochko eef9eec5d3 Add notifications for new sign-ups () 2022-02-23 16:45:22 +01:00
Eugen Rochko 8ffc48ebfa Add notifications when a reblogged status has been updated ()
* Add notifications when a reblogged status has been updated

* Change wording to say "edit" instead of "update" and add missing controls

* Replace previous update notifications with the most up-to-date one
2022-02-11 22:20:19 +01:00
Eugen Rochko cb76142d9e Add editing for published statuses ()
* Add editing for published statuses

* Fix change of multiple-choice boolean in poll not resetting votes

* Remove the ability to update existing media attachments for now
2022-02-10 00:15:30 +01:00
Eugen Rochko 2c9def57b3 Add `category` and `rule_ids` params to `POST /api/v1/reports` () 2022-02-10 00:10:16 +01:00
Eugen Rochko 948da1a958 Add edit history to web UI ()
* Add edit history to web UI

* Change history reducer to store items per status

* Fix missing loading prop
2022-02-09 01:17:07 +01:00
Claire 33ea1c9008 Fix Sidekiq warnings about JSON serialization ()
* Fix Sidekiq warnings about JSON serialization

This occurs on every symbol argument we pass, and every symbol key in hashes,
because Sidekiq expects strings instead.

See https://github.com/mperham/sidekiq/pull/5071

We do not need to change how workers parse their arguments because this has
not changed and we were already converting to symbols adequately or using
`with_indifferent_access`.

* Set Sidekiq to raise on unsafe arguments in test mode

In order to more easily catch issues that would produce warnings in production
code.
2022-01-28 00:43:56 +01:00
Claire 06f653972a Add OMNIAUTH_ONLY environment variable to enforce externa log-in ()
* Remove support for OAUTH_REDIRECT_AT_SIGN_IN

Fixes 

Introduced in , OAUTH_REDIRECT_AT_SIGN_IN allowed skipping the log-in form
to instead redirect to the external OmniAuth login provider.

However, it did not prevent the log-in form on /about introduced by  from
appearing, and completely broke with the introduction of .

As I restoring that previous log-in flow without introducing a security
vulnerability may require extensive care and knowledge of how OmniAuth works,
this commit removes support for OAUTH_REDIRECT_AT_SIGN_IN instead for the time
being.

* Add OMNIAUTH_ONLY environment variable to enforce external log-in only

* Disable user registration when OMNIAUTH_ONLY is set to true

* Replace log-in links When OMNIAUTH_ONLY is set with exactly one OmniAuth provider
2022-01-23 15:52:58 +01:00
Eugen Rochko 06b698a723 Add support for editing for published statuses ()
* Add support for editing for published statuses

* Fix references to stripped-out code

* Various fixes and improvements

* Further fixes and improvements

* Fix updates being potentially sent to unauthorized recipients

* Various fixes and improvements

* Fix wrong words in test

* Fix notifying accounts that were tagged but were not in the audience

* Fix mistake
2022-01-19 22:37:27 +01:00
Eugen Rochko 2fb76550a9 Add notifications for statuses deleted by moderators () 2022-01-17 09:41:33 +01:00
Claire 5aade2baac Add support for private pinned posts ()
* Add support for private pinned toots

* Allow local user to pin private toots

* Change wording to avoid "direct message"
2022-01-17 00:49:55 +01:00
Eugen Rochko 7b3972c270 Remove IP tracking columns from users table () 2022-01-16 13:23:50 +01:00
Eugen Rochko 4375813ea7 Remove Keybase integration () 2021-11-26 05:58:18 +01:00
Eugen Rochko ad73becf3e Add trending links ()
* Add trending links

* Add overriding specific links trendability

* Add link type to preview cards and only trend articles

Change trends review notifications from being sent every 5 minutes to being sent every 2 hours

Change threshold from 5 unique accounts to 15 unique accounts

* Fix tests
2021-11-25 13:07:38 +01:00
Takeshi Umeda dae4762733 Add remove from followers api ()
* Add followed_by? to account_interactions

* Add RemoveFromFollowersService

* Fix AccountBatch to use RemoveFromFollowersService

* Add remove from followers API
2021-10-18 12:02:35 +02:00
Eugen Rochko cad446611c Add graphs and retention metrics to admin dashboard () 2021-10-14 20:44:59 +02:00
Claire b5e603c6ad Add logging of S3-related errors () 2021-07-21 18:34:39 +02:00
Eugen Rochko bb1b12ed77 Fix e-mail confirmations API not working correctly ()
* Fix e-mail confirmations API not working correctly

* Fix typo
2021-06-02 21:07:50 +02:00
Claire 86f5fad111 Add Ruby 3.0 support ()
* Fix issues with POSIX::Spawn, Terrapin and Ruby 3.0

Also improve the Terrapin monkey-patch for the stderr/stdout issue.

* Fix keyword argument handling throughout the codebase

* Monkey-patch Paperclip to fix keyword arguments handling in validators

* Change validation_extensions to please CodeClimate

* Bump microformats from 4.2.1 to 4.3.1

* Allow Ruby 3.0

* Add Ruby 3.0 test target to CircleCI

* Add test for admin dashboard warnings

* Fix admin dashboard warnings on Ruby 3.0
2021-05-06 14:22:54 +02:00
abcang dec6f34546 Further improve the media attached status query for accounts () 2021-04-26 18:57:46 +02:00
abcang fa2d62e6e2 Improve media attached status query () 2021-04-25 06:34:48 +02:00
Eugen Rochko f5d59b3979 Change auto-following admin-selected accounts, show in recommendations () 2021-04-24 17:01:43 +02:00
Eugen Rochko 2cab9c9f06 Add `policy` param to `POST /api/v1/push/subscriptions` ()
With possible values `all`, `followed`, `follower`, and `none`,
control from whom notifications will generate a Web Push alert
2021-04-15 05:00:25 +02:00
Eugen Rochko 92b2d926bf Add cold-start follow recommendations () 2021-04-12 12:37:14 +02:00
Eugen Rochko 6440cd74e9 Add `email` param to `POST /api/v1/emails/confirmations` ()
Allow changing e-mail as long as the account is unconfirmed
2021-03-25 02:46:13 +01:00
Eugen Rochko 28399e88b5 Add `POST /api/v1/emails/confirmations` to REST API ()
Only available to the application the user originally signed-up with
2021-03-01 18:39:47 +01:00
Eugen Rochko ade70733f7 Add `details` to error response for `POST /api/v1/accounts` in REST API () 2021-03-01 04:59:13 +01:00
Eugen Rochko 4930e71ae7 Add server rules () 2021-02-21 19:50:12 +01:00
Eugen Rochko e4ba5635ee Add `GET /api/v1/accounts/lookup` REST API () 2021-02-16 15:28:32 +01:00
Eugen Rochko ecfcdc856b Refactor Api::Web::SettingsController () 2021-02-12 07:19:15 +01:00
abcang 2b9d71cc18 Improved performance of notification preloading ()
* Improved performance of notification preloading

* Remove Cacheable from Notification

* Fix test
2021-01-31 21:24:57 +01:00
ThibG 2582047c36 Use Rails' index_by where it makes sense ()
* Use Rails' index_by where it makes sense

* Fix tests

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2021-01-12 09:27:38 +01:00
Levi Bard 87d45a9cd8 Fix muting users with duration via the REST api () 2021-01-10 12:47:21 +01:00
luigi 944b059f50 Optimize map { ... }.compact calls ()
* Optimize map { ... }.compact

using Enumerable#filter_map, supported since Ruby 2.7

* Add poyfill for Enumerable#filter_map
2021-01-10 00:32:01 +01:00
trwnh 33e4e1cfe4 Use existing FeaturedTag serializer and delete AccountFeaturedTag serializer ()
* Update featured_tags_controller.rb

* Update featured_tag_serializer.rb

* Update featured_tag_serializer.rb

* Delete account_featured_tag_serializer.rb

* please codeclimate

* please codeclimate
2020-12-23 16:43:38 +01:00
Eugen Rochko 76b0f84cd5 Add stoplight for object storage failures, return HTTP 503 () 2020-12-15 12:55:29 +01:00
Eugen Rochko df8874b24e Fix performance on instances list in admin UI ()
- Reduce duplicate queries
- Remove n+1 queries
- Add accounts count to detailed view
- Add separate action log entry for updating existing domain blocks
2020-12-14 09:06:34 +01:00
Takeshi Umeda fabb864526 Fix incorrect conditions for suspended accounts in Get API for account featured tags () 2020-12-04 04:22:35 +01:00
ThibG a609802736 Fix not being able to unfavorite toots one has lost access to ()
Fixes 
2020-11-21 06:18:09 +01:00
Eugen Rochko 90faa8039c Fix 2FA/sign-in token sessions being valid after password change ()
If someone tries logging in to an account and is prompted for a 2FA
code or sign-in token, even if the account's password or e-mail is
updated in the meantime, the session will show the prompt and allow
the login process to complete with a valid 2FA code or sign-in token
2020-11-12 23:05:01 +01:00
Takeshi Umeda 385c2eac6f Add account sensitized ()
* Add account sensitized

* Fix i18n normalize

* Fix description and spec

* Fix spec

* Fix wording
2020-11-04 20:45:01 +01:00
OSAMU SATO ba9252b32d Add duration parameter to muting. ()
* Adding duration to muting.

* Remove useless checks
2020-10-13 01:01:14 +02:00
Eugen Rochko da4c730c47 Add IP-based rules () 2020-10-12 16:33:49 +02:00
Eugen Rochko 2539d7d655 Fix not being able to enable status notifications in Web Push API () 2020-09-21 17:48:55 +02:00
Eugen Rochko 02c4c91faa Add option to be notified when a followed user posts ()
* Add bell button

Fix 

* Remove duplicate type from post-deployment migration

* Fix legacy class type mappings

* Improve query performance with better index

* Fix validation

* Remove redundant index from notifications
2020-09-18 17:26:45 +02:00