Thibaut Girka
5eca68102a
Shorten status icon tooltip text
2019-07-17 21:35:34 +02:00
Thibaut Girka
0b139b1df4
Add status icon for local-only toots
2019-07-17 21:35:34 +02:00
Thibaut Girka
85654916b7
Add tooltips to status icons
2019-07-17 21:35:34 +02:00
ThibG
9015b19e09
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
50caff4dc0
Change terms and privacy policy pages to always be accessible ( #11334 )
...
Fix #11328
2019-07-17 19:29:37 +02:00
ThibG
978792a112
Fix custom CSS controller ( #11336 )
2019-07-17 17:14:25 +02:00
ThibG
ac154ccc95
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
a4b1083795
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
f1de5093fb
[Glitch] Add option to disable real-time updates in web UI
...
Port c56e6fd7a1
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-07-16 16:51:08 +02:00
Eugen Rochko
c56e6fd7a1
Add option to disable real-time updates in web UI ( #9984 )
...
Fix #9031
Fix #7913
2019-07-16 16:11:50 +02:00
ThibG
ab6af77728
Remove unused Account#magic_key ( #11327 )
2019-07-16 14:25:56 +02:00
Eugen Rochko
9dead08055
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
ac853dca51
Add periodic removal of older thumbnails for preview cards ( #11304 )
2019-07-15 07:50:14 +02:00
Eugen Rochko
c4a05eaa87
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
a7b0224699
Disable LDSigning when AUTHORIZED_FETCH is set to true ( #11295 )
2019-07-15 02:29:39 +02:00
ThibG
3f12a0b8fd
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
eed19aa8be
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
33545631e1
Fix BlockService trying to reject incorrect follow request ( #11288 )
...
Fixes #11148
2019-07-15 00:48:50 +02:00
ThibG
e31bedc3a8
Fix Status.remote scope matching *all* statuses ( #11265 )
2019-07-15 00:48:50 +02:00
ThibG
1d8a374f2a
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
025cfdf901
Add link to edit each listed filter
2019-07-15 00:48:28 +02:00
Thibaut Girka
af4979e321
Make some strings translatable
2019-07-15 00:48:28 +02:00
Thibaut Girka
9339b4634e
Minor refactoring
2019-07-15 00:48:28 +02:00
Thibaut Girka
59b8573907
Move the “Show why” button inline
2019-07-15 00:48:28 +02:00
Thibaut Girka
fde918bf92
Implement feature to add filtered phrases to content warnings
2019-07-15 00:48:28 +02:00
Thibaut Girka
0b23403d58
Implement option to completely hide filtered toots
2019-07-15 00:48:28 +02:00
Thibaut Girka
6476b7dabe
Add options to configure filtering behavior
2019-07-15 00:48:28 +02:00
Thibaut Girka
67d1b0c997
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
79e97d71d4
Do not keep polls pre-filled in thread mode
2019-07-15 00:41:09 +02:00
Thibaut Girka
4eb6457889
Fix error boundary CSS
2019-07-15 00:28:31 +02:00
Eugen Rochko
f70b20a01c
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
b6997d2622
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
39719ae981
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
4bf0ee9467
Fix BlockService trying to reject incorrect follow request ( #11288 )
...
Fixes #11148
2019-07-11 14:50:27 +02:00
Eugen Rochko
317b79d673
Add HTTP signatures to all outgoing ActivityPub GET requests ( #11284 )
2019-07-11 14:49:55 +02:00
Thibaut Girka
8184a7407d
Fix report dialog crashing when a toot gets deleted
...
Fixes #1155
2019-07-10 19:53:31 +02:00
Eugen Rochko
6baf5099a6
Refactor fetching of remote resources ( #11251 )
2019-07-10 18:59:28 +02:00
ThibG
f9548fd31f
Drop magic-public-key from webfinger replies as it's only used for OStatus ( #11280 )
2019-07-10 17:10:43 +02:00
ThibG
e39e4786b4
Fix handling of webfinger redirects in ResolveAccountService ( #11279 )
2019-07-10 17:10:12 +02:00
Eugen Rochko
f83ce1d943
Fix activity being rendered within activity due to caching ( #11271 )
...
Fix #11270
2019-07-10 00:43:30 +02:00
Eugen Rochko
d0b0b63b1a
Refactor domain block checks ( #11268 )
2019-07-09 03:27:35 +02:00
ThibG
5031bc3998
Fix Status.remote scope matching *all* statuses ( #11265 )
2019-07-08 18:17:22 +02:00
Eugen Rochko
e17c937f65
Remove unused remote unfollow controller ( #11250 )
2019-07-08 12:04:06 +02:00
Eugen Rochko
56f0203c66
Refactor controllers for statuses, accounts, and more ( #11249 )
2019-07-08 12:03:45 +02:00
ThibG
12d6c0ff9b
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
53b0221e7d
Merge pull request #1152 from ThibG/glitch-soc/merge-upstream
...
Merge upstream changes
2019-07-07 22:26:10 +02:00
Eugen Rochko
fbbcbd940d
Remove Atom feeds and old URLs in the form of GET /:username/updates/:id
( #11247 )
2019-07-07 16:16:51 +02:00
ThibG
e2c93b4b34
[Glitch] Only scroll to the compose form if it's not horizontally in the viewport
...
Port 64909cf0d9
to glitch-soc
2019-07-07 14:03:12 +02:00
ThibG
73051a4c10
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
d7a7f21646
Merge commit '64909cf0d988fb09917c41cfbc81b1e9a5132aca' 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
ad6b03d4b6
Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ( #11231 )
2019-07-07 03:37:01 +02:00
ThibG
ac1fec5be3
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
4931208dd8
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
64909cf0d9
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
ce5f0247f6
Fix option to send e-mail notification about account action always being true ( #11242 )
2019-07-06 13:54:32 +02:00
ThibG
33607c43a5
Fix HTTP requests to IPv6 hosts ( #11240 )
2019-07-05 22:03:00 +02:00
Thibaut Girka
017b0ea6ff
Allow serializing local-only toots in backup service
...
Fixes #1153
2019-07-05 21:50:19 +02:00
Eugen Rochko
d9f42ba34b
Remove deprecated REST API GET /api/v1/statuses/:id/card
( #11213 )
2019-07-05 02:15:24 +02:00
Eugen Rochko
6cae1b40bf
Remove deprecated REST API GET /api/v1/timelines/direct
( #11212 )
2019-07-05 02:14:56 +02:00
ThibG
447e13fec3
[Glitch] Memoize ancestorIds and descendantIds in detailed status view
...
Port eda4094171
to glitch-soc
2019-07-04 16:26:17 +02:00
ThibG
b8d7f860ca
[Glitch] When deleting & redrafting a poll, fill in closest expires_in
...
Port a55fd40802
to glitch-soc
2019-07-04 16:24:48 +02:00
Thibaut Girka
9866c2bfff
Merge branch 'master' into glitch-soc/merge-upstream
2019-07-04 16:21:39 +02:00
ThibG
eda4094171
Memoize ancestorIds and descendantIds in detailed status view ( #11234 )
2019-07-02 16:03:54 +02:00
Eugen Rochko
7391d223ab
Fix statsd UDP sockets not being cleaned up in Sidekiq ( #11230 )
2019-07-02 01:01:17 +02:00
Eugen Rochko
227d9297ba
Change ActivityPub::DeliveryWorker to not retry HTTP 501 errors ( #11233 )
2019-07-02 00:59:53 +02:00
ThibG
a55fd40802
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
e782fcef4f
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
1181f84c79
Minor cleanup and maybe minor performance improvements
2019-07-01 19:31:21 +02:00
Thibaut Girka
65b1946489
Minor optimization regarding regexp filtering in timelines
2019-07-01 19:31:21 +02:00
Thibaut Girka
bcbc9ed7f6
Use strict equality rather than Immutable.is as the compared props are values
2019-07-01 19:31:10 +02:00
Thibaut Girka
e4ffc42c8c
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
b9ae9c7205
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
081790f04b
Fix error boundary DOM
2019-07-01 19:30:59 +02:00
Thibaut Girka
edad7f2a6c
Fix some React warnings
2019-07-01 19:30:59 +02:00
Eugen Rochko
9ac82421f8
Change domain block behaviour to prevent creation of accounts from suspended domains ( #11219 )
2019-07-01 19:13:30 +02:00
ThibG
a70732fd06
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
6385ddb97f
Fix support for MP4 files that are actually M4V files ( #11210 )
...
Resolve #11187
2019-06-30 16:10:43 +02:00
Thibaut Girka
6b21ce2daa
[Glitch] When sending a toot, ensure a CW is only set if the CW field is visible
...
Partial port of fa7866c9c8
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
c49a57e989
[Glitch] Optimize makeGetStatus
...
Port ff65c494a6
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-30 11:06:04 +02:00
ThibG
68e998de21
[Glitch] Use ScrollToOptions for smooth scrolling if supported
...
Port 20b1f8dcf6
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-30 11:01:01 +02:00
Thibaut Girka
5c23174a2f
Merge branch 'master' into glitch-soc/merge-upstream
2019-06-30 10:59:45 +02:00
ThibG
ff65c494a6
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
fa7866c9c8
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
20b1f8dcf6
Use ScrollToOptions for smooth scrolling if supported ( #11207 )
2019-06-29 18:32:06 +02:00
Eugen Rochko
a3cd9e432d
[Glitch] Add categories for custom emojis
...
Port front-end changes from 1c612f24e4
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-28 21:42:37 +02:00
ThibG
284ff65022
[Glitch] Fix swiping columns on mobile sometimes failing
...
Port 9668e42afd
to glitch-soc
2019-06-28 21:38:34 +02:00
Thibaut Girka
6739c423ff
Merge branch 'master' into glitch-soc/merge-upstream
2019-06-28 21:36:50 +02:00
ThibG
72dc1b3e60
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
a393529547
[Glitch] Add message telling FTS is disabled when no toot can be found because of this
...
Port 0943e994dd
to glitch-soc
2019-06-28 18:54:56 +02:00
Eugen Rochko
1c612f24e4
Add categories for custom emojis ( #11196 )
...
Fix #7940
2019-06-28 15:54:10 +02:00
ThibG
9668e42afd
Fix swiping columns on mobile sometimes failing ( #11200 )
...
Fixes #9779
2019-06-28 13:52:15 +02:00
Thibaut Girka
8176d21824
Merge branch 'master' into glitch-soc/merge-upstream
2019-06-28 12:11:45 +02:00
Thibaut Girka
ad4ebd172a
Change search components classes and styling to match upstream
2019-06-28 11:13:41 +02:00
ThibG
0943e994dd
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
8adac384ed
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
ec1fcf1584
Use a redis-cached feed for the DM timeline
2019-06-27 16:44:12 +02:00
Thibaut Girka
b445d2fbc0
Merge branch 'master' into glitch-soc/merge-upstream
2019-06-27 15:48:23 +02:00
mayaeh
9fb7c513e3
Fix NameError ( #11192 )
2019-06-27 09:16:55 +02:00
ThibG
dd97db20d0
[Glitch] Add option to disable blurhash previews
...
Port 4b3d91dc2c
to glitch-soc
2019-06-26 23:19:26 +02:00
PatOnTheBack
426758b619
[Glitch] Removed extra pipes from regex.
...
Port 9a216634a1
to glitch-soc
Signed-off-by: Thibaut Girka <thib@sitedethib.com>
2019-06-26 23:19:26 +02:00