Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bd481204b5 
							
						 
					 
					
						
						
							
							Fix missing timeout options in Request class ( #33769 )  
						
						
						
						
					 
					
						2025-01-29 08:42:20 +00:00 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5b291fcbe4 
							
						 
					 
					
						
						
							
							Fix incorrect signature after HTTP redirect ( #33757 )  
						
						
						
						
					 
					
						2025-01-28 14:44:27 +00:00 
						 
				 
			
				
					
						
							
							
								Christian Schmidt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8e2c642d44 
							
						 
					 
					
						
						
							
							Do now swallow response body on persistent connection ( #32729 )  
						
						
						
						
					 
					
						2025-01-09 08:35:35 +00:00 
						 
				 
			
				
					
						
							
							
								Matt Jankowski 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							342055cb15 
							
						 
					 
					
						
						
							
							Update rubocop to version 1.69.1 ( #32967 )  
						
						
						
						
					 
					
						2024-12-09 14:52:49 +00:00 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f5f6273d2b 
							
						 
					 
					
						
						
							
							Move ALLOWED_PRIVATE_ADDRESSES parsing to an initializer ( #32850 )  
						
						
						
						
					 
					
						2024-11-12 13:00:52 +00:00 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8afa3bb2fa 
							
						 
					 
					
						
						
							
							Change Mastodon to issue correctly-signed queries by default ( #31994 )  
						
						
						
						
					 
					
						2024-09-20 10:10:09 +00:00 
						 
				 
			
				
					
						
							
							
								Christian Schmidt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							9d0cafd06b 
							
						 
					 
					
						
						
							
							Check Content-Length in ResponseWithLimitAdapter ( #31285 )  
						
						
						
						
					 
					
						2024-08-06 08:23:48 +00:00 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							092bb8a27a 
							
						 
					 
					
						
						
							
							Fix Mastodon not correctly processing HTTP Signatures with query strings ( #28476 )  
						
						
						
						
					 
					
						2024-01-03 11:29:26 +00:00 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 8891d8945d837f0da16a3a5aa2dc9783e39b0acd.
* Revert "Do not normalize URL before fetching it (#26219 )"
This reverts commit fd284311e79854d6bc2901a9d9363ba9e7e00513. 
						
						
					 
					
						2023-09-19 16:52:52 +02:00 
						 
				 
			
				
					
						
							
							
								Renaud Chaput 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Val Lorentz 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f55f0ab0c3 
							
						 
					 
					
						
						
							
							Allow spaces around commas in ALLOWED_PRIVATE_ADDRESSES ( #26297 )  
						
						
						
						
					 
					
						2023-08-03 10:05:35 +02:00 
						 
				 
			
				
					
						
							
							
								Christian Schmidt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8891d8945d 
							
						 
					 
					
						
						
							
							Fix request URL normalisation for bare domain and 8-bit characters ( #26285 )  
						
						
						
						
					 
					
						2023-08-02 19:32:29 +02:00 
						 
				 
			
				
					
						
							
							
								Christian Schmidt 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							fd284311e7 
							
						 
					 
					
						
						
							
							Do not normalize URL before fetching it ( #26219 )  
						
						
						
						
					 
					
						2023-07-31 23:17:37 +02:00 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							0078e7e760 
							
						 
					 
					
						
						
							
							Fix incorrect connect timeout in outgoing requests ( #26116 )  
						
						
						
						
					 
					
						2023-07-22 20:42:31 +02:00 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ff41e5426a 
							
						 
					 
					
						
						
							
							Change request timeout handling to use a longer deadline ( #26055 )  
						
						
						
						
					 
					
						2023-07-18 20:51:20 +02:00 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							630436ab2d 
							
						 
					 
					
						
						
							
							Refactor monkey-patching of PrivateAddressCheck ( #24122 )  
						
						
						
						
					 
					
						2023-03-16 04:33:38 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Schonning 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							717683d1c3 
							
						 
					 
					
						
						
							
							Autofix Rubocop remaining Layout rules ( #23679 )  
						
						
						
						
					 
					
						2023-02-20 06:58:28 +01:00 
						 
				 
			
				
					
						
							
							
								Nick Schonning 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2177daeae9 
							
						 
					 
					
						
						
							
							Autofix Rubocop Style/RedundantBegin ( #23703 )  
						
						
						
						
					 
					
						2023-02-19 07:09:40 +09:00 
						 
				 
			
				
					
						
							
							
								Markus Unterwaditzer 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							673c54f114 
							
						 
					 
					
						
						
							
							Fix inability to use local LibreTranslate without setting ALLOWED_PRIVATE_ADDRESSES ( #21926 )  
						
						... 
						
						
						
						Fixes  #20029  
					
						2022-12-15 17:04:38 +01:00 
						 
				 
			
				
					
						
							
							
								Bearice Ren 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c989faaa62 
							
						 
					 
					
						
						
							
							Change Request connection logic to try both IPv6 and IPv4 when available ( #20108 )  
						
						... 
						
						
						
						Fixes  #19751  
					
						2022-11-08 16:36:26 +01:00 
						 
				 
			
				
					
						
							
							
								James Tucker 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Claire 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Jeong Arm 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								luigi 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								ThibG 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d60290044e 
							
						 
					 
					
						
						
							
							Add environment variable to allow requests to some private addresses ( #14722 )  
						
						
						
						
					 
					
						2020-09-26 20:57:39 +02:00 
						 
				 
			
				
					
						
							
							
								dependabot[bot] 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								abcang 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							6a96af4d20 
							
						 
					 
					
						
						
							
							Fix rubocop warning ( #14288 )  
						
						... 
						
						
						
						* Fix rubocop warning
* use limit variable
* use ContextCreatingMethods option 
						
						
					 
					
						2020-07-14 19:05:07 +02:00 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e9ecbca70d 
							
						 
					 
					
						
						
							
							Fix error within error when limiting backtrace to 3 lines ( #13120 )  
						
						... 
						
						
						
						Fix  #13086 , close  #13113  
					
						2020-05-10 10:30:27 +02:00 
						 
				 
			
				
					
						
							
							
								ThibG 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Daigo 3 Dango 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								ThibG 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							4e8dcc5dbb 
							
						 
					 
					
						
						
							
							Add HTTP signatures to all outgoing ActivityPub GET requests ( #11284 )  
						
						
						
						
					 
					
						2019-07-11 14:49:55 +02:00 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							5d3feed191 
							
						 
					 
					
						
						
							
							Refactor fetching of remote resources ( #11251 )  
						
						
						
						
					 
					
						2019-07-10 18:59:28 +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 
						 
				 
			
				
					
						
							
							
								ThibG 
							
						 
					 
					
						
						
						
						
							
						
						
							ed544f3166 
							
						 
					 
					
						
						
							
							Fix HTTP requests to IPv6 hosts ( #11240 )  
						
						
						
						
					 
					
						2019-07-05 22:03:00 +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 
						 
				 
			
				
					
						
							
							
								ThibG 
							
						 
					 
					
						
						
						
						
							
						
						
							79b00d294d 
							
						 
					 
					
						
						
							
							Increase DNS timeouts ( #10238 )  
						
						
						
						
					 
					
						2019-03-11 13:27:57 +01:00 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							aa9a20cde0 
							
						 
					 
					
						
						
							
							Fix ThreadResolveWorker getting queued with invalid URLs ( #9628 )  
						
						
						
						
					 
					
						2018-12-26 19:15:53 +01:00 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							c39d7e7b2b 
							
						 
					 
					
						
						
							
							Fix TLS handshake timeout not being enforced ( #9381 )  
						
						... 
						
						
						
						Follow-up to #9329  
						
						
					 
					
						2018-11-27 19:46:05 +01:00 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							43c311b3a1 
							
						 
					 
					
						
						
							
							Fix nil error when no DNS addresses are found for host ( #9379 )  
						
						
						
						
					 
					
						2018-11-27 18:13:36 +01:00 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							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 
						 
				 
			
				
					
						
							
							
								Eugen Rochko 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							e3764bdb52 
							
						 
					 
					
						
						
							
							Do not sign useless User-Agent or Accept-Encoding headers ( #8533 )  
						
						... 
						
						
						
						Fix  #8080  
					
						2018-08-31 04:22:52 +02:00