bd481204b5 
								
							 
						 
						
							
							
								
								Fix missing timeout options in `Request` class ( #33769 )  
							
							
							
						 
						
							2025-01-29 08:42:20 +00:00  
				
					
						
							
							
								 
						
							
								5b291fcbe4 
								
							 
						 
						
							
							
								
								Fix incorrect signature after HTTP redirect ( #33757 )  
							
							
							
						 
						
							2025-01-28 14:44:27 +00:00  
				
					
						
							
							
								 
						
							
								8e2c642d44 
								
							 
						 
						
							
							
								
								Do now swallow response body on persistent connection ( #32729 )  
							
							
							
						 
						
							2025-01-09 08:35:35 +00:00  
				
					
						
							
							
								 
						
							
								342055cb15 
								
							 
						 
						
							
							
								
								Update `rubocop` to version 1.69.1 ( #32967 )  
							
							
							
						 
						
							2024-12-09 14:52:49 +00:00  
				
					
						
							
							
								 
						
							
								f5f6273d2b 
								
							 
						 
						
							
							
								
								Move `ALLOWED_PRIVATE_ADDRESSES` parsing to an initializer ( #32850 )  
							
							
							
						 
						
							2024-11-12 13:00:52 +00:00  
				
					
						
							
							
								 
						
							
								8afa3bb2fa 
								
							 
						 
						
							
							
								
								Change Mastodon to issue correctly-signed queries by default ( #31994 )  
							
							
							
						 
						
							2024-09-20 10:10:09 +00:00  
				
					
						
							
							
								 
						
							
								9d0cafd06b 
								
							 
						 
						
							
							
								
								Check Content-Length in ResponseWithLimitAdapter ( #31285 )  
							
							
							
						 
						
							2024-08-06 08:23:48 +00:00  
				
					
						
							
							
								 
						
							
								092bb8a27a 
								
							 
						 
						
							
							
								
								Fix Mastodon not correctly processing HTTP Signatures with query strings ( #28476 )  
							
							
							
						 
						
							2024-01-03 11:29:26 +00:00  
				
					
						
							
							
								 
						
							
								94893cf24f 
								
							 
						 
						
							
							
								
								Merge pull request from GHSA-hcqf-fw2r-52g4  
							
							... 
							
							
							
							* Revert "Fix request URL normalisation for bare domain and 8-bit characters (#26285 )"
This reverts commit 8891d8945d#26219 )"
This reverts commit fd284311e7 
							
						 
						
							2023-09-19 16:52:52 +02:00  
				
					
						
							
							
								 
						
							
								b95867ad1f 
								
							 
						 
						
							
							
								
								Allow setting a custom HTTP method in CacheBuster ( #26528 )  
							
							... 
							
							
							
							Co-authored-by: Jorijn Schrijvershof <jorijn@jorijn.com> 
							
						 
						
							2023-08-18 08:18:40 +02:00  
				
					
						
							
							
								 
						
							
								f55f0ab0c3 
								
							 
						 
						
							
							
								
								Allow spaces around commas in ALLOWED_PRIVATE_ADDRESSES ( #26297 )  
							
							
							
						 
						
							2023-08-03 10:05:35 +02:00  
				
					
						
							
							
								 
						
							
								8891d8945d 
								
							 
						 
						
							
							
								
								Fix request URL normalisation for bare domain and 8-bit characters ( #26285 )  
							
							
							
						 
						
							2023-08-02 19:32:29 +02:00  
				
					
						
							
							
								 
						
							
								fd284311e7 
								
							 
						 
						
							
							
								
								Do not normalize URL before fetching it ( #26219 )  
							
							
							
						 
						
							2023-07-31 23:17:37 +02:00  
				
					
						
							
							
								 
						
							
								0078e7e760 
								
							 
						 
						
							
							
								
								Fix incorrect connect timeout in outgoing requests ( #26116 )  
							
							
							
						 
						
							2023-07-22 20:42:31 +02:00  
				
					
						
							
							
								 
						
							
								ff41e5426a 
								
							 
						 
						
							
							
								
								Change request timeout handling to use a longer deadline ( #26055 )  
							
							
							
						 
						
							2023-07-18 20:51:20 +02:00  
				
					
						
							
							
								 
						
							
								c5929798bf 
								
							 
						 
						
							
							
								
								Merge pull request from GHSA-9pxv-6qvf-pjwc  
							
							... 
							
							
							
							* Fix timeout handling of outbound HTTP requests
* Use CLOCK_MONOTONIC instead of Time.now 
							
						 
						
							2023-07-06 15:06:23 +02:00  
				
					
						
							
							
								 
						
							
								630436ab2d 
								
							 
						 
						
							
							
								
								Refactor monkey-patching of `PrivateAddressCheck` ( #24122 )  
							
							
							
						 
						
							2023-03-16 04:33:38 +01:00  
				
					
						
							
							
								 
						
							
								717683d1c3 
								
							 
						 
						
							
							
								
								Autofix Rubocop remaining Layout rules ( #23679 )  
							
							
							
						 
						
							2023-02-20 06:58:28 +01:00  
				
					
						
							
							
								 
						
							
								2177daeae9 
								
							 
						 
						
							
							
								
								Autofix Rubocop Style/RedundantBegin ( #23703 )  
							
							
							
						 
						
							2023-02-19 07:09:40 +09:00  
				
					
						
							
							
								 
						
							
								0c689b9d01 
								
							 
						 
						
							
							
								
								fix: allow verification when page size exceeds 1MB (using HTML5 parser) ( #22879 )  
							
							... 
							
							
							
							* fix: allow verification when page size exceeds 1MB
Truncates the page after 1MB instead
Closes  #15316 
* switch to HTML5 parser, fix rubocop errors
* undo rubocop fixes
Co-authored-by: Chris Zubak-Skees <chriszs@gmail.com> 
							
						 
						
							2023-01-11 21:59:13 +01:00  
				
					
						
							
							
								 
						
							
								673c54f114 
								
							 
						 
						
							
							
								
								Fix inability to use local LibreTranslate without setting ALLOWED_PRIVATE_ADDRESSES ( #21926 )  
							
							... 
							
							
							
							Fixes  #20029  
						
							2022-12-15 17:04:38 +01:00  
				
					
						
							
							
								 
						
							
								28cda42af5 
								
							 
						 
						
							
							
								
								fixes ArgumentError when proxy is used ( #20420 )  
							
							... 
							
							
							
							* fixes ArgumentError when proxy is used
* Update app/lib/request.rb
Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
Co-authored-by: Claire <claire.github-309c@sitedethib.com> 
							
						 
						
							2022-11-11 21:31:03 +01:00  
				
					
						
							
							
								 
						
							
								c989faaa62 
								
							 
						 
						
							
							
								
								Change Request connection logic to try both IPv6 and IPv4 when available ( #20108 )  
							
							... 
							
							
							
							Fixes  #19751  
						
							2022-11-08 16:36:26 +01:00  
				
					
						
							
							
								 
						
							
								833d9c2f1c 
								
							 
						 
						
							
							
								
								Improve performance by avoiding method cache busts ( #19957 )  
							
							... 
							
							
							
							Switch to monkey-patching http.rb rather than a runtime extend of each
response, so as to avoid busting the global method cache. A guard is
included that will provide developer feedback in development and test
environments should the monkey patch ever collide. 
							
						 
						
							2022-11-08 04:00:27 +01:00  
				
					
						
							
							
								 
						
							
								8cf7006d4e 
								
							 
						 
						
							
							
								
								Refactor ActivityPub handling to prepare for non-Account actors ( #19212 )  
							
							... 
							
							
							
							* Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService
ActivityPub::FetchRemoteAccountService is kept as a wrapper for when the actor is
specifically required to be an Account
* Refactor SignatureVerification to allow non-Account actors
* fixup! Move ActivityPub::FetchRemoteAccountService to ActivityPub::FetchRemoteActorService
* Refactor ActivityPub::FetchRemoteKeyService to potentially return non-Account actors
* Refactor inbound ActivityPub payload processing to accept non-Account actors
* Refactor inbound ActivityPub processing to accept activities relayed through non-Account
* Refactor how Account key URIs are built
* Refactor Request and drop unused key_id_format parameter
* Rename ActivityPub::Dereferencer `signature_account` to `signature_actor` 
							
						 
						
							2022-09-21 22:45:57 +02:00  
				
					
						
							
							
								 
						
							
								1145dbd327 
								
							 
						 
						
							
							
								
								Improve error reporting and logging when processing remote accounts ( #15605 )  
							
							... 
							
							
							
							* Add a more descriptive PrivateNetworkAddressError exception class
* Remove unnecessary exception class to rescue clause
* Remove unnecessary include to JsonLdHelper
* Give more neutral error message when too many webfinger redirects
* Remove unnecessary guard condition
* Rework how “ActivityPub::FetchRemoteAccountService” handles errors
Add “suppress_errors” keyword argument to avoid raising errors in
ActivityPub::FetchRemoteAccountService#call (default/previous behavior).
* Rework how “ActivityPub::FetchRemoteKeyService” handles errors
Add “suppress_errors” keyword argument to avoid raising errors in
ActivityPub::FetchRemoteKeyService#call (default/previous behavior).
* Fix Webfinger::RedirectError not being a subclass of Webfinger::Error
* Add suppress_errors option to ResolveAccountService
Defaults to true (to preserve previous behavior). If set to false,
errors will be raised instead of caught, allowing the caller to be
informed of what went wrong.
* Return more precise error when failing to fetch account signing AP payloads
* Add tests
* Fixes
* Refactor error handling a bit
* Fix various issues
* Add specific error when provided Digest is not 256 bits of base64-encoded data
* Please CodeClimate
* Improve webfinger error reporting 
							
						 
						
							2022-09-20 23:30:26 +02:00  
				
					
						
							
							
								 
						
							
								861b35dd54 
								
							 
						 
						
							
							
								
								Support "http_hidden_proxy" ENV var for hidden service only proxy ( #18427 )  
							
							... 
							
							
							
							* Support "http_hidden_proxy" ENV var for hidden service only proxy
* Fallback to http_proxy if http_hidden_proxy is not set 
							
						 
						
							2022-08-25 04:41:14 +02:00  
				
					
						
							
							
								 
						
							
								39cdf61ab7 
								
							 
						 
						
							
							
								
								Add support for structured data and more OpenGraph tags to link cards ( #16938 )  
							
							... 
							
							
							
							Save preview cards under their canonical URL
Increase max redirects to follow from 2 to 3 
							
						 
						
							2021-11-05 23:23:05 +01:00  
				
					
						
							
							
								 
						
							
								eb51e43fb4 
								
							 
						 
						
							
							
								
								Optimize some regex matching ( #15528 )  
							
							... 
							
							
							
							* Use Regex#match?
* Replace =~ too
* Avoid to call match? from Nil
* Keep value of Regexp.last_match 
							
						 
						
							2021-01-22 10:09:08 +01:00  
				
					
						
							
							
								 
						
							
								d60290044e 
								
							 
						 
						
							
							
								
								Add environment variable to allow requests to some private addresses ( #14722 )  
							
							
							
						 
						
							2020-09-26 20:57:39 +02:00  
				
					
						
							
							
								 
						
							
								8972e5f7f6 
								
							 
						 
						
							
							
								
								Bump rubocop from 0.86.0 to 0.88.0 ( #14412 )  
							
							... 
							
							
							
							* Bump rubocop from 0.86.0 to 0.88.0
Bumps [rubocop](https://github.com/rubocop-hq/rubocop ) from 0.86.0 to 0.88.0.
- [Release notes](https://github.com/rubocop-hq/rubocop/releases )
- [Changelog](https://github.com/rubocop-hq/rubocop/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rubocop-hq/rubocop/compare/v0.86.0...v0.88.0 )
Signed-off-by: dependabot[bot] <support@github.com>
* Fix for latest RuboCop
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh> 
							
						 
						
							2020-09-01 03:04:00 +02:00  
				
					
						
							
							
								 
						
							
								6a96af4d20 
								
							 
						 
						
							
							
								
								Fix rubocop warning ( #14288 )  
							
							... 
							
							
							
							* Fix rubocop warning
* use limit variable
* use ContextCreatingMethods option 
							
						 
						
							2020-07-14 19:05:07 +02:00  
				
					
						
							
							
								 
						
							
								e9ecbca70d 
								
							 
						 
						
							
							
								
								Fix error within error when limiting backtrace to 3 lines ( #13120 )  
							
							... 
							
							
							
							Fix  #13086 , close  #13113  
						
							2020-05-10 10:30:27 +02:00  
				
					
						
							
							
								 
						
							
								24cd2126c6 
								
							 
						 
						
							
							
								
								Fix Ruby 2.7 support ( #12831 )  
							
							... 
							
							
							
							- update http gem to avoid errors
- update blurhash gem to avoid shared object loading error
- update goldfinger gem so the http gem could be updated
- update json gem to avoid warnings 
							
						 
						
							2020-01-12 15:49:30 +01:00  
				
					
						
							
							
								 
						
							
								e9ea09d173 
								
							 
						 
						
							
							
								
								Suppress backtrace when delivering toots ( #12798 )  
							
							... 
							
							
							
							This is to suppress irrelevant backtrace from errors raised when
delivering toots to remote servers. The errors are usually out of
control by the local server and backtraces don't provide much
information.
This is similar to https://github.com/tootsuite/mastodon/pull/5174 
and shortens backtraces like below:
```
WARN: Mastodon::UnexpectedResponseError: https://example.com/inbox  returned code 523
WARN: app/workers/activitypub/delivery_worker.rb:48:in `block (3 levels) in perform_request'
app/lib/request.rb:75:in `perform'
app/workers/activitypub/delivery_worker.rb:47:in `block (2 levels) in perform_request'
app/lib/request_pool.rb:53:in `use'
app/lib/request_pool.rb:108:in `block (2 levels) in with'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/notifications.rb:170:in `instrument'
app/lib/request_pool.rb:107:in `block in with'
app/lib/connection_pool/shared_connection_pool.rb:21:in `block (2 levels) in with'
app/lib/connection_pool/shared_connection_pool.rb:20:in `handle_interrupt'
app/lib/connection_pool/shared_connection_pool.rb:20:in `block in with'
app/lib/connection_pool/shared_connection_pool.rb:16:in `handle_interrupt'
app/lib/connection_pool/shared_connection_pool.rb:16:in `with'
app/lib/request_pool.rb:106:in `with'
app/workers/activitypub/delivery_worker.rb:46:in `block in perform_request'
vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:51:in `run_code'
vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:42:in `run_yellow'
vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:24:in `run'
app/workers/activitypub/delivery_worker.rb:57:in `perform_request'
app/workers/activitypub/delivery_worker.rb:25:in `perform'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:192:in `execute_job'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:165:in `block (2 levels) in process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:31:in `block in call'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/statsd/publisher.rb:27:in `statsd_time'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:30:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
app/lib/sidekiq_error_handler.rb:5:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/scout_apm-2.3.0.pre3/lib/scout_apm/background_job_integrations/sidekiq.rb:69:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-unique-jobs-6.0.18/lib/sidekiq_unique_jobs/server/middleware.rb:29:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:133:in `invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:164:in `block in process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:137:in `block (6 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:109:in `local'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:136:in `block (5 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:43:in `block in call'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:73:in `block in wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:72:in `wrap'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:42:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:132:in `block (4 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:250:in `stats'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:127:in `block (3 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_logger.rb:8:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:126:in `block (2 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:74:in `global'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:125:in `block in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:48:in `with_context'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:42:in `with_job_hash_context'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:124:in `dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:163:in `process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:83:in `process_one'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:71:in `run'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:16:in `watchdog'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:25:in `block in safe_thread'
```
```
WARN: Stoplight::Error::RedLight: https://example.com/inbox 
WARN: vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:46:in `run_red'
vendor/bundle/ruby/2.7.0/gems/stoplight-2.2.0/lib/stoplight/light/runnable.rb:25:in `run'
app/workers/activitypub/delivery_worker.rb:57:in `perform_request'
app/workers/activitypub/delivery_worker.rb:25:in `perform'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:192:in `execute_job'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:165:in `block (2 levels) in process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:31:in `block in call'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/statsd/publisher.rb:27:in `statsd_time'
vendor/bundle/ruby/2.7.0/gems/nsa-0.2.7/lib/nsa/collectors/sidekiq.rb:30:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
app/lib/sidekiq_error_handler.rb:5:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/scout_apm-2.3.0.pre3/lib/scout_apm/background_job_integrations/sidekiq.rb:69:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-unique-jobs-6.0.18/lib/sidekiq_unique_jobs/server/middleware.rb:29:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/middleware/chain.rb:133:in `invoke'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:164:in `block in process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:137:in `block (6 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:109:in `local'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:136:in `block (5 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:43:in `block in call'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:73:in `block in wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/execution_wrapper.rb:87:in `wrap'
vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.4.1/lib/active_support/reloader.rb:72:in `wrap'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/rails.rb:42:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:132:in `block (4 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:250:in `stats'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:127:in `block (3 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_logger.rb:8:in `call'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:126:in `block (2 levels) in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/job_retry.rb:74:in `global'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:125:in `block in dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:48:in `with_context'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/logging.rb:42:in `with_job_hash_context'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:124:in `dispatch'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:163:in `process'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:83:in `process_one'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/processor.rb:71:in `run'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:16:in `watchdog'
vendor/bundle/ruby/2.7.0/gems/sidekiq-5.2.7/lib/sidekiq/util.rb:25:in `block in safe_thread'
``` 
							
						 
						
							2020-01-11 02:15:03 +01:00  
				
					
						
							
							
								 
						
							
								1653b58777 
								
							 
						 
						
							
							
								
								Attempt to concurrently connect to remote IP addresses ( #11757 )  
							
							... 
							
							
							
							* Attempt to concurrently connect to remote IP addresses
* Reduce code length to please CodeClimate 🤷  
							
						 
						
							2019-09-05 05:32:53 +02:00  
				
					
						
							
							
								 
						
							
								4e8dcc5dbb 
								
							 
						 
						
							
							
								
								Add HTTP signatures to all outgoing ActivityPub GET requests ( #11284 )  
							
							
							
						 
						
							2019-07-11 14:49:55 +02:00  
				
					
						
							
							
								 
						
							
								5d3feed191 
								
							 
						 
						
							
							
								
								Refactor fetching of remote resources ( #11251 )  
							
							
							
						 
						
							2019-07-10 18:59:28 +02:00  
				
					
						
							
							
								 
						
							
								406b46395d 
								
							 
						 
						
							
							
								
								Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ( #11231 )  
							
							
							
						 
						
							2019-07-07 03:37:01 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								ed544f3166 
								
							 
						 
						
							
							
								
								Fix HTTP requests to IPv6 hosts ( #11240 )  
							
							
							
						 
						
							2019-07-05 22:03:00 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								79b00d294d 
								
							 
						 
						
							
							
								
								Increase DNS timeouts ( #10238 )  
							
							
							
						 
						
							2019-03-11 13:27:57 +01:00  
				
					
						
							
							
								 
						
							
								aa9a20cde0 
								
							 
						 
						
							
							
								
								Fix ThreadResolveWorker getting queued with invalid URLs ( #9628 )  
							
							
							
						 
						
							2018-12-26 19:15:53 +01:00  
				
					
						
							
							
								 
						
							
								c39d7e7b2b 
								
							 
						 
						
							
							
								
								Fix TLS handshake timeout not being enforced ( #9381 )  
							
							... 
							
							
							
							Follow-up to #9329  
							
						 
						
							2018-11-27 19:46:05 +01:00  
				
					
						
							
							
								 
						
							
								43c311b3a1 
								
							 
						 
						
							
							
								
								Fix nil error when no DNS addresses are found for host ( #9379 )  
							
							
							
						 
						
							2018-11-27 18:13:36 +01:00  
				
					
						
							
							
								 
						
							
								fd8145d232 
								
							 
						 
						
							
							
								
								Fix connect timeout not being enforced ( #9329 )  
							
							... 
							
							
							
							* Fix connect timeout not being enforced
The loop was catching the timeout exception that should stop execution, so the next IP would no longer be within a timed block, which led to requests taking much longer than 10 seconds.
* Use timeout on each IP attempt, but limit to 2 attempts
* Fix code style issue
* Do not break Request#perform if no block given
* Update method stub in spec for Request
* Move timeout inside the begin/rescue block
* Use Resolv::DNS with timeout of 1 to get IP addresses
* Update Request spec to stub Resolv::DNS instead of Addrinfo
* Fix Resolve::DNS stubs in Request spec 
							
						 
						
							2018-11-22 20:12:04 +01:00  
				
					
						
							
							
								 
						
							
								384e953b75 
								
							 
						 
						
							
							
								
								Revert connect timeout from 1s to 10s ( #9319 )  
							
							... 
							
							
							
							The failure rate in Sidekiq is too high 
							
						 
						
							2018-11-21 17:00:56 +01:00  
				
					
						
							
							
								 
						
							
								4615512285 
								
							 
						 
						
							
							
								
								Reduce connect timeout limit and limit signature failures by source IP ( #9236 )  
							
							... 
							
							
							
							* Reduce connect timeout from 10s to 1s
* Limit failing signature verifications per source IP 
							
						 
						
							2018-11-08 21:35:58 +01:00  
				
					
						
							
							
								 
						
							
								e3764bdb52 
								
							 
						 
						
							
							
								
								Do not sign useless User-Agent or Accept-Encoding headers ( #8533 )  
							
							... 
							
							
							
							Fix  #8080  
						
							2018-08-31 04:22:52 +02:00