Can't make it work with ruby 2.6

Hey! Thanks for great gem!
I'm trying to setup JazzFingers so that I have live syntax highlighting.
So far I haven't managed to successfully add the gem to Gemfile and open rails console afterwards.
Here are the errors I'm getting:

Project 1

irb: warn: can't alias context from irb_context.

Project 2

Error: private method readline' called for #<Hash:0x00007fd6f2c1baf8> /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:200:in block in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:113:in interruptible_region' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:199:in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:192:in block in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:130:in handle_read_errors'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:171:in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:98:in read'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:68:in block in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in loop'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in block in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:59:in __with_ownership' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:77:in with_ownership'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:13:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/pry_class.rb:200:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-byebug-3.7.0/lib/pry-byebug/pry_ext.rb:13:in start_with_pry_byebug'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:64:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:19:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:96:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/command.rb:27:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor.rb:387:in dispatch'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command/base.rb:65:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command.rb:46:in invoke'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands.rb:18:in <top (required)>' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in block in require' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require' /Users/viktor/Developer/shopify_apps/iq-slider/bin/rails:11:in <top (required)>'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in block in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/commands/rails.rb:6:in call' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/command_wrapper.rb:38:in call'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:215:in block in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in fork'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:145:in block in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in loop' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application/boot.rb:19:in <top (required)>' /Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require'
/Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' -e:1:in '
Error: private method readline' called for #<Hash:0x00007fd6f2c1baf8> /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:200:in block in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:113:in interruptible_region' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:199:in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:192:in block in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:130:in handle_read_errors'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:171:in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:98:in read'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:68:in block in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in loop'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in block in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:59:in __with_ownership' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:77:in with_ownership'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:13:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/pry_class.rb:200:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-byebug-3.7.0/lib/pry-byebug/pry_ext.rb:13:in start_with_pry_byebug'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:64:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:19:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:96:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/command.rb:27:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor.rb:387:in dispatch'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command/base.rb:65:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command.rb:46:in invoke'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands.rb:18:in <top (required)>' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in block in require' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require' /Users/viktor/Developer/shopify_apps/iq-slider/bin/rails:11:in <top (required)>'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in block in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/commands/rails.rb:6:in call' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/command_wrapper.rb:38:in call'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:215:in block in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in fork'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:145:in block in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in loop' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application/boot.rb:19:in <top (required)>' /Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require'
/Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' -e:1:in '
Error: private method readline' called for #<Hash:0x00007fd6f2c1baf8> /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:200:in block in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:113:in interruptible_region' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:199:in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:192:in block in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:130:in handle_read_errors'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:171:in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:98:in read'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:68:in block in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in loop'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in block in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:59:in __with_ownership' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:77:in with_ownership'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:13:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/pry_class.rb:200:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-byebug-3.7.0/lib/pry-byebug/pry_ext.rb:13:in start_with_pry_byebug'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:64:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:19:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:96:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/command.rb:27:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor.rb:387:in dispatch'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command/base.rb:65:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command.rb:46:in invoke'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands.rb:18:in <top (required)>' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in block in require' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require' /Users/viktor/Developer/shopify_apps/iq-slider/bin/rails:11:in <top (required)>'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in block in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/commands/rails.rb:6:in call' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/command_wrapper.rb:38:in call'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:215:in block in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in fork'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:145:in block in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in loop' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application/boot.rb:19:in <top (required)>' /Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require'
/Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' -e:1:in '
Error: private method readline' called for #<Hash:0x00007fd6f2c1baf8> /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:200:in block in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:113:in interruptible_region' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:199:in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:192:in block in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:130:in handle_read_errors'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:171:in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:98:in read'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:68:in block in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in loop'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in block in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:59:in __with_ownership' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:77:in with_ownership'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:13:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/pry_class.rb:200:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-byebug-3.7.0/lib/pry-byebug/pry_ext.rb:13:in start_with_pry_byebug'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:64:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:19:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:96:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/command.rb:27:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor.rb:387:in dispatch'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command/base.rb:65:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command.rb:46:in invoke'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands.rb:18:in <top (required)>' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in block in require' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require' /Users/viktor/Developer/shopify_apps/iq-slider/bin/rails:11:in <top (required)>'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in block in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/commands/rails.rb:6:in call' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/command_wrapper.rb:38:in call'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:215:in block in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in fork'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:145:in block in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in loop' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application/boot.rb:19:in <top (required)>' /Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require'
/Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' -e:1:in '
Error: private method readline' called for #<Hash:0x00007fd6f2c1baf8> /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:200:in block in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:113:in interruptible_region' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:199:in input_readline'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:192:in block in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:130:in handle_read_errors'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:171:in read_line' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:98:in read'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:68:in block in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in loop'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:67:in repl' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in block in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:59:in __with_ownership' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/input_lock.rb:77:in with_ownership'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:38:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/repl.rb:13:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-0.12.2/lib/pry/pry_class.rb:200:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/pry-byebug-3.7.0/lib/pry-byebug/pry_ext.rb:13:in start_with_pry_byebug'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:64:in start' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:19:in start'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands/console/console_command.rb:96:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/command.rb:27:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/thor-0.20.3/lib/thor.rb:387:in dispatch'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command/base.rb:65:in perform' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/command.rb:46:in invoke'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/railties-5.2.3/lib/rails/commands.rb:18:in <top (required)>' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in block in require' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in require' /Users/viktor/Developer/shopify_apps/iq-slider/bin/rails:11:in <top (required)>'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in block in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in load_dependency' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in load'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/commands/rails.rb:6:in call' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/command_wrapper.rb:38:in call'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:215:in block in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in fork'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:175:in serve' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:145:in block in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in loop' /Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application.rb:139:in run'
/Users/viktor/.rvm/gems/ruby-2.6.5/gems/spring-2.1.0/lib/spring/application/boot.rb:19:in <top (required)>' /Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require'
/Users/viktor/.rvm/rubies/ruby-2.6.5/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' -e:1:in '
FATAL: Pry failed to get user input using {:cool=>#<Coolline:0x00007fd6f5c2ae38 @input=#<IO:/dev/null>, @output=#<IO:/dev/ttys003>, @word_boundaries=[" ", "-", "_"], @word_boundaries_regexp=/\A(?-mix:\ |\-|_)\z/, @completion_word_boundaries=[" ", "-", "_"], @handlers=[#<struct Coolline::Handler char=/\A(?:\C-h|\x7F)\z/, block=#<Proc:0x00007fd6f1ebfc60(&:kill_backward_char)>>, #<struct Coolline::Handler char="\u0001", block=#<Proc:0x00007fd6f1ebfb70(&:beginning_of_line)>>, #<struct Coolline::Handler char="\u0005", block=#<Proc:0x00007fd6f1ebfa80(&:end_of_line)>>, #<struct Coolline::Handler char="\v", block=#<Proc:0x00007fd6f1ebf9b8(&:kill_line)>>, #<struct Coolline::Handler char="\u0015", block=#<Proc:0x00007fd6f1ebf940(&:kill_beginning_of_line)>>, #<struct Coolline::Handler char="\u0006", block=#<Proc:0x00007fd6f1ebf8c8(&:forward_char)>>, #<struct Coolline::Handler char="\u0002", block=#<Proc:0x00007fd6f1ebf850(&:backward_char)>>, #<struct Coolline::Handler char="\u0004", block=#<Proc:0x00007fd6f1ebf760(&:kill_current_char_or_leave)>>, #<struct Coolline::Handler char="\u0003", block=#<Proc:0x00007fd6f1ebf670@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/coolline-0.5.0/lib/coolline/coolline.rb:43>>, #<struct Coolline::Handler char="\u0017", block=#<Proc:0x00007fd6f1ebf5a8(&:kill_backward_word)>>, #<struct Coolline::Handler char="\u0014", block=#<Proc:0x00007fd6f1ebf4b8(&:transpose_chars)>>, #<struct Coolline::Handler char="\u000E", block=#<Proc:0x00007fd6f1ebf3c8(&:next_history_line)>>, #<struct Coolline::Handler char="\u0010", block=#<Proc:0x00007fd6f1ebf2d8(&:previous_history_line)>>, #<struct Coolline::Handler char="\u0012", block=#<Proc:0x00007fd6f1ebf210(&:interactive_search)>>, #<struct Coolline::Handler char="\f", block=#<Proc:0x00007fd6f1ebf120(&:clear_screen)>>, #<struct Coolline::Handler char="\t", block=#<Proc:0x00007fd6f1ebf058(&:complete)>>, #<struct Coolline::Handler char="\u0001".."\u001A", block=#<Proc:0x00007fd6f1ebef18@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/coolline-0.5.0/lib/coolline/coolline.rb:51>>, #<struct Coolline::Handler char=/\A\e(?:\C-h|\x7F)\z/, block=#<Proc:0x00007fd6f1ebf5a8(&:kill_backward_word)>>, #<struct Coolline::Handler char="\eb", block=#<Proc:0x00007fd6f1ebedd8(&:backward_word)>>, #<struct Coolline::Handler char="\ef", block=#<Proc:0x00007fd6f1ebece8(&:forward_word)>>, #<struct Coolline::Handler char="\e[A", block=#<Proc:0x00007fd6f1ebf2d8(&:previous_history_line)>>, #<struct Coolline::Handler char="\e[B", block=#<Proc:0x00007fd6f1ebf3c8(&:next_history_line)>>, #<struct Coolline::Handler char="\e[3~", block=#<Proc:0x00007fd6f1ebeab8(&:kill_current_char)>>, #<struct Coolline::Handler char="\e[5~", block=#<Proc:0x00007fd6f1ebf2d8(&:previous_history_line)>>, #<struct Coolline::Handler char="\e[6~", block=#<Proc:0x00007fd6f1ebf3c8(&:next_history_line)>>, #<struct Coolline::Handler char="\e[7~", block=#<Proc:0x00007fd6f1ebfb70(&:beginning_of_line)>>, #<struct Coolline::Handler char="\e[8~", block=#<Proc:0x00007fd6f1ebfa80(&:end_of_line)>>, #<struct Coolline::Handler char="\e[C", block=#<Proc:0x00007fd6f1ebf8c8(&:forward_char)>>, #<struct Coolline::Handler char="\e[D", block=#<Proc:0x00007fd6f1ebf850(&:backward_char)>>, #<struct Coolline::Handler char="\e[F", block=#<Proc:0x00007fd6f1ebfa80(&:end_of_line)>>, #<struct Coolline::Handler char="\e[H", block=#<Proc:0x00007fd6f1ebfb70(&:beginning_of_line)>>, #<struct Coolline::Handler char="\eOH", block=#<Proc:0x00007fd6f1ebfb70(&:beginning_of_line)>>, #<struct Coolline::Handler char="\eOF", block=#<Proc:0x00007fd6f1ebfa80(&:end_of_line)>>, #<struct Coolline::Handler char="\ed", block=#<Proc:0x00007fd6f1ebdde8(&:kill_forward_word)>>, #<struct Coolline::Handler char="\et", block=#<Proc:0x00007fd6f1ebdc08(&:transpose_words)>>, #<struct Coolline::Handler char="\ec", block=#<Proc:0x00007fd6f1ebdac8(&:capitalize_word)>>, #<struct Coolline::Handler char="\eu", block=#<Proc:0x00007fd6f1ebd988(&:uppercase_word)>>, #<struct Coolline::Handler char="\el", block=#<Proc:0x00007fd6f1ebd7a8(&:lowercase_word)>>, #<struct Coolline::Handler char="\e<", block=#<Proc:0x00007fd6f1ebd5c8(&:first_history_line)>>, #<struct Coolline::Handler char="\e>", block=#<Proc:0x00007fd6f1ebd3e8(&:last_history_line)>>, #<struct Coolline::Handler char=/\e.+/, block=#<Proc:0x00007fd6f1ebd2f8@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/coolline-0.5.0/lib/coolline/coolline.rb:77>>], @transform_proc=#<Proc:0x00007fd6f5c2a370@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/jazz_fingers-5.0.1/lib/jazz_fingers/input.rb:15>, @unknown_char_proc=#<Proc:0x00007fd6f1ebd258(&:insert_string)>, @completion_proc=#<Proc:0x00007fd6f5c2a320@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/jazz_fingers-5.0.1/lib/jazz_fingers/input.rb:19>, @history_file="/Users/viktor/.cache/coolline/history", @history_size=5000, @history=#<Coolline::History:0x00007fd6f5c2a2d0 @io=#<File:/Users/viktor/.cache/coolline/history>, @max_size=5000, @lines=["Event.approved.first", "Event.first", "Even", "Event.approved.first"], @index=4>, @menu=#<Coolline::Menu:0x00007fd6f5c29600 @input=#<IO:/dev/null>, @output=#<IO:/dev/ttys003>, @string="", @last_line_count=0>>}.
To fix this you may be able to pass input and output file descriptors to pry directly. e.g.
Pry.config.input = STDIN
Pry.config.output = STDOUT
binding.pry

Formatted

{
  :cool=>
  <Coolline:0x00007fd6f5da9ac0
    @input=<IO:/dev/null>,
    @output=<IO:/dev/ttys003>,
    @word_boundaries=[" ", "-", "_"],
    @word_boundaries_regexp=/\A(?-mix:\ |\-|_)\z/,
    @completion_word_boundaries=[" ", "-", "_"],
    @handlers=[
      <struct Coolline::Handler char=/\A(?:\C-h|\x7F)\z/, block=<Proc:0x00007fd6f5a5a770(&:kill_backward_char)>>,
      <struct Coolline::Handler char="\u0001", block=<Proc:0x00007fd6f5a5a5b8(&:beginning_of_line)>>,
      <struct Coolline::Handler char="\u0005", block=<Proc:0x00007fd6f5a5a478(&:end_of_line)>>,
      <struct Coolline::Handler char="\v", block=<Proc:0x00007fd6f5a5a3b0(&:kill_line)>>,
      <struct Coolline::Handler char="\u0015", block=<Proc:0x00007fd6f5a5a2c0(&:kill_beginning_of_line)>>,
      <struct Coolline::Handler char="\u0006", block=<Proc:0x00007fd6f5a5a1a8(&:forward_char)>>,
      <struct Coolline::Handler char="\u0002", block=<Proc:0x00007fd6f5a59f78(&:backward_char)>>,
      <struct Coolline::Handler char="\u0004", block=<Proc:0x00007fd6f5a59d20(&:kill_current_char_or_leave)>>,
      <struct Coolline::Handler char="\u0003", block=<Proc:0x00007fd6f5a59c30@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/coolline-0.5.0/lib/coolline/coolline.rb:43>>,
      <struct Coolline::Handler char="\u0017", block=<Proc:0x00007fd6f5a59960(&:kill_backward_word)>>,
      <struct Coolline::Handler char="\u0014", block=<Proc:0x00007fd6f5a595f0(&:transpose_chars)>>,
      <struct Coolline::Handler char="\u000E", block=<Proc:0x00007fd6f5a59528(&:next_history_line)>>,
      <struct Coolline::Handler char="\u0010", block=<Proc:0x00007fd6f5a59410(&:previous_history_line)>>,
      <struct Coolline::Handler char="\u0012", block=<Proc:0x00007fd6f5a59280(&:interactive_search)>>,
      <struct Coolline::Handler char="\f", block=<Proc:0x00007fd6f5a59118(&:clear_screen)>>,
      <struct Coolline::Handler char="\t", block=<Proc:0x00007fd6f5a59050(&:complete)>>,
      <struct Coolline::Handler char="\u0001".."\u001A", block=<Proc:0x00007fd6f5a58d30@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/coolline-0.5.0/lib/coolline/coolline.rb:51>>,
      <struct Coolline::Handler char=/\A\e(?:\C-h|\x7F)\z/, block=<Proc:0x00007fd6f5a59960(&:kill_backward_word)>>,
      <struct Coolline::Handler char="\eb", block=<Proc:0x00007fd6f5a58bf0(&:backward_word)>>,
      <struct Coolline::Handler char="\ef", block=<Proc:0x00007fd6f5a58b78(&:forward_word)>>,
      <struct Coolline::Handler char="\e[A", block=<Proc:0x00007fd6f5a59410(&:previous_history_line)>>,
      <struct Coolline::Handler char="\e[B", block=<Proc:0x00007fd6f5a59528(&:next_history_line)>>,
      <struct Coolline::Handler char="\e[3~", block=<Proc:0x00007fd6f5a58920(&:kill_current_char)>>,
      <struct Coolline::Handler char="\e[5~", block=<Proc:0x00007fd6f5a59410(&:previous_history_line)>>,
      <struct Coolline::Handler char="\e[6~", block=<Proc:0x00007fd6f5a59528(&:next_history_line)>>,
      <struct Coolline::Handler char="\e[7~", block=<Proc:0x00007fd6f5a5a5b8(&:beginning_of_line)>>,
      <struct Coolline::Handler char="\e[8~", block=<Proc:0x00007fd6f5a5a478(&:end_of_line)>>,
      <struct Coolline::Handler char="\e[C", block=<Proc:0x00007fd6f5a5a1a8(&:forward_char)>>,
      <struct Coolline::Handler char="\e[D", block=<Proc:0x00007fd6f5a59f78(&:backward_char)>>,
      <struct Coolline::Handler char="\e[F", block=<Proc:0x00007fd6f5a5a478(&:end_of_line)>>,
      <struct Coolline::Handler char="\e[H", block=<Proc:0x00007fd6f5a5a5b8(&:beginning_of_line)>>,
      <struct Coolline::Handler char="\eOH", block=<Proc:0x00007fd6f5a5a5b8(&:beginning_of_line)>>,
      <struct Coolline::Handler char="\eOF", block=<Proc:0x00007fd6f5a5a478(&:end_of_line)>>,
      <struct Coolline::Handler char="\ed", block=<Proc:0x00007fd6f5a4fbe0(&:kill_forward_word)>>,
      <struct Coolline::Handler char="\et", block=<Proc:0x00007fd6f5a4faf0(&:transpose_words)>>,
      <struct Coolline::Handler char="\ec", block=<Proc:0x00007fd6f5a4fa50(&:capitalize_word)>>,
      <struct Coolline::Handler char="\eu", block=<Proc:0x00007fd6f5a4f9b0(&:uppercase_word)>>,
      <struct Coolline::Handler char="\el", block=<Proc:0x00007fd6f5a4f910(&:lowercase_word)>>,
      <struct Coolline::Handler char="\e<", block=<Proc:0x00007fd6f5a4f870(&:first_history_line)>>,
      <struct Coolline::Handler char="\e>", block=<Proc:0x00007fd6f5a4f780(&:last_history_line)>>,
      <struct Coolline::Handler char=/\e.+/, block=<Proc:0x00007fd6f5a4f730@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/coolline-0.5.0/lib/coolline/coolline.rb:77>>
    ],
    @transform_proc=<Proc:0x00007fd6f5da92a0@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/jazz_fingers-5.0.1/lib/jazz_fingers/input.rb:15>,
    @unknown_char_proc=<Proc:0x00007fd6f5a4f6b8(&:insert_string)>,
    @completion_proc=<Proc:0x00007fd6f5da9250@/Users/viktor/.rvm/gems/ruby-2.6.5/gems/jazz_fingers-5.0.1/lib/jazz_fingers/input.rb:19>,
    @history_file="/Users/viktor/.cache/coolline/history",
    @history_size=5000,
    @history=
      <Coolline::History:0x00007fd6f5da9200
        @io=<File:/Users/viktor/.cache/coolline/history>,
        @max_size=5000,
        @lines=["Event.approved.first", "Event.first", "Even", "Event.approved.first"],
        @index=4>,
    @menu=<Coolline::Menu:0x00007fd6f5da8a80 @input=<IO:/dev/null>, @output=<IO:/dev/ttys003>, @string="", @last_line_count=0>
  >
}

Both of these projects run rails 5.2.3.
I also tried to add JazzHands to a new rails project. After installing jazz_hands gem, the rails console defaults to irb with no errors.

Try deactivating cooline. It does not work really well.
JazzFingers.configure do |config|
  config.coolline = false
end

@vfonic Add pry-rails to your Gemfile to make it the default console.
Since this project is intended to work with any ruby project it does not load pry-rails automatically.
For lack of activity i'm closing this. Feel free to reopen, comment back if nedded.


Splash can't render javascript - heavy page

I'm trying to scrape javascript-heavy page using Scrapy+Splash, but Splash cant render it and just shows few links and top menu. There are template tags in HTML code it returns, my guess is that not all javascript being executed.
Even in web-interface (i tried setting wait timer for up to 30 seconds).
I tried PhantomJS and selenium - they both work fine, but they are slow compared to Splash.
Here is an example page i'm trying to scrape:
http://profile.majorleaguegaming.com/crosswrecks/forums
Any idea about what can cause this? I checked docs, tried changing a few options, but with zero effect.
Thanks.

Have you tried using the Qt5 branch? The master branch uses Qt4 and a relatively older version of Webkit which sometimes results in inaccurate rendering.

Nope, i just discovered it exists. I guess it doesn't have a docker image yet, right? I appreciate any hints about how to install it on Ubuntu 14.04.
Thanks!

@andverb Take a look at https://github.com/sunu/splash/tree/py3. It has both a Dockerfile and manual installation instructions for 14.04 at https://github.com/sunu/splash/blob/py3/docs/install.rst. The PR is pending a review though. https://github.com/scrapinghub/splash/pull/251
If you try it, let me know if you run into any problem with the installation (either with docker or manual installation) so that I can fix it :)

I already have usual version https://github.com/scrapinghub/splash installed in both ways :)
$sudo docker pull sunu/splash dont work, and if i do $ sudo docker pull scrapinghub/splash, it will install usual version too, or am i wrong? So only option left is to clone your repo and install it manually, right?
Sorry, so many questions i'm a bit new to this.

okay so i cloned repo https://github.com/sunu/splash/tree/py3, and executed
$ sudo docker build -t "splash/py3" .
in dockerfiles/splash-jupyter/
It started building but i got this:
E: Unable to locate package libzmq3
i installed it with $ sudo apt-get install libzmq3-dev
And run build again, but received same error

To install Splash you have to build the Dockerfile in the root directory of the cloned repo first. The one you're building now is for the ipython interface.
Since this isn't merged right now, the base version doesn't exist and you have to manually mention it in the splash-jupyter dockerfile.
Hope that makes sense. I'm on mobile right now. Will try to explain better later if you continue to have problem.

Okay i managed to build and run it, but it only shows "Initializing..." even when i try to open google with it.  Harviewer is a submodule in https://github.com/sunu/splash/tree/master/splash/vendor. So you should either recursively clone the git repo or do git submodule update --init --recursive and then build the docker image.
Hope this helps.

@sunu okay i managed to build it and run, but it cant render the page i need, same result as base version, loads only part of webpage. Maybe its errors in page javascript?

@andverb there is not qt5-based docker image available: use
docker run -it -p 8050:8050 scrapinghub/splash:tmp-qt5
For me the following render script:
function main(splash)
  local url = splash.args.url
  assert(splash:go(url))
  assert(splash:wait(5))
  return {
    html = splash:html(),
    png = splash:png(),
    har = splash:har(),
  }
end

renders the following image when tmp-qt5 Splash is used:

@kmike thank you good sir, everything works like charm now

@andverb - great to hear that!

function main(splash)
  local url = splash.args.url
  assert(splash:go(url))
  assert(splash:wait(5))
  return {
    html = splash:html(),
    png = splash:png(),
    har = splash:har(),
  }

Hello, I am new to scrapy and splash. I'm wondering if this javascript code should be in the spider.py?


Feature Request - Cost Management, Quotas & Budgets

Describe the solution you'd like
One of the key pillars of our Well-Architected Framework is Cost Optimization. With our Enterprise Scale model, we have a great opportunity to support our customers in efficiently managing costs. I'm opening an issue to start a broader conversation on this topic.
Quotas & Budgets
We suggest customers to consider setting up budgets which is a great idea.
Subscription Level budgets
I always suggest customers to set up budget alerts for at least their core landing zone subscriptions to ensure we meet the initial estimations. From a security perspective, we have an extra alert in case resource misuse takes place (e.g. cryptojacking). It's also super important to keep track of sandbox subscriptions as these are often overlooked. To align with the best practices, it would be great if we could integrate budget alerts in the subscriptions managed by the various Enterprise Scale modules.  What are your thoughts on that?
In my personal environment, I'm using the Terraform Enterprise Scale module and I have a JSON file that lists my subscriptions including the budget:
{
	"platform": {
        ...
	},
	"landing_zones": {
		"corp": {
			"subscriptions": [
				{
					"name": "lz-corp-01",
					"id": "...",
					"budget": 130
				}
			]
		}
	},
	"decommissioned": {},
	"sandbox": {}
}

In my main.tf, I gather the subscription IDs:
subs_landing_zones_corp_id   = [for sub in local.subscriptions.landing_zones.corp.subscriptions : sub.id]
subs_landing_zones_corp_name = [for sub in local.subscriptions.landing_zones.corp.subscriptions : sub.name]

And on the landing zones I configure the budgets like so:
resource "azurerm_consumption_budget_subscription" "lz_budget" {
  for_each = { for subscription in local.subscriptions.landing_zones.corp.subscriptions : subscription.name => subscription }

  name            = "${local.generic.org.root_id}-budget-${each.key}-${each.value.budget}-eur"
  subscription_id = "/subscriptions/${each.value.id}"

  amount     = each.value.budget
  time_grain = "BillingMonth"

  time_period {
    start_date = "2022-06-01T00:00:00Z"
  }

  notification {
    enabled   = true
    threshold = 80.0
    operator  = "EqualTo"

    contact_emails = [
      local.generic.org.owner.email
    ]

    contact_roles = [
      "Owner"
    ]
  }

  notification {
    enabled        = true
    threshold      = 90.0
    operator       = "GreaterThan"
    threshold_type = "Forecasted"

    contact_emails = [
      local.generic.org.owner.email
    ]

    contact_roles = [
      "Owner"
    ]
  }
}

Resource Level quotas
For resources like a Log Analytics workspace, it's critical to keep an eye on the costs and set a budget cap. Especially when a single Log Analytics workspace is used by Sentinel as well. This is to prevent a spike in costs in case one or more applications suddenly start to send out huge amount of error logs. What is our general best practice around this?
With the Terraform ALZ module, it's a bit difficult to configure. I was expecting something like this to work:
# Configure the management resources settings.
locals {
  configure_management_resources = {
    location = "westeurope
    tags = {}
    settings = {
      log_analytics = {
        enabled = true
        config = {
          retention_in_days                           = 30
          daily_quota_gb                               = 10
....

While it needs to be set in an advanced block:
# Configure the management resources settings.
locals {
  configure_management_resources = {
   ....
    advanced = {
      custom_settings_by_resource_type = {
        azurerm_log_analytics_workspace = {
          management = {
              daily_quota_gb = 10
          }
        }
      }
    }

Any feedback is welcome - thank you!

Thanks again for the feedback @DevSecNinja.
For sub level quota we provide a policy in ALZ that can be assigned here: https://www.azadvertizer.net/azpolicyadvertizer/Deploy-Budget.html
We are also tracking this on our sub vending modules as feature requests that we plan to implement:

https://github.com/Azure/bicep-lz-vending/issues/4
https://github.com/Azure/terraform-azurerm-lz-vending/issues/64

As for resource level quotas, we don't want to set these on things like platform resources for LAWs as we dont want anything to be missed. What happens if a critical event happens, but the quota has been hit for the day, the customer is then potentially in the dark with no logs 😢
For things inside a subscription as per the subscription democratization principle of ALZ we really want to empower the application/workload teams to take responsibility, as per our guidance, for their costs etc. So they should be setting budgets and governing/managing their subscription to support thier workload as they know it best.
Otherwise, if things are set by platform teams upon them that are too specific within app/workload landing zones, you risk slowing down agility and potentially increase the risk of "shadow IT". This relates to the whole operating model conversation which ALZ leans towards Enterprise Operations
Hope this helps and let us know your thoughts if there is anything additional, we should/could do in ALZ to assist on top of what we already do have today and are planning to do as shared above
Thanks
Jack

Thanks again for the feedback @DevSecNinja.
For sub level quota we provide a policy in ALZ that can be assigned here: https://www.azadvertizer.net/azpolicyadvertizer/Deploy-Budget.html
We are also tracking this on our sub vending modules as feature requests that we plan to implement:

💡 Feature Request - Add budget support for Subscriptions scope bicep-lz-vending#4
Add budget support terraform-azurerm-lz-vending#64

As for resource level quotas, we don't want to set these on things like platform resources for LAWs as we dont want anything to be missed. What happens if a critical event happens, but the quota has been hit for the day, the customer is then potentially in the dark with no logs 😢
For things inside a subscription as per the subscription democratization principle of ALZ we really want to empower the application/workload teams to take responsibility, as per our guidance, for their costs etc. So they should be setting budgets and governing/managing their subscription to support thier workload as they know it best.
Otherwise, if things are set by platform teams upon them that are too specific within app/workload landing zones, you risk slowing down agility and potentially increase the risk of "shadow IT". This relates to the whole operating model conversation which ALZ leans towards Enterprise Operations
Hope this helps and let us know your thoughts if there is anything additional, we should/could do in ALZ to assist on top of what we already do have today and are planning to do as shared above
Thanks
Jack

That looks good Jack, glad it's on the backlog for the LZ vending. I wasn't aware of that policy and I think most of the Terraform CAF module users as it needs to be manually assigned. Would be great if there was a definition that uses forecasted budgets to make sure the owner gets the alert based on the trend. And it would be nice if there was a parameter for it in the configure_management_resources & configure_connectivity_resources settings so that we also set them on the identity/management/connectivity subscriptions. Maybe I'll dive into it and write the documentation for it in the Terraform repo.
Completely agree with your points and that setting a random quota by default isn't the right thing to do. But it's currently kind of difficult to configure and we don't document too much about it. (In the form of how to configure it and what our best practices are) What do you think of mentioning budgets & quota's more specifically in the documentation? E.g.

https://github.com/Azure/Enterprise-Scale/wiki/How-Enterprise-Scale-Works#what-happens-when-you-deploy-enterprise-scale
https://github.com/Azure/Enterprise-Scale/wiki/What-is-Enterprise-Scale#pricing
https://github.com/Azure/Enterprise-Scale/wiki/FAQ

We could include the recommendations in the other repositories as well.
Aligning this with #1000, if we separate the operational logs (LAW) from security logs (LAW + Sentinel), the quota becomes more interesting as well. Just to give you an example: after deploying an AKS cluster, my LAW usage went up big time and caused me to run out of my Visual Studio subscription credits for that month.
Thanks!

Agree that this Deploy-Budget policy isn't well publicised, didn't know it existed and had gone down the same route as DevSecNinja (though less elegantly...)
Can see the problem with setting a resource quota on the LAW(s), but it would be nice to be given a heads up (via an alert?) that it's gone way over the usual ingestion size and is going to result in a sizeable increase in billing.

We have also added and assigned this new policy by default in ALZ to help with finding unused resources to help with cost management - https://github.com/Azure/Enterprise-Scale/wiki/ALZ-Policies#:~:text=Deny-,Audit-UnusedResourcesCostOptimization,-Audit-UnusedResourcesCostOptimization
We also are about to release a new sandbox guidance page in CAF to help with this as well around finding other policies to use


Dice combination issue?

Hi
Thanks for this code.  Ran this and ended up with a duplicate "blocking" location from your dice.  "F2" & "F2".
This resulted in there only being 6 blocking squares on the board.  The game was SOLVED, leaving one BLANK square on the board!  Think there's a little tweaking required in either your dice combinations or the dice "throwing" routine.

Not being a programmer, I doubt I'd have any clue as to what the issue is, but just thought you might like to know.
Thanks again for a great program to compliment my addiction to THE GENIUS SQUARE.
Regards, Richard.

Hiya, thanks for getting in touch. It looks like I've transcribed the values for the dice incorrectly. (Over in https://github.com/James-P-D/GeniusSquare/blob/master/src/GeniusSquare/GeniusSquare/Constants.py it looks like F2, which is encoded as (1, 5), appears in both the first and second row, meaning that both the first and second dice can roll it.)
I don't have the game to hand right now, but I'll try and find what the correct dice combinations are and update when I get a chance.

Hi James,
Yes, I came to the same conclusion.  F2 is on dice #1 and #2.  I have the game and have checked the physical dice.
The F2 on dice #1 should be F3 - A1 C1 D1 D2 E2 F3 - so where you have coded [1,5] "F2" should be [2,5] "F3".
Regards, Richard

Many thanks, @RichardJThorp ! I've updated the program.
Kind regards, and hope you have a good xmas/new year

Thanks James.  Have a good Christmas/New Year also.  Richard.


add reference of online pandoc converter for latex users

for #3085 suggestion 2

No need, that's already merged as of #2750.


Write to a log file in a Particular format

I have written my own logger wrapper using Logrus and set the Formatter of logger to TextFormatter and Out to a file. How can I change the format of how logs are written to file. It was completely different in stdout.

If you want the same format when writing to a file as you have going to stdout, then in the formatter
myFormatter.isTerminal = true
You'll force it to assume that it's connected to a terminal.

@harshitdx29 there should not that much difference beside the colored output. Can you elaborate a little more, as what did you see in the file and what did you expect to see ?

no feedback on the problem, closing.


Host change confuses plumb moderation

The bot will kick you from the channel if you rejoin for a host change.
Ask me why I know.

So does nick change, easier to debug with that.


Slide Behaviour MIDI Output

What's the current behaviour for slides with MIDI output? It doesn't currently seem to have any effect.
Suggested Behaviour Options:

Overlap incoming note and previous step note. This would work with MIDI synthesisers with a "mono legato" mode or similar.
Transmit standard MIDI CC for Portamento (CC65), and possibly also CC5 (Portamento Time)

Each method has advantages and disadvantages.
Negatives for Method 1:

Gate-length of previous step would be ignored.
Previous triggered note may not be on previous step, so last note may have to be extended over several steps, which might be confusing.

Negatives for Method 2:

Envelopes on receiving MIDI device will be re-triggered with slid notes, so not possible to emulate classic "acid-style" note-slides.

Maybe there could be an option on the MIDI output page to choose one of the above slide behaviours.

I did think about slides over MIDI, but as you mentioned yourself, there is no straight-forward way to implement it. I think a third option would be to have overlapping notes when the gate length of a step is at full length. This would be an easy fix and at least allow for some slide behaviour, even if it does not depend in any way of the slide layer of the sequence.

That sounds like a good option. How about also toggling CC65 on sequence slide steps. That way, you can have portamento on staccato notes, and acid-style slides with overlapping notes.

Oh, you’ve fixed it!
Will you roll a release binary, or will I have to compile from source to test?

The fix is on a branch currently and will be merged soon. Will be part of the next release, but I might also fix a few other things for the next release. So if you can't wait feel free to build it yourself.

Good to know. I can wait :)
Looking forward to trying it out when it's released, though.

Works really well! Great work, Simon.


Use markdown for About page

Use thid package to write text in markdown and embed it in the About page: https://github.com/remarkjs/react-markdown

Now that I've tried it, I don't think it's worth it for now. Using text on the about page will suffice for now.


Add support for FULL OUTER JOIN

#2582

@cberner @erichwang Who should I ask for review?

Probably @erichwang at least for the push down optimizer

The push down optimizer is empty

@cberner @dain please review.

planner changes look good. passing to @dain to review the operator code

Addressed @dain's, @cberner's, and @electrum's comments above

Looks good


feat: add an optional prop to set a fixed display ratio to the PowerBI iframe

Branch has been manually merged


ARC 与 MRC 混合使用 - 肖德超的博客 | xiao Blog

https://xiaodechao.github.io/2020/11/03/ARC与MRC混合使用/
Every failure is leading towards success.

肖


fix(lnd): enable assumechanvalid on mainnet

Description:
Neutrino seems to struggle with channel validation, resulting in Zap users not being able to open channels. To resolve this, for the time being, we enable assumechanvalid on mainnet, so that users can test neutrino on mainnet.
Motivation and Context:
Make sure mainnet neutrino is functional
How Has This Been Tested?
Enable mainnet on a local wallet and open a channel
Types of changes:
Fix
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[x] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage decreased (-0.03%) to 21.32% when pulling d55d3fae50b4a43dc3d10564d55719df70037bd1 on fix/mainnet-assumechanvalid into 2c6be9d65d7372cb28fd51a83fbfa1f8cf91000b on next.


Invoke the rust compiler for the appropriate tool chain

Description
When a RUSTC_WRAPPER is set, Cargo passes in its first argument a path to the right rustc executable it wants the wrapper to delegate to. See Environment variables Cargo reads. "Instead of simply running rustc, Cargo will execute this specified wrapper, passing as its command-line arguments the rustc invocation, with the first argument being the path to the actual rustc."
For example, RUSTC_WRAPPER=/path/to/mirai cargo +nightly-2023-12-30 check would end up running /path/to/mirai $RUSTUP_HOME/toolchains/nightly-2023-12-30-x86_64-unknown-linux-gnu/bin/rustc --crate-name=whatever --edition=2021 src/lib.rs ...
$RUSTC is in general not set by Cargo when running a subcommand such as cargo-mirai.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] API change with a documentation update
[ ] Additional test coverage
[ ] Code cleanup or just keeping up with the latest Rustc nightly

How Has This Been Tested?
In MIRAI: cargo build --release
In another crate: PATH=$PATH:/path/to/mirai/target/release cargo +nightly-2023-12-30 mirai

Many thanks for this David. I'm on vacation right now but I'll try to merge it on Friday.
Get Outlook for iOShttps://aka.ms/o0ukef

From: David Tolnay @.>
Sent: Monday, October 14, 2024 6:38:39 PM
To: endorlabs/MIRAI @.>
Cc: Subscribed @.***>
Subject: [endorlabs/MIRAI] Invoke the rust compiler for the appropriate tool chain (PR #4)
Description
When a RUSTC_WRAPPER is set, Cargo passes in its first argument a path to the right rustc executable it wants the wrapper to delegate to. See Environment variables Cargo readshttps://doc.rust-lang.org/1.81.0/cargo/reference/environment-variables.html#environment-variables-cargo-reads. "Instead of simply running rustc, Cargo will execute this specified wrapper, passing as its command-line arguments the rustc invocation, with the first argument being the path to the actual rustc."
For example, RUSTC_WRAPPER=/path/to/mirai cargo +nightly-2023-12-30 check would end up running /path/to/mirai $RUSTUP_HOME/toolchains/nightly-2023-12-30-x86_64-unknown-linux-gnu/bin/rustc --crate-name=whatever --edition=2021 src/lib.rs ...
$RUSTC is in general not set by Cargo when running a subcommand such as cargo-mirai.
Type of change

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
API change with a documentation update
Additional test coverage
Code cleanup or just keeping up with the latest Rustc nightly

How Has This Been Tested?
In MIRAI: cargo build --release
In another crate: PATH=$PATH:/path/to/mirai/target/release cargo +nightly-2023-12-30 mirai

You can view, comment on, or merge this pull request online at:
https://github.com/endorlabs/MIRAI/pull/4
Commit Summary

7f9f044https://github.com/endorlabs/MIRAI/pull/4/commits/7f9f044d72f6b53a42cd101bc7f17c924ede6794 Invoke the rust compiler for the appropriate tool chain

File Changes
(1 filehttps://github.com/endorlabs/MIRAI/pull/4/files)

M checker/src/cargo_mirai.rshttps://github.com/endorlabs/MIRAI/pull/4/files#diff-3c8f3493963db62e8e33dbb3c112ef9dac2c74f1e20715b40b307ed115310348 (12)

Patch Links:

https://github.com/endorlabs/MIRAI/pull/4.patch
https://github.com/endorlabs/MIRAI/pull/4.diff

—
Reply to this email directly, view it on GitHubhttps://github.com/endorlabs/MIRAI/pull/4, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABA77AYKSSO5A5X6HPZB6VLZ3P6R7AVCNFSM6AAAAABP5O7BW2VHI2DSMVQWIX3LMV43ASLTON2WKOZSGU4DMNRWGEYDSNQ.
You are receiving this because you are subscribed to this thread.Message ID: @.***>
--
**Confidentiality Notice: This email and any attachments are confidential
and intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error, please notify the
sender immediately and delete it from your system. Unauthorized use,
disclosure, or copying of this email or its contents is strictly
prohibited.


Update the color syntax for the doc

Sorry for #20 . A bit late on watching the notifications. It's now fixed

@clawfire cheers! thanks


Allow custom <title> on profile pages

See: https://social.lol/web/@shew/109186739688020217

Page <title>s (and descriptions) can be overridden in the new Metadata section on the Advanced editor. Will roll it out to Classic soon!


PoC return error (panic: invalid configuration)

At first, thank you to provide this PoC code.
I run this in a container, but got the error info:
$ docker run -it --rm -v $HOME/.kube/config:/kubeconfig: quay.io/gravitational/cve-2018-1002105:latest
Unable to find image 'quay.io/gravitational/cve-2018-1002105:latest' locally
latest: Pulling from gravitational/cve-2018-1002105
5940862bcfcd: Pull complete
a496d03c4a24: Pull complete
5d5e0ccd5d0c: Pull complete
ba24b170ddf1: Pull complete
12124ec9ca75: Pull complete
Digest: sha256:861f37b5137a5d29bb923904c558e02c6eb0b18fb28e7f5eec45a7f20c86618d
Status: Downloaded newer image for quay.io/gravitational/cve-2018-1002105:latest
Please Note:
  This test currently relies on the behaviour of apiserver/kubelet to check for the issue.
  If you're connecting through a layer-7 load balancer, you may receive false positives in the test
Attempting to locate and load kubeconfig file
Loading: /kubeconfig
panic: invalid configuration: [unable to read client-cert /root/.minikube/client.crt for minikube due to open /root/.minikube/client.crt: no such file or directory, unable to read client-key /root/.minikube/client.key for minikube due to open /root/.minikube/client.key: no such file or directory, unable to read certificate-authority /root/.minikube/ca.crt for minikube due to open /root/.minikube/ca.crt: no such file or directory]

goroutine 1 [running]:
main.main()
        /go/src/github.com/gravitational/cve-2018-1002105/main.go:62 +0x4e0
$ cat /root/.kube/

The kubernetes version:
$ minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:17:28Z", GoVersion:"go1.10.2",Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-04-10T12:46:31Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"linux/amd64"}
$

The "/root/.minikube/client.key" file is exsit:
$ ll /root/.minikube/
addons/              ca.key               files/               proxy-client-ca.crt
apiserver.crt        certs/               last_update_check    proxy-client-ca.key
apiserver.key        client.crt           logs/                proxy-client.crt
cache/               client.key           machines/            proxy-client.key
ca.crt               config/              profiles/
$

So what's wrong with the env, and should I make some config beforce run the PoC container? Thanks!

I think it's just /root/.kube is not mapped to the docker container running the test.
docker run -it --rm -v $HOME/.kube/config:/kubeconfig: quay.io/gravitational/cve-2018-1002105:latest
The -v flag, mounts $HOME/.kube/config to /kubeconfig within the docker container. It looks like the kubeconfig file you're using, has external references to load the cert files, instead of embedding them directly in the configuration. So when it tries to follow those references, the file doesn't exist within the container.
I suspect all you need to do, is add a second volume map, so the container can see those files:
docker run -it --rm -v $HOME/.kube/config:/kubeconfig: -v /root/.minikube:/root/.minikube quay.io/gravitational/cve-2018-1002105:latest

@knisbet The PoC works correctly, thank you for your reply! 💯💯💯


Fix imavid regression

What changes are proposed in this pull request?
Fixes imavid regression caused by erroneously setting disabled state to true in play()
Before

After

This fixes the regression I caused! My mistake. But disableOverlays is meant to hide the tooltip and and prevent label selection which is consistent with the video looker.
We could allow label selection and tooltips for both video style lookers. But the tooltip would need to update during playback event when the mouse isn't moving.
https://github.com/voxel51/fiftyone/assets/19821840/23db82ca-76b7-4ca9-a016-d83f1e6dfaeb


handle v1 yaml/json format

Adding a special handling for old v1 yaml/json format.
Notice that this does not keep the order of properties of the old v1 format, hence the tests are disabled for this case, but I confirmed it works, it just does not warranty the properties order.
I made this PR just as a lifeguard in the meanwhile we do the migration from v1 to v2.

I see this would cause more problems during the data migration since it will silently convert v1 to v2. Closing it.
Thanks for the feedback @pwhelan 👍


Daniel/dp.experiment.fix

Task/Issue URL: https://app.asana.com/0/1207252092703676/1208450923559111/f
Tech Design URL:
CC:
Description:

Fix an issue with DP experiment that causes Control users to not see overlays

Steps to test this PR:

Go to Settings > All Debug Settings > Override DuckPlayer Experiment (Control)

Force-close / Restart the app

Go to SERP, and then confirm you can this page:

Go to SERP, search for a video and tap it

Confirm you see the old overlay

Internal references:
Software Engineering Expectations
Technical Design Template

Replaced by https://github.com/duckduckgo/iOS/pull/3421


Update mmx emitter to 0.3.6

0.3.5 updated better logging messages
0.3.6 updates validator dependency to help prevent stale validator jars from being pulled in

:+1:


Microsoft.Insights ScheduledQueryRuleProperties/actions has invalid type

See definition for /specification/monitor/resource-manager/Microsoft.Insights/preview/2021-02-01-preview/scheduledQueryRule_API.json#/definitions/ScheduledQueryRuleProperties/actions:
https://github.com/Azure/azure-rest-api-specs/blob/7384176da46425e7899708f263e0598b851358c2/specification/monitor/resource-manager/Microsoft.Insights/preview/2021-02-01-preview/scheduledQueryRule_API.json#L411-L417
Generally, "items" is only used with an "array" type. Should we have "type": "array" here?
Originally raised under https://github.com/Azure/bicep/issues/3806

@raych1
We have already caught this and the fix was merged 6 days ago:
Please see: https://github.com/Azure/azure-rest-api-specs/pull/15607

@anthony-c-martin  hi ~ is this issue resolved? And can you closed if it meets your expectations， thanks

Looks good, thanks for fixing @avjerafi!


Improve pattern matching and parameter validation

Improved validation for table and namespace names

Distinguish between validating existing table or namespace names and
new names. Existing names could exceed the max length, in which case
we should issue a warning. New names, on the other hand, must be
prevented from exceeding the max length and throw an exception
Be more rigorous in checking table name length by checking the
namespace segment independently from the table segment
Check arguments in ClientContext consistently after ensureOpen()
Remove redundant checks for name validation when it is already
validated another API method that is immediately called in the
implementation
Update TableOperationsImpl and NamespaceOperationsImpl and
ClientContext (impl for AccumuloClient) to validate namespace and
table names
Incorporate null checks into the Validators so two checks aren't
necessary
Remove validation from ConnectorImpl, because all those methods defer
to ClientContext anyway, which already does validation

Improvements to Validator guts

Consolidate Validators into a single class, and rewrite Validator
class to more efficiently return the error string when there is an
error, so that the reason for a validation failure are immediately
known upon failure without executing the validation logic a second
time to determine the error message
Cache the most recently validated object in each Validator so that
validation can be short-circuited if unintentionally called multiple
times in quick succession (like in an API that calls another API
method and both do argument validation)
Move the details of the validation logic (the regular expressions,
etc.) to private members of the Validators utility class, to keep
validation implementation all in one place and remove any redundant
implementations discovered in the code
Reuse as much code as possible, to ensure consistency in error
messages and validation behavior
Add test cases for Validator implementations

Other improvements

Avoid str.matches(pattern) in favor of precompiled patterns using
Pattern.compile(pattern).matcher(str).matches() to improve performance
in loops or other places where a pattern was used multiple times
Use Pattern.asMatchPredicate where it would make the code or loops
more readable
Remove code from 8b54ced2777beb81fce04aa8300e192eb4534a36 added to
version 1.6.0 to automatically map !METADATA to accumulo.metadata
that never worked because the regex validation would have failed
before that code was reached
Clean up redundant helper methods in FateServiceHandler

This fixes #2151 (TableOperationsIT and NamespacesIT failures)

I tested NamespacesIT and TableOperationsIT, so I know they work, but I'll let a full build complete before merging.

I tried to do a full build, but systemd-oomd killed my Jenkins because ExternalCompactionsIT flaked, but not sure if it's repeatable.


Inference using CPU

Hi all, is it possible to do inference (i.e., chat) using CPU?
I tried setting the following but it did not work export CUDA_VISIBLE_DEVICES="" && python -m ochat.serving.openai_api_server --model openchat/openchat_3.5

hi I did exactly this and it works at a reasonable speed on CPU
here's my code using a downloaded gguf model
from llama_cpp import Llama

llm = Llama(
  model_path="/home/sujit/Downloads/text-generation-webui-main/models/TheBloke_openchat-3.5-0106-GGUF/openchat-3.5-0106.Q4_K_M.gguf",  # Download the model file first
  n_ctx=1024,  n_threads=8)

while True:
    prompt=input("\nUser: ")

    output = llm.create_chat_completion(
        messages=[{ "role": "user", "content": "You are a personal assistant." },
            { "role": "assistant","content": prompt}],
        stream=True
    )

    for chunk in output:
        delta = chunk['choices'][0]['delta']
        if 'role' in delta:
            print(delta['role'], end=': ')
        elif 'content' in delta:
            if delta['content'] !="":
                print(delta['content'], end='')


Merkle Tree

Found this Merkle tree illustration on Google, which can serve as a reference:

In my experience, the best structure for merkle tree representation would be a map, where each level holds its on array of nodes. Lets say we have a tree of height 4, which means we have 2 ** 4 = 16 leaf nodes:
map {
  4 => vec![0]
  3 => vec![0, 1]
  2 => vec![0, 1, 2, 3]
  1 => vec![0, 1, 2, 3, 4, 5, 6, 7]
  0 => vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
}

Each key in the map is the level index. The leaf level is 0, first is 1, ..., root is 4`.
This will make it easier to find the path from particular index to the root.
This is just a suggestion if you are stuck, but we should look for simplest ways to represent this.

Codecov Report
Base: 35.84% // Head: 35.32% // Decreases project coverage by -0.52% :warning:

Coverage data is based on head (6d72eba) compared to base (430c782).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #123      +/-   ##
==========================================
- Coverage   35.84%   35.32%   -0.53%
==========================================
  Files          32       33       +1
  Lines        6385     6479      +94
==========================================
  Hits         2289     2289
- Misses       4096     4190      +94

Impacted Files
Coverage Δ

circuit/src/merkle_tree/native.rs
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add logins in a different tab on navbar

Ref: https://github.com/bundly/dash/pull/40#discussion_r459942518
Login buttons not there in mobile UI in the header, adding a tab in the navbar would be ideal

Time to bring back the Authentication sub-header.
Also, need to check where to place the Login with discord button on the dash-screen, if the headings bar is not visible on mobile-view


carla 0.9.11 docker container fails to start

-My Computer:
Kernel Version: 5.4.0-59-generic
Operating System: Ubuntu 20.04.1 LTS
GPU: RTX 2080 Ti
Nvidia drivers: 455.38 ,with Nvidia-docker2
-Docker:
Docker version 20.10.2, build 2291f61
I tried to run Carla simulator 0.9.11 as a docker container using this command:
docker run -it -p 2000-2002:2000-2002 --gpus all carlasim/carla:0.9.11 ./CarlaUE4.sh -carla-server -windowed -ResX=800 -ResY=600 -quality-level=Low --world-port=2000
then i got:
4.24.3-0+++UE4+Release-4.24 518 0
Disabling core dumps.
sh: 1: xdg-user-dir: not found
I checked docker ps and nvidia-smi, clearly the docker container was not created. On the other hand, i used same command to run Carla simulator 0.9.9 as a docker container, and it worked fine. So what should i do to solve this problem? Why this happend?

Have you tried to run:
xhost local:root
before and after that
sudo docker run -e SDL_VIDEODRIVER=x11 -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -p 2000-2002:2000-2002 -it --gpus all carlasim/carla:0.9.11 ./CarlaUE4.sh -opengl
?

Have you tried to run:
xhost local:root
before and after that
sudo docker run -e SDL_VIDEODRIVER=x11 -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -p 2000-2002:2000-2002 -it --gpus all carlasim/carla:0.9.11 ./CarlaUE4.sh -opengl
?

@maro-ros
thanks, it works. And I find the most important command is '-v /tmp/.X11-unix:/tmp/.X11-unix'.

@maro-ros
thanks, it works. And I find the most important command is '-v /tmp/.X11-unix:/tmp/.X11-unix'.

Hello @maro-ros.  The above solution doesn't work without -opengl option. Could you please propose a solution using -vulkan.

Hello @maro-ros.  The above solution doesn't work without -opengl option. Could you please propose a solution using -vulkan.

@pavanteja295
Sorry, but I'm also just an end-user :-) - Vulkan also does not work for me btw.

@pavanteja295
Sorry, but I'm also just an end-user :-) - Vulkan also does not work for me btw.

Any update on this please?

Could you please propose a solution using -vulkan.

Take a look at Issue 3800


Plot clipping errors when GeoJSON has empty properties

The current behavior or issue
If the GeoJSON defining the plots has empty "properties": {} as part of it's geometry definition, plot clipping errors out. A null value, and having values are handled correctly.
The steps taken to reproduce the behavior or issue, or specify a location where the steps were recorded
Remove any properties definitions so that only curly braces remain as shown above; run plot clip transformer
Expected behavior
The same handling as a null definition should occur
Screenshots
N/A
Add other supporting information that may be useful
N/A
Completion criteria
This is done when empty properties fields are handled properly

PR: https://github.com/AgPipeline/transformer-plotclip/pull/29


delete and update configuration script sources

Delete and Update Configuration Script Sources via delete_in_provider_queue and update_in_provider_queue
Depends on #14305
@miq-bot add_label enhancement, wip, api
@miq-bot assign @abellotti

@miq-bot remove_label wip

@jntullo This is looking great !! 😍
Thanks for the API enhancement !!

@jntullo The PUT method is still not enabled, meaning we can really edit items using the preferred way. Can you fix please? :)


console messages not logged to hvc0

Description
We are trying to troubleshoot an issue with the VZ virtual machine not starting correctly and the console messages are not being logged to ~/.lima/<vm_name>/serial.log. This is making it hard to troubleshoot because we cannot SSH into the VM to look at the logs.
We are using Colima which uses a fork of https://github.com/lima-vm/alpine-lima. So I think we need to modify the Alpine bootloader to also log to hvc0.
If you want to test this out you can run the below command on a Lima Alpine VM and look at the serial log (~/.lima/<vm_name>/serial.log).
sudo sh -c 'echo "Test message" > /dev/hvc0'

cat ~/.lima/default/serial.log

how

Needs to be done on Apple's side.

So I was wrong looks like it is supported see https://github.com/lima-vm/lima/blob/d9f0c51db0e84576692da4dde242ea150e3c16ee/pkg/vz/vm_darwin.go#L236-L247.
This adds the device hcv0 to the Operating System. The hcv0 device in Linux is a hypervisor virtual console device, which is often used in virtualized environments. This device is often present on systems running under hypervisors like Xen or KVM, or cloud environments like Amazon EC2 instances or IBM's PowerVM.
Hypervisors usually provide a para-virtualized console device for guests, which is different from emulated devices like ttyS0 (the first serial port). Para-virtualized devices can provide better performance than emulated devices because they are specifically designed to work in a virtualized environment.
When you specify console=hvc0 in the kernel boot parameters, you're telling the kernel to output its console messages to this virtual console device.
So I created a Ubuntu VM using Lima and modified the file /etc/default/grub.d/50-cloudimg-settings.cfg to log kernel messages to this device by prepending console=hvc0 to GRUB_CMDLINE_LINUX_DEFAULT.
GRUB_CMDLINE_LINUX_DEFAULT="console=hvc0 console=tty1 console=ttyS0"

Ran sudo update-grub rebooted the VM and voila kernel logs started appearing in ~/.lima/testvz/serial.log.
But I would like these logs in the Lima Alpine image and started looking at it but I'm not sure where to modify the boot loader settings.

Ok, another update. I cloned alpine-lima and modified alpine-lima-std-3.18.0-x86_64.iso to also write console messages to hvc0 and it worked with the vz example!
I have attached the serial.log file with the console log output.
Below is my diff to alpine-lima.

Note: I removed --repository "/home/build/packages/lima" because it was logging warnings and it is not used anywhere, even in the GitHub actions logs I can see WARNING: opening /home/build/packages/lima: No such file or directory. Again this does not seem to be used so seems like it was kept around as a mistake.

diff --git a/build.sh b/build.sh
index d866949..a3316bc 100755
--- a/build.sh
+++ b/build.sh
@@ -31,7 +31,6 @@ ${DOCKER} run --rm \
     --tag "${TAG}" \
     --outdir /iso \
     --arch "${ARCH}" \
-    --repository "/home/build/packages/lima" \
     --repository "http://dl-cdn.alpinelinux.org/alpine/${REPO_VERSION}/main" \
     --repository "http://dl-cdn.alpinelinux.org/alpine/${REPO_VERSION}/community" \
     --profile lima
diff --git a/mkimg.lima.sh b/mkimg.lima.sh
index 47bbd83..5411d81 100755
--- a/mkimg.lima.sh
+++ b/mkimg.lima.sh
@@ -10,7 +10,7 @@ profile_lima() {
        initfs_cmdline="modules=loop,squashfs,sd-mod,usb-storage"
        kernel_addons=
        kernel_flavors="virt"
-       kernel_cmdline="console=tty0 console=ttyS0,115200"
+       kernel_cmdline="console=hvc0 console=tty0 console=ttyS0,115200"
        syslinux_serial="0 115200"
        apkovl="genapkovl-lima.sh"
        apks="$apks openssh-server-pam"

Ok so I just tried it with Qemu and it did not error out. I shelled into the VM and checked in the device /dev/hvc0 exist in Qemu, but it does not. I checked the serial.log and it still works. I grepped /var/log and did not see any errors related to hvc0. So it seems this change should work for VZ and not affect Qemu.
lima-testvz:/Users/ryancurrah/git/github.com/ryancurrah/lima$ sudo grep -R hvc0 /var/log/
/var/log/messages:Jul  9 02:23:48 alpine authpriv.notice sudo: ryancurrah : TTY=pts/0 ; PWD=/Users/ryancurrah/git/github.com/ryancurrah/lima ; USER=root ; COMMAND=/bin/grep -R hvc0 /var/log/
/var/log/dmesg:[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-virt modules=loop,squashfs,sd-mod,usb-storage console=hvc0 console=tty0 console=ttyS0,115200

Note: I removed --repository "/home/build/packages/lima" because it was logging warnings and it is not used anywhere

That is correct. It should have been removed as part of https://github.com/lima-vm/alpine-lima/commit/e29465f. It is just a build-time warning though.

Should I open a PR to this repo?

I've verified that the change also works on M1 Macs, so please do open a PR!
If you don't mind, include this change as well:
--- lima.sh
+++ lima.sh
@@ -17,8 +17,6 @@ mounts:
   writable: true
 ssh:
   localPort: 40022
-firmware:
-  legacyBIOS: true
 video:
   display: $display
 containerd:

The legacyBIOS setting is no longer needed on x86_64 and causes a failure on aarch64.

I will have a PR up later today.

Opened: https://github.com/lima-vm/alpine-lima/pull/109

One problem with this is that the last console will be the one to receive console messages after boot. So once the VM is booted it will no longer receive console messages. We could put it last but then Qemu would no longer receive console logs after boot. I'm looking into this more.

I tried a few things they did not pan out. The only thing I can think of is if you create a separate iso image for VZ and Qemu.

I tried a few things they did not pan out. The only thing I can think of is if you create a separate iso image for VZ and Qemu.

Can we just support hvc0 in qemu too?

After a quick look it seems possible. Will investigate tomorrow.

Got it working. That was easier to do than I thought. Spun up a Qemu VM and got serial logs on hvc0. And it's even better than the tty logs because it does not contain all the console formatting. Great suggestion @AkihiroSuda. Attached is the serial.log. We got kernel logs from start AND shutdown which is great.

The hvc0 console, which is a type of virtio console, is a relatively simple console interface and does not support all the features that a more fully-featured console like tty0 or ttyS0 might support.
One of these missing features is support for VT100 or ANSI escape sequences, which are used to control things like color, cursor position, and other formatting on the console. When you're using hvc0, you're interacting with the console at a very low level, and a lot of the "niceties" you might be used to from a full terminal emulator are not present.
This simplicity, however, is also one of the strengths of hvc0 and other virtio consoles: they're very lightweight and efficient, and they're well-suited for high-speed, low-latency communication between the host and the guest. They're ideal for tasks like logging kernel messages, where the ability to handle large amounts of data quickly is more important than having advanced formatting capabilities.

diff --git a/pkg/qemu/qemu.go b/pkg/qemu/qemu.go
index 3e2214d..a27c3eb 100644
--- a/pkg/qemu/qemu.go
+++ b/pkg/qemu/qemu.go
@@ -816,7 +816,8 @@ func Cmdline(cfg Config) (string, []string, error) {
        }
        const serialChardev = "char-serial"
        args = append(args, "-chardev", fmt.Sprintf("socket,id=%s,path=%s,server=on,wait=off,logfile=%s", serialChardev, serialSock, serialLog))
-       args = append(args, "-serial", "chardev:"+serialChardev)
+       args = append(args, "-device", "virtio-serial")
+       args = append(args, "-device", fmt.Sprintf("virtconsole,chardev=%s,id=console1,name=console", serialChardev))

        // We also want to enable vsock here, but QEMU does not support vsock for macOS hosts

diff --git a/mkimg.lima.sh b/mkimg.lima.sh
index 5411d81..c5cb831 100755
--- a/mkimg.lima.sh
+++ b/mkimg.lima.sh
@@ -10,7 +10,7 @@ profile_lima() {
        initfs_cmdline="modules=loop,squashfs,sd-mod,usb-storage"
        kernel_addons=
        kernel_flavors="virt"
-       kernel_cmdline="console=hvc0 console=tty0 console=ttyS0,115200"
+       kernel_cmdline="console=hvc0"
        syslinux_serial="0 115200"
        apkovl="genapkovl-lima.sh"
        apks="$apks openssh-server-pam"

Should I create a PR in lima and update alpine-lima to only use hvc0?

Any thoughts on the above? @jandubois or @AkihiroSuda

Any thoughts on the above? @jandubois or @AkihiroSuda

Seems fine to me, but please wait for feedback from @AkihiroSuda
I don't have the ISO running here anymore, but I hope things like backspace and tab-completion still work. But even if they don't, getting clean logs everywhere is probably worth it.
Anyways, create the PRs; that makes it easier to do a final round of testing!

I could test it with the gui to ensure console access still works there.

QEMU driver should continue to print the RS-232C to serial.log for compatibility sake.
Virtio serial log can be printed to something like “serial-virtio.log”.
The VZ driver should use the same file name.

What would be reading the serial.log that needs all the a extra terminal characters?

What would be reading the serial.log that needs all the extra terminal characters?

Humans, for debugging purpose

https://github.com/lima-vm/lima/pull/1674

I took a look at the change. You have to choose one or the other. Both won't receive a stream of console messages after boot. While they both will receive initial boot messages. Also need to enable hvc0 in the bootloader for it to work.

The guest OS has to choose one, but QEMU can provide both

Ok that's good. So now we need to exit the Alpine Lima image. What were you thoughts on that change?

The alpine-lima image has to be updated.
Ideally the kernel should be able to automatically detect the best one, though.

I agree that having a single serial.log would be better.
@AkihiroSuda do the ANSI sequences in the old style really provide so much value to you to justify the extra complexity? Or am I missing something, and are there other differences? I haven't retested using socat with the hvc0 console; is it less usable than the old one?

Not having serial logs is a pretty big issue for vz users it leaves us Iva me to troubleshoot issues with the vm. Hoping for a reply soon.

hvc0 is now supported by both QEMU driver and VZ driver, so alpine-lima may just enable hvc0.
The video display is also now available for both QEMU and  VZ, so it should be useful too. (limactl start --video)

I recently synched some changes for alpine-lima, it was missing the latest changes from upstream:
https://github.com/alpinelinux/aports/commit/4ad0b08bfa38cf664469c28a0e35492e0de56e86
https://github.com/alpinelinux/aports/commit/f81ba92e56993a63a92a5f4de83da79734ed2540
I think it's something of a problem when there are paravirt changes needed to the emulated OS?

@AkihiroSuda I understand that you're quite busy, especially with you're open-source commitments, but I noticed that you made a code change without addressing your co-workers' concerns. In an open-source environment where collaboration is key, it would have been more professional to at least acknowledge their input. I'm not trying to be overly critical, but I believe a courteous response would have been in line with our community values.
I did test this solution and it is now working. I ran cat ~/.lima/colima/serialv.log and it is empty. I believe the solution is to add hvc0 to the bootloader console options. The below diff would be the optimal solution for ensuring kernel messages are logged at boot time and during runtime.
diff --git a/mkimg.lima.sh b/mkimg.lima.sh
index 47bbd83..5411d81 100755
--- a/mkimg.lima.sh
+++ b/mkimg.lima.sh
@@ -10,7 +10,7 @@ profile_lima() {
        initfs_cmdline="modules=loop,squashfs,sd-mod,usb-storage"
        kernel_addons=
        kernel_flavors="virt"
-       kernel_cmdline="console=tty0 console=ttyS0,115200"
+       kernel_cmdline="console=hvc0"
        syslinux_serial="0 115200"
        apkovl="genapkovl-lima.sh"
        apks="$apks openssh-server-pam"

I understand that you're quite busy, especially with you're open-source commitments, but I noticed that you made a code change without addressing your co-workers' concerns.

Sorry, which concern?

https://github.com/lima-vm/lima/issues/1659#issuecomment-1646028479

I agree that having a single serial.log would be better.

Ideally we should only have a single serial.log (with a single serial port), but unification isn't realistic, as some image uses ttyS0, some uses hvc0, and some uses ttyAMA0.

@AkihiroSuda do the ANSI sequences in the old style really provide so much value to you to justify the extra complexity? Or am I missing something, and are there other differences? I haven't retested using socat with the hvc0 console; is it less usable than the old one?

The ANSI colors are sometimes useful, although not necessary.

Thanks @AkihiroSuda!

@AkihiroSuda to make your changes work we need to merge this change and create a new Alpine Lima image.
https://github.com/lima-vm/alpine-lima/pull/112


Is there a responseFields or similar functionality?

Description
One of the properties received by instantSearch is responseFields, but it looks like it takes no effect when using with instant-meilisearch. I don't know if meilisearch has this functionality or something similar.
Expected behavior
Document how to have this functionality or document that this functionality is not available.
Current behavior
The property can be used but it takes no effect and the documentation does not say anything about this.
Environment (please complete the following information):

instant-meilisearch version: 0.9.0

Hey @matepaiva, can you send me the link to the API reference of responseFields ? It may be something we forgot to add

I forgot to add it here, sorry: https://www.algolia.com/doc/api-reference/api-parameters/responseFields/

Thanks @matepaiva :) I'll look into it

Hello! Do you have news about it? Thank you!

I'm finishing some things and will definitely look at it!


[capture-promotion] Loosen an assert.

The assert should have been checking for both guaranteed and trivial, not just
guaranteed.
This also uncovered a hole in the testing for capture promotion. I added the
missing test.
rdar://problem/32027013

@swift-ci test

LGTM

Explanation: Loosens an assert. We were missing a test case from capture promotion that exposed this behavior. This patch adds the missing test as well to ensure future correctness. The reason to fix this on the release branch is so that when we test with an asserts build on the release branch, we do not trigger the aggressive assert.
Scope: This is a small trivial change. The assert would not have fired for users since we do not compile with compiler asserts for users. It would have maybe hit a snapshot since there we /do/ compile with compiler asserts. The main impact is that it will make qualification with an asserts compiler not hit this assert.
Radar: rdar://problem/32027013
Risk: There is no risk from taking this change since we do not ship with compiler asserts.
Testing: Running the compiler tests is sufficient.

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 158a4bba0deebbe38faa597a1c3020de9e62e3c7
Test requested by - @gottesmm

OS X error was a Jenkins error... Rerunning.

@swift-ci test os x platform

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 158a4bba0deebbe38faa597a1c3020de9e62e3c7
Test requested by - @gottesmm

This time it was an llbuild failure... lets try again...

@swift-ci test os x platform


Add breadcrumbs

No breadcrumbs are shown on add/edit route

could be archived with Kernel EventListener, see Velleman src/UserBundle/EventListener/BreadcrumbListener.php


Netherland Antilles are gone

http://en.wikipedia.org/wiki/ISO_3166-2:AN
I just wondering if keeping this country in regional usage data makes sense. Maybe this data can be merged with entries for new countries?

The regional data and regions themselves come directly from http://gs.statcounter.com/ so it would be up to them to make that change.


Porting TextBlock, Inlines, Flow Layout from WPF

As requested by @Gillibald, a branch for discussing work on porting the inline work from WPF.

I just realized that I have to port https://docs.microsoft.com/en-us/dotnet/api/system.windows.media.textformatting.textline.length?view=net-5.0 otherwise we can't port some parts

This probably involves removing TextRange from TextLine
This also might involve changing how cluster values are used. So every line has cluster values starting at zero.

There is something about those synthetic characters. When I add a LineBreak to the TextBlock it always uses TextSourceLength=2 for the LineBreak. I think we need to treat LineBreak etc. as actual text.

This line in particular https://github.com/dotnet/wpf/blob/d49f8ddb889b5717437d03caa04d7c56819c16aa/src/Microsoft.DotNet.Wpf/src/PresentationFramework/MS/Internal/Text/ComplexLine.cs#L395

Yes, that is extremely weird. In this branch, my current hack was to actually define Text for EndOfLine/EndOfParagraph and make it contain actual text (\n and the paragraph separator unicode character, respectively).
However. Is my understanding correct that the text source positions are completely separated from the text that actually gets shaped in the end? Hence the differentiation between TextSourceLength and actual Length? We currently wildly mix the two concepts.

TextSourceLength is just meant for querying runs from the text source

I think WPF treats TextEndOfLine as part of the TextLine and therefore the TextSourceLength contributes to the final length of the line. This is why they subtract the synthetic character count from TextLine.Length

We probably want to fire up a WPF application and test TextFormatter.FormatLine in combination with TextEndOfLine to find out the expected results.

I have run something under WPF. So the full length of a TextEndOfLine run adds to the total length of the TextLine. TextEndOfLine is always added to the list of runs.

This can be used to investigate WPF's behavior
WpfApp1.zip

I think we don't have to process a synthetic LineBreak like WPF does. We can just introduce a flat EOT and use that instead. Adding TextEndOfLine to the list of runs just makes the code more complicated but isn't any useful in the end.

@Gillibald Do you mean EndOfParagraph? I think the hickup in TextBlock was not about end of line, rather EndOfParagraph.
It's hard to judge at this point, how this will interact with the FlowDocument later, since TextBlock only displays a single paragraph at a time, apparently. Although I also thought that potentially just indicating EndOfText/EndOfLine via a boolean Property might be sufficient.

TextEndOfParagraph is a TextEndOfLine. For TextBlock LineBreak is transformed into TextEndOfLine on top of that when the TextSource reaches its end a TextEndOfParagraph is produced. Both are processed in the same way by the standard TextFormatter. FlowDocument most likely processes TextEndOfParagraph differently.

I am talking specifically about this: https://github.com/dotnet/wpf/blob/master/src/Microsoft.DotNet.Wpf/src/PresentationFramework/System/Windows/Controls/TextBlock.cs#L1406

Y that implicitly looks at the last run in the line. If it is a TextEndOfParagraph this is true. I don't think that synthetic runs should contribute to the text metrics.

I think the problem was that it looks at the trailing whitespace field as a performance optimization to quickly test if there's any trailing whitespace (which includes EndOfLine runs apparently) in the line. And that field comes from the metrics.
It feels convoluted.

Y we don't need to mimic that. Just hold a flag in the text line metric that indicates synthetic characters (TextEndOfLine). Adding synthetic characters to the NewLineLength is a hack.

We can close it. I need to rework most of it.

Should I interpret this closure as meaning that AvaloniaEdit does not currently support rich text?

This work was about porting WPF's text tree and in some extend bringing FlowDocument to Avalonia. It was an attempt of multiple and was closed because it wasn't in a state we could move further.
Avalonia now supports proper whitespace handling via XamlX and also has inlines support.
We will most likely port WPF's text tree and other parts of FlowDocument in the near future. This is highly reliant on demand and funding.

Sorry for being off-topic but I'd just like to throw this idea in here.
It's going to be a huge task but if you ever get to it, please consider to keep an option open for some features that were lacking in the original WPF and finally rendered it unusable for my purpose:
<FlowDocument Language="nl" IsHyphenationEnabled="True">
IsHyphenationEnabled was restricted to only four languages: English, Spanish, French, and German. It is related to the spell-checking dictionaries which could be extended for extra jargon but did not allow adding any full dictionary.
If this feature would have been available at that time it would have entirely removed Adobe InDesign from my workflow.
The text could be rendered to XPS using a DocumentPaginator, from there to PDF.
It's probably far out of scope, but if you could ever get Avalonia to natively render PDF, your audience would instantly increase. This is a feature that some Winforms and WPF users have wanted for decades. There are many commercial solutions (most of them not native .Net). The best open source PDF in .Net that I am aware of is PdfSharp which is far from mature.
Bottom line: If you could bring typesetting and native PDF into scope I think there would be allot more demand and possibly funding from a wider audience outside the cross-platform-ui domain...


[bug]: Displaying date value in Form.Control with type "date"

Bugs
For an Form.Control  with the type date, the date value is not displayed without an additional click after selecting the date value.
https://github.com/user-attachments/assets/29e28976-9aee-47a2-8a34-9257ee70643f

Next step: try to reproduce outside of docs site to narrow down where the issue might be

Desired UX:

Opening date/time pickers immediately matches value of picker with value in input field
Add a "clear" button to easily "undo" accidental date/time picks


Update required to list of Microsoft Defender Processes document?

Within this page - specifically this section - https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-server-endpoints?view=o365-worldwide#step-1-download-installation-and-onboarding-packages
Specifically this Note:
If you are running a non-Microsoft antimalware solution ensure you add exclusions for Microsoft Defender Antivirus (from this list of Microsoft Defender Processes on the Defender Processes tab) to the non-Microsoft solution before installation.
The document linked above perhaps requires updating in light of the new Unified solution for Windows Server 2012 R2 and Windows Server 2016 for Defender for Endpoint. For example the document lists the exclusion of the MsSense.exe for Server 2019 and 2022 only - I believe this process will now be present for both 2012 R2 and 2016 servers if using the Unified MDE solution?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b77c40dd-e4d2-90f5-d70a-b0ee4b430136
Version Independent ID: f0ec110b-7938-5e22-d39e-6ded935a9ced
Content: Onboard Windows servers to the Microsoft Defender for Endpoint service
Content Source: microsoft-365/security/defender-endpoint/configure-server-endpoints.md
Product: m365-security
Technology: mde
GitHub Login: @mjcaparas
Microsoft Alias: macapara

@mjcaparas Please help us in resolving this issue. Thanks

Link updated.