Commit Graph

6988 Commits (68eb58b8058579f551b8aa94e800283cd0f93f7f)

Author SHA1 Message Date
ThibG 92569ffde8 Fix invites not being disabled upon account suspension (#11412)
* Disable invite links from disabled/suspended users

* Add has_many invites relationship to users

* Destroy unused invites when suspending an account
2019-07-26 18:55:33 +02:00
Eugen Rochko 4eeff26533
Change account domain block to clear out notifications and follows (#11393) 2019-07-25 04:17:35 +02:00
Thibaut Girka 91da921dbb Fix links in status media having their title rewritten 2019-07-24 21:46:09 +02:00
Thibaut Girka 2d35e4460a Merge branch 'master' into glitch-soc/merge-upstream 2019-07-24 16:23:53 +02:00
Rey Tucker 94f5c714f1 Don't delete periods when validating username uniqueness (#11392) (#11400)
* Check to make sure usernames with '.' cannot be created

* Add test for instance actor account name conflicts

This makes sure that migration 20190715164535_add_instance_actor
won't fail if there's already an account that is named the same
as the domain (minus the .)

* Put the test into the correct context...

* Add another test to split this into two validations

* Don't delete periods when validating username uniqueness (#11392)

The 20190715164535_add_instance_actor migration fails if there's
already a username similar to the domain name, e.g. if you are
'vulpine.club' and have a user named 'vulpineclub', validation
fails.

Upon further review, usernames with periods are dropped by the
regular expression in the Account class, so we don't need to
worry about it here.

Fixes #11392
2019-07-24 14:19:17 +02:00
Thibaut Girka 48c68eafb7 Handle animated emoji on mouse hover in CWs and poll options 2019-07-23 16:24:21 +02:00
ThibG c1231a846a [Glitch] Play animated custom emoji on hover
Port 7de8c51873 to glitch-soc
2019-07-23 16:24:21 +02:00
ThibG fb1b710e8d Fix scrolling in single-column mode on Chrome (#11395)
Fixes #11389
2019-07-23 15:47:18 +02:00
dependabot-preview[bot] 1955aa9f7d Bump active_model_serializers from 0.10.9 to 0.10.10 (#11311)
* Bump active_model_serializers from 0.10.9 to 0.10.10

Bumps [active_model_serializers](https://github.com/rails-api/active_model_serializers) from 0.10.9 to 0.10.10.
- [Release notes](https://github.com/rails-api/active_model_serializers/releases)
- [Changelog](https://github.com/rails-api/active_model_serializers/blob/v0.10.10/CHANGELOG.md)
- [Commits](https://github.com/rails-api/active_model_serializers/compare/v0.10.9...v0.10.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Add root option to render method
2019-07-23 11:10:42 +02:00
Thibaut Girka 621590b4ab Refactor DisplayName component to make it closer to upstream 2019-07-23 10:51:12 +02:00
Thibaut Girka cd8763b600 [Glitch] Display custom emoji in bio field names
Port 4bd58b7f2d to glitch-soc
2019-07-23 10:51:12 +02:00
Thibaut Girka 8a89a2b0f4 Revert some refactoring in order to make codebase closer to upstream 2019-07-23 10:51:12 +02:00
Thibaut Girka 444796b69b Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- app/controllers/application_controller.rb
- app/controllers/auth/confirmations_controller.rb
- app/controllers/auth/sessions_controller.rb
- app/controllers/settings/deletes_controller.rb
- app/controllers/settings/two_factor_authentication/recovery_codes_controller.rb
2019-07-23 10:51:07 +02:00
Eugen Rochko 964ae8eee5
Change unconfirmed user login behaviour (#11375)
Allow access to account settings, 2FA, authorized applications, and
account deletions to unconfirmed and pending users, as well as
users who had their accounts disabled. Suspended users cannot update
their e-mail or password or delete their account.

Display account status on account settings page, for example, when
an account is frozen, limited, unconfirmed or pending review.

After sign up, login users straight away and show a simple page that
tells them the status of their account with links to account settings
and logout, to reduce onboarding friction and allow users to correct
wrongly typed e-mail addresses.

Move the final sign-up step of SSO integrations to be the same
as above to reduce code duplication.
2019-07-22 10:48:50 +02:00
Eugen Rochko c669bb42ba
Add (back) rails-level JSON caching (#11333) 2019-07-21 22:32:16 +02:00
Thibaut Girka 6db5669818 Clean up redundant shouldUpdateScroll definitions 2019-07-21 20:57:42 +02:00
Eugen Rochko e58af04287 [Glitch] Fix mutes, blocks, domain blocks and follow requests not paginating
Port ea7ad59af2  to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-07-21 20:57:42 +02:00
ThibG bd7b1538f1 [Glitch] Fix followers and followings on account profiles
Partial fix from 55abff8af7

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-07-21 20:57:42 +02:00
Jakub Mendyk c614abb95d [Glitch] Fix followers/follows layout issues from #8418
Port ceed1ebe5b to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-07-21 20:57:42 +02:00
Thibaut Girka b294b5956b Add empty column message to bookmarks column 2019-07-21 20:57:42 +02:00
Jakub Mendyk e9f88f4005 [Glitch] Add messages informing that collections are empty
Port 5129f6f2aa to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-07-21 20:57:42 +02:00
ThibG 59fd622adc Fix boost to original audience not working on mobile (#11371) 2019-07-21 18:11:09 +02:00
ThibG 7de8c51873 Play animated custom emoji on hover (#11348)
* Play animated custom emoji on hover in status

* Play animated custom emoji on hover in display names

* Play animated custom emoji on hover in bios/bio fields

* Add support for animation on hover on public pages emojis too

* Fix tests

* Code style cleanup
2019-07-21 18:10:40 +02:00
Eugen Rochko 043d52f785
Fix `alerts` booleans not being typecast correctly in push subscription (#11343)
* Fix `alerts` booleans not being typecast correctly in push subscription

Fix #10789

* Fix typo
2019-07-21 18:10:07 +02:00
Eugen Rochko bd1545de5e
Change locale detection to run once per session (#8657)
Fix #6462
2019-07-21 18:08:02 +02:00
Eugen Rochko bd87e66679
Remove WebSub subscriptions (#11303) 2019-07-21 04:08:00 +02:00
ThibG 4bd58b7f2d Display custom emoji in bio field names (#11350)
Already displayed in public pages, but not WebUI
2019-07-21 03:40:27 +02:00
ThibG f1597e1ab9
Merge pull request #1158 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
2019-07-21 00:53:28 +02:00
Lady Lumb 0ed0c77266 Add env variable to control search limit
Changed the default search limit to allow a variable called MAX_SEARCH_RESULTS in the .env.production file to change the maximum search results limit.
2019-07-20 16:39:48 +02:00
Thibaut Girka 055450bc02 Merge branch 'master' into glitch-soc/merge-upstream 2019-07-19 23:37:41 +02:00
ThibG c37c1da41e Disallow numeric-only hashtags (#11363)
* Add spec covering numeric-only hashtags

* Fix hashtag regex
2019-07-19 23:22:35 +02:00
ThibG 650459f93c Fix some flash notices/alerts staying on unrelated pages (#11364) 2019-07-19 23:13:21 +02:00
Thibaut Girka 86d4461948 Fix HTML entities being encoded as hashtag links… 2019-07-19 20:15:03 +02:00
Thibaut Girka 249b7c7c12 Fix filtering behaviors 2019-07-19 19:21:20 +02:00
ThibG 490cf3aa03 [Glitch] Add ActivityPub actor representing the entire server
Port SCSS changes from 730c4053d6

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-07-19 18:35:45 +02:00
Eugen Rochko bf3ab44e77 Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id`
Port SCSS changes from b851456139 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-07-19 18:27:26 +02:00
Thibaut Girka 249991c498 Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- Gemfile.lock
- app/controllers/accounts_controller.rb
- app/controllers/admin/dashboard_controller.rb
- app/controllers/follower_accounts_controller.rb
- app/controllers/following_accounts_controller.rb
- app/controllers/remote_follow_controller.rb
- app/controllers/stream_entries_controller.rb
- app/controllers/tags_controller.rb
- app/javascript/packs/public.js
- app/lib/sanitize_config.rb
- app/models/account.rb
- app/models/form/admin_settings.rb
- app/models/media_attachment.rb
- app/models/stream_entry.rb
- app/models/user.rb
- app/serializers/initial_state_serializer.rb
- app/services/batched_remove_status_service.rb
- app/services/post_status_service.rb
- app/services/process_mentions_service.rb
- app/services/reblog_service.rb
- app/services/remove_status_service.rb
- app/views/admin/settings/edit.html.haml
- config/locales/simple_form.pl.yml
- config/settings.yml
- docker-compose.yml
2019-07-19 18:26:49 +02:00
Eugen Rochko aa22b38fdb
Change single-column mode to scroll the whole page (#11359)
Fix #10840
2019-07-19 09:25:22 +02:00
ThibG 4fa6472523 Fix avatar animation on hover when not logged in (#11349) 2019-07-19 09:18:23 +02:00
koyu 8df0022e66 Added logout to dropdown menu (#11353)
* Added logout to dropdown menu

* Triggering build-and-test with empty commit as it seems it failed due to some internal failure

* Looks fine, ready to review

* Added changes from review

* method can be null without any problems

* Also target can be null
2019-07-19 03:58:46 +02:00
ThibG fda437a020 Fix sanitizing lists contents (#11354)
* Add test

* Fix code for sanitizing nested lists stripping all tags
2019-07-19 01:44:58 +02:00
ThibG 730c4053d6 Add ActivityPub actor representing the entire server (#11321)
* Add support for an instance actor

* Skip username validation for local Application accounts

* Add migration script to create instance actor

* Make Codeclimate happy

* Switch to id -99 for instance actor

* Remove unused `icon` and `image` attributes from instance actor

* Use if/elsif/else instead of return + ternary operator

* Add instance actor to fresh installs

* Use instance actor as instance representative

Use instance actor for forwarding reports, relay operations, and spam
auto-reporting.

* Seed database in test environment

* Fix single-user mode

* Fix tests

* Fix specs to accomodate for an extra `Account`

* Auto-reject follows on instance actor

Following an instance actor might make sense, but we are not handling that
right now, so auto-reject.

* Fix webfinger lookup and serialization for instance actor

* Rename instance actor

* Make it clear in the HTML view that the instance actor should not be blocked

* Raise cache time for instance actor as there's no dynamic content

* Re-use /about/more with a flash message for instance actor profile
2019-07-19 01:44:42 +02:00
Thibaut Girka f170e0492f Fix timestamp display in boost/fav modals in RTL locales 2019-07-18 20:56:20 +02:00
Thibaut Girka 4c28511e4e Fixups 2019-07-18 20:56:20 +02:00
Thibaut Girka 45cee95b14 Public pages RTL fixes 2019-07-18 20:56:20 +02:00
Thibaut Girka c1752b238f Unfiy status__prepend with upstream 2019-07-18 20:56:20 +02:00
Thibaut Girka b021efdefe RTL fixes 2019-07-18 20:56:20 +02:00
Thibaut Girka 964c78c118 Fix some SCSS for RTL behavior 2019-07-18 20:56:20 +02:00
Thibaut Girka 4199f7fd87 Minor fixup 2019-07-18 20:56:20 +02:00
Eugen Rochko b743308928 [Glitch] Fix RTL layout of status display names
Port d723f2a0a8 to glitch-soc
2019-07-18 20:56:20 +02:00
Masoud Abkenar bcaea5a9e9 [Glitch] RTL: fix settings button margins in column headers
Port ef11347281 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-07-18 20:56:20 +02:00
Thibaut Girka fabfa90e6c Make width breakpoint for removing margins consistent and match upstream
Fixes #1136
2019-07-18 20:55:38 +02:00
Thibaut Girka 6ff285d948 Fix *another* typo and crash in StatusIcons 2019-07-18 09:54:59 +02:00
Thibaut Girka a2df11ebaf Fix typo and crash in StatusIcons 2019-07-18 09:42:22 +02:00
Eugen Rochko 84e988479e
Fix only one middle dot being recognized in hashtags (#11345)
Fix #10934
2019-07-18 03:02:56 +02:00
Eugen Rochko 4906cabc6b
Add aac, m4a, 3gp to allowed audio formats (#11342)
Fix #11186
2019-07-18 03:02:30 +02:00
Eugen Rochko 5bfe1e1f05
Change language detection to include hashtags as words (#11341) 2019-07-18 03:02:15 +02:00
ThibG 87f4aea52a Fix typo in StatusPolicy (#11344) 2019-07-18 00:48:26 +02:00
Thibaut Girka 46687a3cbd Shorten status icon tooltip text 2019-07-17 21:35:34 +02:00
Thibaut Girka 572009cf56 Add status icon for local-only toots 2019-07-17 21:35:34 +02:00
Thibaut Girka 7db7cb31b1 Add tooltips to status icons 2019-07-17 21:35:34 +02:00
ThibG 7e2b6da57f Add setting to disable the anti-spam (#11296)
* Add environment variable to disable the anti-spam

* Move antispam setting to admin settings

* Fix typo

* antispam → spam_check
2019-07-17 21:09:15 +02:00
Eugen Rochko fccd25cf53
Change terms and privacy policy pages to always be accessible (#11334)
Fix #11328
2019-07-17 19:29:37 +02:00
ThibG 873828ad2d Fix custom CSS controller (#11336) 2019-07-17 17:14:25 +02:00
ThibG 5599caef49 Extend AUTHORIZED_FETCH mode to user blocks as well (#11332)
* Extend AUTHORIZED_FETCH mode to user blocks as well

* Move decision to deny access to StatusPolicy
2019-07-17 01:53:37 +02:00
ThibG 15ddabf95a Fix caching headers in ActivityPub endpoints (#11331)
* Fix reverse-proxy caching in public fetch mode

* Fix caching in ActivityPub-specific controllers
2019-07-17 00:00:39 +02:00
Eugen Rochko e91bf82083 [Glitch] Add option to disable real-time updates in web UI
Port 729723f857 to glitch-soc

Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-07-16 16:51:08 +02:00
Eugen Rochko 729723f857 Add option to disable real-time updates in web UI (#9984)
Fix #9031
Fix #7913
2019-07-16 16:11:50 +02:00
ThibG 91544a6cb5 Remove unused Account#magic_key (#11327) 2019-07-16 14:25:56 +02:00
Eugen Rochko 9b1d3e4acb
Add option to disable real-time updates in web UI (#9984)
Fix #9031
Fix #7913
2019-07-16 06:30:47 +02:00
Eugen Rochko b3f44aa186
Add periodic removal of older thumbnails for preview cards (#11304) 2019-07-15 07:50:14 +02:00
Eugen Rochko cecd0c3cb1
New Crowdin translations (#11153)
* New translations activerecord.en.yml (Indonesian)
[ci skip]

* New translations activerecord.en.yml (Italian)
[ci skip]

* New translations simple_form.en.yml (Persian)
[ci skip]

* New translations simple_form.en.yml (Norwegian)
[ci skip]

* New translations en.yml (Russian)
[ci skip]

* New translations simple_form.en.yml (Finnish)
[ci skip]

* New translations en.yml (Serbian (Cyrillic))
[ci skip]

* New translations en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Swedish)
[ci skip]

* New translations en.yml (Tamil)
[ci skip]

* New translations en.yml (Telugu)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations en.yml (Turkish)
[ci skip]

* New translations en.yml (Ukrainian)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Dutch)
[ci skip]

* New translations simple_form.en.yml (Esperanto)
[ci skip]

* New translations simple_form.en.yml (French)
[ci skip]

* New translations simple_form.en.yml (Galician)
[ci skip]

* New translations simple_form.en.yml (Georgian)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations simple_form.en.yml (Greek)
[ci skip]

* New translations simple_form.en.yml (Hebrew)
[ci skip]

* New translations simple_form.en.yml (Hungarian)
[ci skip]

* New translations simple_form.en.yml (Ido)
[ci skip]

* New translations simple_form.en.yml (Indonesian)
[ci skip]

* New translations simple_form.en.yml (Italian)
[ci skip]

* New translations simple_form.en.yml (Korean)
[ci skip]

* New translations doorkeeper.en.yml (Welsh)
[ci skip]

* New translations simple_form.en.yml (Occitan)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations en.json (Italian)
[ci skip]

* New translations simple_form.en.yml (Greek)
[ci skip]

* New translations simple_form.en.yml (Czech)
[ci skip]

* New translations simple_form.en.yml (Basque)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations simple_form.en.yml (German)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations simple_form.en.yml (Polish)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations doorkeeper.en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations simple_form.en.yml (Thai)
[ci skip]

* New translations en.json (Thai)
[ci skip]

* New translations simple_form.en.yml (Slovak)
[ci skip]

* New translations simple_form.en.yml (Corsican)
[ci skip]

* New translations simple_form.en.yml (Corsican)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Chinese Simplified)
[ci skip]

* New translations simple_form.en.yml (Galician)
[ci skip]

* New translations en.json (Galician)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.json (Portuguese, Brazilian)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations doorkeeper.en.yml (Welsh)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations simple_form.en.yml (Welsh)
[ci skip]

* New translations activerecord.en.yml (Welsh)
[ci skip]

* New translations en.yml (Slovak)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.yml (Albanian)
[ci skip]

* New translations activerecord.en.yml (Serbian (Latin))
[ci skip]

* New translations doorkeeper.en.yml (Serbian (Latin))
[ci skip]

* New translations devise.en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations en.yml (Esperanto)
[ci skip]

* New translations en.yml (Hebrew)
[ci skip]

* New translations en.yml (Greek)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.yml (Georgian)
[ci skip]

* New translations en.yml (Galician)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.yml (Finnish)
[ci skip]

* New translations en.yml (Dutch)
[ci skip]

* New translations en.yml (Danish)
[ci skip]

* New translations en.yml (Corsican)
[ci skip]

* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.yml (Chinese Traditional)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations en.yml (Hungarian)
[ci skip]

* New translations en.yml (Indonesian)
[ci skip]

* New translations en.yml (Czech)
[ci skip]

* New translations simple_form.en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Italian)
[ci skip]

* New translations en.yml (Persian)
[ci skip]

* New translations en.yml (Serbian (Latin))
[ci skip]

* New translations en.yml (Serbian (Cyrillic))
[ci skip]

* New translations en.yml (Russian)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.yml (Slovenian)
[ci skip]

* New translations en.yml (Norwegian)
[ci skip]

* New translations en.yml (Lithuanian)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations en.yml (Kazakh)
[ci skip]

* New translations en.yml (Japanese)
[ci skip]

* New translations en.yml (Slovak)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Swedish)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations en.yml (Ukrainian)
[ci skip]

* New translations en.yml (Turkish)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations devise.en.yml (Chinese Simplified)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.json (Russian)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations simple_form.en.yml (Basque)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations doorkeeper.en.yml (Basque)
[ci skip]

* New translations en.json (Korean)
[ci skip]

* New translations doorkeeper.en.yml (Slovak)
[ci skip]

* New translations en.yml (Finnish)
[ci skip]

* New translations en.yml (Esperanto)
[ci skip]

* New translations en.yml (Dutch)
[ci skip]

* New translations en.yml (Danish)
[ci skip]

* New translations en.yml (Corsican)
[ci skip]

* New translations en.yml (Chinese Traditional, Hong Kong)
[ci skip]

* New translations en.yml (Chinese Simplified)
[ci skip]

* New translations en.yml (Catalan)
[ci skip]

* New translations en.yml (Chinese Traditional)
[ci skip]

* New translations en.yml (Basque)
[ci skip]

* New translations en.yml (Asturian)
[ci skip]

* New translations en.yml (Arabic)
[ci skip]

* New translations en.yml (Albanian)
[ci skip]

* New translations en.yml (Czech)
[ci skip]

* New translations en.yml (French)
[ci skip]

* New translations en.yml (Galician)
[ci skip]

* New translations en.yml (Georgian)
[ci skip]

* New translations en.yml (German)
[ci skip]

* New translations en.yml (Greek)
[ci skip]

* New translations en.yml (Hungarian)
[ci skip]

* New translations en.yml (Italian)
[ci skip]

* New translations en.yml (Japanese)
[ci skip]

* New translations en.yml (Kazakh)
[ci skip]

* New translations en.yml (Korean)
[ci skip]

* New translations en.yml (Lithuanian)
[ci skip]

* New translations en.yml (Occitan)
[ci skip]

* New translations en.yml (Persian)
[ci skip]

* New translations en.yml (Polish)
[ci skip]

* New translations en.yml (Portuguese)
[ci skip]

* New translations en.yml (Portuguese, Brazilian)
[ci skip]

* New translations en.yml (Serbian (Cyrillic))
[ci skip]

* New translations en.yml (Russian)
[ci skip]

* New translations en.yml (Slovak)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Swedish)
[ci skip]

* New translations en.yml (Thai)
[ci skip]

* New translations en.yml (Ukrainian)
[ci skip]

* New translations en.yml (Welsh)
[ci skip]

* New translations en.yml (Russian)
[ci skip]

* New translations simple_form.en.yml (Russian)
[ci skip]

* New translations simple_form.en.yml (Russian)
[ci skip]

* New translations en.json (Thai)
[ci skip]

* New translations en.json (Thai)
[ci skip]

* New translations simple_form.en.yml (Thai)
[ci skip]

* New translations simple_form.en.yml (Thai)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations doorkeeper.en.yml (Spanish)
[ci skip]

* New translations doorkeeper.en.yml (Spanish)
[ci skip]

* New translations en.json (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations en.yml (Spanish)
[ci skip]

* New translations simple_form.en.yml (Spanish)
[ci skip]

* New translations simple_form.en.yml (Spanish)
[ci skip]

* New translations simple_form.en.yml (Spanish)
[ci skip]

* New translations doorkeeper.en.yml (Spanish)
[ci skip]

* New translations en.json (Slovak)
[ci skip]

* New translations devise.en.yml (Slovak)
[ci skip]

* New translations doorkeeper.en.yml (Slovak)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.json (Chinese Simplified)
[ci skip]

* New translations en.yml (Slovak)
[ci skip]

* New translations simple_form.en.yml (Japanese)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations en.json (Bengali)
[ci skip]

* New translations activerecord.en.yml (Bengali)
[ci skip]

* New translations devise.en.yml (Bengali)
[ci skip]

* New translations devise.en.yml (Bengali)
[ci skip]

* New translations devise.en.yml (Bengali)
[ci skip]

* New translations devise.en.yml (Bengali)
[ci skip]

* New translations devise.en.yml (Bengali)
[ci skip]

* New translations devise.en.yml (Bengali)
[ci skip]

* i18n-tasks normalize

* yarn manage:translations
2019-07-15 06:12:05 +02:00
ThibG 2f813b7ea1 Disable LDSigning when AUTHORIZED_FETCH is set to true (#11295) 2019-07-15 02:29:39 +02:00
ThibG 3595ce6325 Fix leaking private statuses the admin account follows (#11300)
Now that the request is signed, it can return private toots. Do not leak them.
2019-07-15 02:29:04 +02:00
han@highemelry 0442fcdbc8 Change the retry limit in error of web push notification (#11292)
- Change the maximum count of retry for web push notification (Default -> 5).
   - In case of high load of subscribe server, the retries will be repeated many times.
   - Because the retries occupy the default queue, maximum retry count should be reduced.
2019-07-15 00:48:50 +02:00
ThibG 99c1f0811b Fix BlockService trying to reject incorrect follow request (#11288)
Fixes #11148
2019-07-15 00:48:50 +02:00
ThibG 9f67e3b9cc Fix Status.remote scope matching *all* statuses (#11265) 2019-07-15 00:48:50 +02:00
ThibG bd77fd6ff3 Fix BackupService crashing when an attachment is missing (#11241)
* Fix BackupService crashing when an attachment is missing

For various reasons such as admin error or out-of-sync media and
database backups, it might be possible for local attachments to be lost.

This commit allows the BackupService to continue its work even if some media
file is missing.

* Change error message
2019-07-15 00:48:49 +02:00
Thibaut Girka 1b074d2a50 Add link to edit each listed filter 2019-07-15 00:48:28 +02:00
Thibaut Girka f7fa11c4cd Make some strings translatable 2019-07-15 00:48:28 +02:00
Thibaut Girka fc8577cf2b Minor refactoring 2019-07-15 00:48:28 +02:00
Thibaut Girka 707b8d7d75 Move the “Show why” button inline 2019-07-15 00:48:28 +02:00
Thibaut Girka 85f3bc1ab3 Implement feature to add filtered phrases to content warnings 2019-07-15 00:48:28 +02:00
Thibaut Girka 42b59b730b Implement option to completely hide filtered toots 2019-07-15 00:48:28 +02:00
Thibaut Girka 16b79a6237 Add options to configure filtering behavior 2019-07-15 00:48:28 +02:00
Thibaut Girka bde7a415b9 Add a way to know why a status has been filtered, and show it anyway 2019-07-15 00:48:28 +02:00
Thibaut Girka e9fac2def9 Do not keep polls pre-filled in thread mode 2019-07-15 00:41:09 +02:00
Thibaut Girka e0bfa685c6 Fix error boundary CSS 2019-07-15 00:28:31 +02:00
Eugen Rochko 6ff67be0f6
Add a spam check (#11217)
* Add a spam check

* Use Nilsimsa to generate locality-sensitive hashes and compare using Levenshtein distance

* Add more tests

* Add exemption when the message is a reply to something that mentions the sender

* Use Nilsimsa Compare Value instead of Levenshtein distance

* Use MD5 for messages shorter than 10 characters

* Add message to automated report, do not add non-public statuses to
automated report, add trust level to accounts and make unsilencing
raise the trust level to prevent repeated spam checks on that account

* Expire spam check data after 3 months

* Add support for local statuses, reduce expiration to 1 week, always create a report

* Add content warnings to the spam check and exempt empty statuses

* Change Nilsimsa threshold to 95 and make sure removed statuses are removed from the spam check

* Add all matched statuses into automatic report
2019-07-13 16:45:50 +02:00
han@highemelry 402302776c Change the retry limit in error of web push notification (#11292)
- Change the maximum count of retry for web push notification (Default -> 5).
   - In case of high load of subscribe server, the retries will be repeated many times.
   - Because the retries occupy the default queue, maximum retry count should be reduced.
2019-07-12 18:46:21 +02:00
Eugen Rochko 5bf67ca913
Add ActivityPub secure mode (#11269)
* Add HTTP signature requirement for served ActivityPub resources

* Change `SECURE_MODE` to `AUTHORIZED_FETCH`

* Add 'Signature' to 'Vary' header and improve code style

* Improve code style by adding `public_fetch_mode?` method
2019-07-11 20:11:09 +02:00
ThibG 4e1260feaa Fix BlockService trying to reject incorrect follow request (#11288)
Fixes #11148
2019-07-11 14:50:27 +02:00
Eugen Rochko 4e8dcc5dbb
Add HTTP signatures to all outgoing ActivityPub GET requests (#11284) 2019-07-11 14:49:55 +02:00
Thibaut Girka 0baaee495f Fix report dialog crashing when a toot gets deleted
Fixes #1155
2019-07-10 19:53:31 +02:00
Eugen Rochko 5d3feed191
Refactor fetching of remote resources (#11251) 2019-07-10 18:59:28 +02:00
ThibG d04c584159 Drop magic-public-key from webfinger replies as it's only used for OStatus (#11280) 2019-07-10 17:10:43 +02:00
ThibG 85eb418e1f Fix handling of webfinger redirects in ResolveAccountService (#11279) 2019-07-10 17:10:12 +02:00
Eugen Rochko 6172263a63
Fix activity being rendered within activity due to caching (#11271)
Fix #11270
2019-07-10 00:43:30 +02:00
Eugen Rochko 4e92183227
Refactor domain block checks (#11268) 2019-07-09 03:27:35 +02:00
ThibG 1e7187f2a8 Fix Status.remote scope matching *all* statuses (#11265) 2019-07-08 18:17:22 +02:00