singleton
singleton copied to clipboard
[BUG] [Ruby client] Online mode can't work with lower version of dependencies(faraday,faraday_middleware)
Describe the bug The translation API can't get online translation if use these lower versions of dependency: concurrent-ruby (1.2.0) faraday (0.17.6) faraday_middleware (0.14.0)
Because of this limitation, the client can't be integrated into a product which is using the lower versions of those dependencies.
To Reproduce Steps to reproduce the behavior:
- cd ruby-client/singleton/samples
- Use singleton-client-test (0.7.7.11) lib in Gemfile and change its dependencies version on Gemfile.lock as: concurrent-ruby (1.2.0) faraday (0.17.6) faraday_middleware (0.14.0)
- Change vip_server to a valid value on sgtnclient.yml to enable online mode
- run 'bundle exec ruby translation/all.rb'
- See error
linr-a01:samples linr$ bundle exec ruby translation/all.rb
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin21/rbconfig.rb:230: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin21/rbconfig.rb:230: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
validating config...
create log file: './unit_test.log', level: DEBUG
WARNING: No adapter was configured for this request
WARNING: No adapter was configured for this request
#<Thread:0x000000010ea99598@/Users/linr/.rvm/gems/ruby-3.0.0/gems/logging-2.3.1/lib/logging/diagnostic_context.rb:471 run> terminated with exception (report_on_exception is true):
/Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday_middleware-0.14.0/lib/faraday_middleware/gzip.rb:40:in
block in call': undefined methodempty?' for nil:NilClass (NoMethodError) from /Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday-0.17.6/lib/faraday/response.rb:61:inon_complete' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday_middleware-0.14.0/lib/faraday_middleware/gzip.rb:39:incall' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday-0.17.6/lib/faraday/response.rb:8:incall' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday-0.17.6/lib/faraday/response/logger.rb:26:incall' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday-0.17.6/lib/faraday/response.rb:8:incall' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday_middleware-0.14.0/lib/faraday_middleware/response_middleware.rb:31:incall' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday-0.17.6/lib/faraday/rack_builder.rb:143:inbuild_response' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday-0.17.6/lib/faraday/connection.rb:387:inrun_request' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/faraday-0.17.6/lib/faraday/connection.rb:138:inget' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/singleton-client-test-0.7.7.11/lib/sgtn-client/loader/server.rb:66:inquery_server' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/singleton-client-test-0.7.7.11/lib/sgtn-client/loader/server.rb:62:inavailable_components' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/singleton-client-test-0.7.7.11/lib/sgtn-client/loader/server.rb:47:inblock in available_bundles' from /Users/linr/.rvm/gems/ruby-3.0.0/gems/logging-2.3.1/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
Expected behavior The string-based API should be able to get translation from Singleton service.