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
Eugen Rochko
ef15246397
Remove unused remote unfollow controller ( #11250 )
2019-07-08 12:04:06 +02:00
Eugen Rochko
63c7fe8e48
Refactor controllers for statuses, accounts, and more ( #11249 )
2019-07-08 12:03:45 +02:00
ThibG
87c1ad4ea3
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-08 02:24:25 +02:00
ThibG
fce885f271
Merge pull request #1152 from ThibG/glitch-soc/merge-upstream
...
Merge upstream changes
2019-07-07 22:26:10 +02:00
Eugen Rochko
b851456139
Remove Atom feeds and old URLs in the form of `GET /:username/updates/:id` ( #11247 )
2019-07-07 16:16:51 +02:00
ThibG
64f3bc77ac
[Glitch] Only scroll to the compose form if it's not horizontally in the viewport
...
Port c07cca4727
to glitch-soc
2019-07-07 14:03:12 +02:00
ThibG
a0b614f10a
Fix support for HTTP proxies ( #11245 )
...
* Disable incorrect check for hidden services in Socket
Hidden services can only be accessed with an HTTP proxy, in which
case the host seen by the Socket class will be the proxy, not the
target host.
Hidden services are already filtered in `Request#initialize`.
* Use our Socket class to connect to HTTP proxies
Avoid the timeout logic being bypassed
* Add support for IP addresses in Request::Socket
* Refactor a bit, no need to keep the DNS resolver around
2019-07-07 13:53:09 +02:00
Thibaut Girka
7039dca12c
Merge commit 'c07cca4727041ea5a5721acbc603d4bfb45a15a6' into glitch-soc/merge-upstream
...
Unlike upstream, kept the direct timeline endpoint, as it is still of use in
glitch-soc.
2019-07-07 13:49:31 +02:00
Eugen Rochko
406b46395d
Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ( #11231 )
2019-07-07 03:37:01 +02:00
ThibG
58276715be
Fix support for HTTP proxies ( #11245 )
...
* Disable incorrect check for hidden services in Socket
Hidden services can only be accessed with an HTTP proxy, in which
case the host seen by the Socket class will be the proxy, not the
target host.
Hidden services are already filtered in `Request#initialize`.
* Use our Socket class to connect to HTTP proxies
Avoid the timeout logic being bypassed
* Add support for IP addresses in Request::Socket
* Refactor a bit, no need to keep the DNS resolver around
2019-07-07 02:05:38 +02:00
Eugen Rochko
23aeef52cc
Remove Salmon and PubSubHubbub ( #11205 )
...
* Remove Salmon and PubSubHubbub endpoints
* Add error when trying to follow OStatus accounts
* Fix new accounts not being created in ResolveAccountService
2019-07-06 23:26:16 +02:00
ThibG
c07cca4727
Only scroll to the compose form if it's not horizontally in the viewport ( #11246 )
...
Avoids jumping the scroll around vertically when giving it focus and
editing long toots.
2019-07-06 18:18:08 +02:00
Eugen Rochko
ae003d54f9
Fix option to send e-mail notification about account action always being true ( #11242 )
2019-07-06 13:54:32 +02:00
ThibG
ed544f3166
Fix HTTP requests to IPv6 hosts ( #11240 )
2019-07-05 22:03:00 +02:00
Thibaut Girka
e5f4d83e60
Allow serializing local-only toots in backup service
...
Fixes #1153
2019-07-05 21:50:19 +02:00
Eugen Rochko
0c1b1069c9
Remove deprecated REST API `GET /api/v1/statuses/:id/card` ( #11213 )
2019-07-05 02:15:24 +02:00
Eugen Rochko
3fd6ab99e6
Remove deprecated REST API `GET /api/v1/timelines/direct` ( #11212 )
2019-07-05 02:14:56 +02:00
ThibG
47c30be8d8
[Glitch] Memoize ancestorIds and descendantIds in detailed status view
...
Port 99924f282f
to glitch-soc
2019-07-04 16:26:17 +02:00
ThibG
894d82a325
[Glitch] When deleting & redrafting a poll, fill in closest expires_in
...
Port dc88d226e1
to glitch-soc
2019-07-04 16:24:48 +02:00
Thibaut Girka
6ab84c12a7
Merge branch 'master' into glitch-soc/merge-upstream
2019-07-04 16:21:39 +02:00
ThibG
99924f282f
Memoize ancestorIds and descendantIds in detailed status view ( #11234 )
2019-07-02 16:03:54 +02:00
Eugen Rochko
1a747f7020
Fix statsd UDP sockets not being cleaned up in Sidekiq ( #11230 )
2019-07-02 01:01:17 +02:00
Eugen Rochko
bc60d794f8
Change ActivityPub::DeliveryWorker to not retry HTTP 501 errors ( #11233 )
2019-07-02 00:59:53 +02:00
ThibG
dc88d226e1
When deleting & redrafting a poll, fill in closest expires_in ( #11203 )
...
Use the smallest preset expires_in such that the new poll would
not expire before the old one.
In the typical case of a quick delete & redraft, this results in
using the same poll duration.
Fixes #10567
2019-07-02 00:36:16 +02:00
Eugen Rochko
0d9ffe56fb
Add request pool to improve delivery performance ( #10353 )
...
* Add request pool to improve delivery performance
Fix #7909
* Ensure connection is closed when exception interrupts execution
* Remove Timeout#timeout from socket connection
* Fix infinite retrial loop on HTTP::ConnectionError
* Close sockets on failure, reduce idle time to 90 seconds
* Add MAX_REQUEST_POOL_SIZE option to limit concurrent connections to the same server
* Use a shared pool size, 512 by default, to stay below open file limit
* Add some tests
* Add more tests
* Reduce MAX_IDLE_TIME from 90 to 30 seconds, reap every 30 seconds
* Use a shared pool that returns preferred connection but re-purposes other ones when needed
* Fix wrong connection being returned on subsequent calls within the same thread
* Reduce mutex calls on flushes from 2 to 1 and add test for reaping
2019-07-02 00:34:38 +02:00
Thibaut Girka
c94966891a
Minor cleanup and maybe minor performance improvements
2019-07-01 19:31:21 +02:00
Thibaut Girka
9d6b46fe34
Minor optimization regarding regexp filtering in timelines
2019-07-01 19:31:21 +02:00
Thibaut Girka
c49f7d5d16
Use strict equality rather than Immutable.is as the compared props are values
2019-07-01 19:31:10 +02:00
Thibaut Girka
82a76f03a4
Assume children of visible IntersectionObserverArticle always change
...
This fixes multiple issues, while adding few computations
2019-07-01 19:31:10 +02:00
Thibaut Girka
c0b5ee315d
Revert to using upstream's optimisations
...
This *does* break things, as `shouldComponentUpdate` assume the
children to never change!
2019-07-01 19:31:10 +02:00
Thibaut Girka
0ef6a114e7
Fix error boundary DOM
2019-07-01 19:30:59 +02:00
Thibaut Girka
82cd138c89
Fix some React warnings
2019-07-01 19:30:59 +02:00
Eugen Rochko
2cfa427ea7
Change domain block behaviour to prevent creation of accounts from suspended domains ( #11219 )
2019-07-01 19:13:30 +02:00
ThibG
082b3b282f
Fix expiration date of filters being set to “Never” when editing them ( #11204 )
...
When editing a custom filter, select the shortest preset duration that
still covers the remaining time of that filter.
Fixes #9506
2019-06-30 16:11:21 +02:00
Eugen Rochko
06424786a1
Fix support for MP4 files that are actually M4V files ( #11210 )
...
Resolve #11187
2019-06-30 16:10:43 +02:00
Thibaut Girka
b6e9b7d1cd
[Glitch] When sending a toot, ensure a CW is only set if the CW field is visible
...
Partial port of ccc7fe3e1d
to glitch-soc
It doesn't ensure the field isn't changed, just that it isn't submitted if
the field isn't visible. Ensuring the field isn't changed would require
reworking the “always show CW field” feature.
2019-06-30 14:35:03 +02:00
ThibG
cbb41e2dad
[Glitch] Optimize makeGetStatus
...
Port f895bf1984
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-30 11:06:04 +02:00
ThibG
46829e009e
[Glitch] Use ScrollToOptions for smooth scrolling if supported
...
Port 84ff393842
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-30 11:01:01 +02:00
Thibaut Girka
c5495a448c
Merge branch 'master' into glitch-soc/merge-upstream
2019-06-30 10:59:45 +02:00
ThibG
f895bf1984
Optimize makeGetStatus ( #11211 )
...
* Optimize makeGetStatus
Because `ImmutableList.filter` always returns a new object and `createSelector`
memoizes based on object identity, the selector returned by `makeGetStatus`
would *always* execute.
To avoid that, we wrap `getFilters` into a new memoizer that memoizes based on
deep equality, thus returning the same object as long as the filters haven't
changed, allowing the memoization of `makeGetStatus` to work.
Furthermore, we memoize the compiled regexs instead of recomputing them each
time the selector is called.
* Fix memoized result being cleared too often
* Make notifications use memoized getFiltersRegex
2019-06-30 00:12:38 +02:00
ThibG
ccc7fe3e1d
When sending a toot, ensure a CW is only set if the CW field is visible ( #11206 )
...
In some occasions, such as the browser or a browser extension auto-filling
the existing but disabled/hidden CW field, a CW can be set without the user
knowing.
2019-06-29 18:32:36 +02:00
ThibG
84ff393842
Use ScrollToOptions for smooth scrolling if supported ( #11207 )
2019-06-29 18:32:06 +02:00
Eugen Rochko
662252c8f7
[Glitch] Add categories for custom emojis
...
Port front-end changes from e64e6a03dd
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-28 21:42:37 +02:00
ThibG
4d964398de
[Glitch] Fix swiping columns on mobile sometimes failing
...
Port 072158ee97
to glitch-soc
2019-06-28 21:38:34 +02:00
Thibaut Girka
3922b518f7
Merge branch 'master' into glitch-soc/merge-upstream
2019-06-28 21:36:50 +02:00
ThibG
4f5b221be2
Display FTS warning based on actual search term, not the one being typed ( #11202 )
...
Follow-up to #11112
2019-06-28 19:29:11 +02:00
ThibG
43698e08ca
[Glitch] Add message telling FTS is disabled when no toot can be found because of this
...
Port ca8944728f
to glitch-soc
2019-06-28 18:54:56 +02:00
Eugen Rochko
e64e6a03dd
Add categories for custom emojis ( #11196 )
...
Fix #7940
2019-06-28 15:54:10 +02:00
ThibG
072158ee97
Fix swiping columns on mobile sometimes failing ( #11200 )
...
Fixes #9779
2019-06-28 13:52:15 +02:00
Thibaut Girka
c8ba75b963
Merge branch 'master' into glitch-soc/merge-upstream
2019-06-28 12:11:45 +02:00
Thibaut Girka
6ad870a410
Change search components classes and styling to match upstream
2019-06-28 11:13:41 +02:00
ThibG
ca8944728f
Add message telling FTS is disabled when no toot can be found because of this ( #11112 )
...
* Add message telling FTS is disabled when no toot can be found because of this
Fixes #11082
* Remove info icon and reword message
2019-06-27 21:12:26 +02:00
ThibG
9a90ec3b3b
Fix account URI in UpdatePollSerializer ( #11194 )
...
* Fix account URI in UpdatePollSerializer
Fixes #11185
* Add specs
2019-06-27 19:41:55 +02:00
Thibaut Girka
ca17bae904
Use a redis-cached feed for the DM timeline
2019-06-27 16:44:12 +02:00
Thibaut Girka
6ab7051b48
Merge branch 'master' into glitch-soc/merge-upstream
2019-06-27 15:48:23 +02:00
mayaeh
a02f4b7cd4
Fix NameError ( #11192 )
2019-06-27 09:16:55 +02:00
ThibG
4175f13155
[Glitch] Add option to disable blurhash previews
...
Port 3086c645fd
to glitch-soc
2019-06-26 23:19:26 +02:00
PatOnTheBack
383136d9bb
[Glitch] Removed extra pipes from regex.
...
Port 5b20284f6f
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-26 23:19:26 +02:00
ThibG
5c3171e8ea
[Glitch] Apply filters to poll options in WebUI
...
Port 47ef4a6c7a
to glitch-soc
2019-06-26 23:19:26 +02:00
Thibaut Girka
aaec64a500
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- app/controllers/settings/preferences_controller.rb
- app/lib/user_settings_decorator.rb
- app/models/user.rb
- config/locales/simple_form.en.yml
2019-06-26 23:19:22 +02:00
ThibG
3086c645fd
Add option to disable blurhash previews ( #11188 )
...
* Add option to disable blurhash previews
* Update option text
* Change options order
2019-06-26 19:33:04 +02:00
ThibG
915c619394
Add support for Audio activities ( #11189 )
...
Fixes #11127
2019-06-26 19:32:36 +02:00
ThibG
32a4494926
Scroll to compose form rather than reply indicator on focus ( #11182 )
2019-06-26 14:28:36 +02:00
Thibaut Girka
9ef25877df
Scroll to compose form rather than reply indicator on focus
2019-06-26 10:46:11 +02:00
PatOnTheBack
5b20284f6f
Removed extra pipes from regex. ( #11181 )
2019-06-26 02:16:24 +02:00
Eugen Rochko
6836587117
Fix unnecessary SQL query performed on unauthenticated requests ( #11179 )
2019-06-25 20:18:15 +02:00
ThibG
47ef4a6c7a
Apply filters to poll options ( #11174 )
...
* Apply filters to poll options in WebUI
Fixes #11128
* Apply filters to poll options server-side
* Add poll options to searchable text
2019-06-25 14:45:14 +02:00
Thibaut Girka
598cdc9542
Use a different icon for audio attachments
2019-06-24 16:16:16 +02:00
Eugen Rochko
d7eb580053
[Glitch] Add media description as title to links of unknown media attachments
...
Port front-end changes from 49ebda4d49
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-24 16:00:42 +02:00
Eugen Rochko
967456b6a9
[Glitch] Add audio uploads
...
Port front-end changes from f7f23b4a19
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-24 16:00:42 +02:00
Thibaut Girka
ddd875ad99
Merge branch 'master' into glitch-soc/merge-upstream
...
Conflicts:
- app/models/media_attachment.rb
Upstream added audio attachment support
- app/serializers/initial_state_serializer.rb
Upstream added audio attachment support and how mimetypes are returned
- app/serializers/rest/instance_serializer.rb
Upstream added a few fields
- config/application.rb
Upstream added a different paperclip transcoder
2019-06-24 15:02:59 +02:00
Eugen Rochko
8fe7116cdf
New Crowdin translations ( #11144 )
...
* New translations simple_form.en.yml (Japanese)
[ci skip]
* New translations en.json (Catalan)
[ci skip]
* New translations doorkeeper.en.yml (Catalan)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (Galician)
[ci skip]
* New translations en.json (Arabic)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* New translations doorkeeper.en.yml (German)
[ci skip]
* New translations en.json (Slovenian)
[ci skip]
* i18n-tasks normalize
* yarn manage:translations
2019-06-22 17:26:09 +02:00
Eugen Rochko
b927bb3f07
Fix audio-only OGG and WebM files not being processed as such ( #11151 )
...
Also, because Chrome sends audio/mp3 instead of audio/mpeg as it's
supposed to, we need to whitelist that mime type as well
2019-06-22 16:54:06 +02:00
koyu
6eb5241099
Change camera icon to paperclip icon in upload form ( #11149 )
2019-06-22 15:29:25 +02:00
Eugen Rochko
d61d164685
Add `short_description` and `approval_required` to `GET /api/v1/instance` ( #11146 )
2019-06-22 12:08:16 +02:00