image in PDF

whenever I run
asciidoctor -r asciidoctor-pdf -b pdf mydoc.txt

I got this:
asciidoctor: WARNING: allow-uri-read is not enabled; cannot embed remote image: https://cloud.githubusercontent.com/assets/2038044/11644558/09c7e630-9d1b-11e5-8f8d-d14493859d07.png

this is same with or without
:data-uri:

it looks this is related to the image that I wanted to insert into PDF
image::https://cloud.githubusercontent.com/assets/2038044/11644558/09c7e630-9d1b-11e5-8f8d-d14493859d07.png[]

this image insertion has no issue in HTML rendering, how to make it work in PDF?

You need to pass the allow-uri-read attribute to the command:
asciidoctor -r asciidoctor-pdf -b pdf -a allow-uri-read mydoc.txt

This is required anytime you are reading content from a URI.

it doesn't work...
ping@ubuntu47-3:~$ asciidoctor -r asciidoctor-pdf -b pdf -a allow-uri-read
~/living\ files/mydoc.txt --trace
/var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/temporary_path.rb:5:in
unlink': No such file or directory - /tmp/image-20151210-9412-4rvb6e.png ( rrno::ENOENT)         from /var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/temporary_path.rb:5:in unlink'
from
/var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:2457:in
unlink_tmp_file'         from /var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:892:in convert_image'
from
/var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:98:in
convert'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:71:in convert'
from
/var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:80:in
block in content'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:80:in map'
from
/var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:80:in
content'         from /var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:114:in convert_content_for_block'
from
/var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:325:in
convert_section'         from /var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:98:in convert'
from
/var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:71:in
convert'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:80:in block in content'
from
/var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:80:in
map'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:80:in content'
from
/var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:114:in
convert_content_for_block'         from /var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:325:in convert_section'
from
/var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:98:in
convert'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:71:in convert'
from
/var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:80:in
block in content'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:80:in map'
from
/var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/abstract_block.rb:80:in
content'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/document.rb:1104:in content'
from
/var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:114:in
convert_content_for_block'         from /var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:165:in convert_document'
from
/var/lib/gems/1.9.1/gems/asciidoctor-pdf-1.5.0.alpha.10/lib/asciidoctor-pdf/converter.rb:98:in
convert'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/document.rb:1044:in convert'
from
/var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor.rb:1514:in
convert'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/cli/invoker.rb:94:in block in invoke!'
from
/var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/cli/invoker.rb:86:in
each'         from /var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/lib/asciidoctor/cli/invoker.rb:86:in invoke!'
from
/var/lib/gems/1.9.1/gems/asciidoctor-1.5.3/bin/asciidoctor:14:in <top (required)>'         from /usr/local/bin/asciidoctor:23:in load'
from /usr/local/bin/asciidoctor:23:in `'
ping@ubuntu47-3:~$ cd /tmp/
ping@ubuntu47-3:/tmp$ ls
file563qKX  file9csAsb  fileGzYtkk  filemVHKeu  fileX12pDi  tmux-1000
v7Lglu4  vD9dz6X  vFVdRUw  vpc5VaP  vs3J7EU
file8W5Xgz  fileBKU75H  fileJVQOgr  fileTgwavx  orbit-ping  v2woOA0
va6OG4l  vduR3Wi  vhE6qo0  vpMXHkX  xsession-ping
On Wed, Dec 9, 2015 at 11:31 PM, Dan Allen<EMAIL_ADDRESS>wrote:

You need to pass the allow-uri-read attribute to the command:
asciidoctor -r asciidoctor-pdf -b pdf -a allow-uri-read mydoc.txt
This is required anytime you are reading content from a URI.
—
Reply to this email directly or view it on GitHub
https://github.com/asciidoctor/asciidoctor-pdf/issues/369#issuecomment-163522944
.

This happens because you are using Ruby 1.9. Please use Ruby 2 or above. I'll try to fix it for Ruby 1.9, but it's really not a supported version.

Ruby 1.9 will sometimes delete a tmp file sooner than when the process exits. I've added a guard for this.

hi Dan:
I just installed ruby via this steps:
https://gorails.com/setup/ubuntu/14.04
ping@ubuntu47-3:~$ ruby -v

but still I got errors below:
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
ping@ubuntu47-3:~$ asciidoctor -r asciidoctor-pdf -b pdf -a allow-uri-read
~/living\ files/d2ipe-mx-check.txt
/usr/lib/ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not
find asciidoctor (>= 0) amongst [bundler-unload-1.0.2, executable-hook)
        from /usr/lib/ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
        from /usr/lib/ruby/1.9.1/rubygems.rb:1231:in `gem'
        from /usr/local/bin/asciidoctor:22:in `<main>'
ping@ubuntu47-3:~$ sudo gem install prawn
ERROR:  Error installing prawn:
        prawn requires Ruby version >= 2.0.0.
ping@ubuntu47-3:~$ ruby --version
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-linux]
ping@ubuntu47-3:~$

it just looks like ruby was installed by not recognized by
asciidoctor...any idea?
thanks.
On Thu, Dec 10, 2015 at 11:02 AM, Dan Allen<EMAIL_ADDRESS>wrote:

Closed #369 https://github.com/asciidoctor/asciidoctor-pdf/issues/369
via 390b20c
https://github.com/asciidoctor/asciidoctor-pdf/commit/390b20c100b4f7dbf994afae5e949c5a5b7435dd
.
—
Reply to this email directly or view it on GitHub
https://github.com/asciidoctor/asciidoctor-pdf/issues/369#event-488548096
.

Please use rvm. Honestly, rvm is the only reasonable way to use Ruby in a reliable way in my opinion. Once you switch to rvm, I swear you'll never have problems using Ruby again.
See https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-ubuntu-14-04-using-rvm
(except install asciidoctor-pdf instead of rails).

thanks Dan.
everything looks great until I got this:
Parsing documentation for mime-types-2.99
Installing ri documentation for mime-types-2.99
Parsing documentation for mail-2.6.3
Installing ri documentation for mail-2.6.3
Parsing documentation for actionmailer-4.2.5
Installing ri documentation for actionmailer-4.2.5
Parsing documentation for arel-6.0.3
Installing ri documentation for arel-6.0.3
Parsing documentation for activemodel-4.2.5
Installing ri documentation for activemodel-4.2.5
Parsing documentation for activerecord-4.2.5
Installing ri documentation for activerecord-4.2.5
Parsing documentation for rails-4.2.5
Installing ri documentation for rails-4.2.5
then I got stuck in here, waited for 20+ minutes and still pending in
here...
is this normal? I'm not sure I will break the whole thing or not if I
interupt it now...
On Thu, Dec 10, 2015 at 9:57 PM, Dan Allen<EMAIL_ADDRESS>wrote:

Please use rvm. Honestly, rvm is the only reasonable way to use Ruby in a
reliable way in my opinion. Once you switch to rvm, I swear you'll never
have problems using Ruby again.
See
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-ubuntu-14-04-using-rvm
(except install asciidoctor-pdf instead of rails).
—
Reply to this email directly or view it on GitHub
https://github.com/asciidoctor/asciidoctor-pdf/issues/369#issuecomment-163848103
.

please ignore, everything works as you said,
PDF images looks super, thanks!!!!
On Thu, Dec 10, 2015 at 10:26 PM, ping song<EMAIL_ADDRESS>wrote:

thanks Dan.
everything looks great until I got this:
Parsing documentation for mime-types-2.99
Installing ri documentation for mime-types-2.99
Parsing documentation for mail-2.6.3
Installing ri documentation for mail-2.6.3
Parsing documentation for actionmailer-4.2.5
Installing ri documentation for actionmailer-4.2.5
Parsing documentation for arel-6.0.3
Installing ri documentation for arel-6.0.3
Parsing documentation for activemodel-4.2.5
Installing ri documentation for activemodel-4.2.5
Parsing documentation for activerecord-4.2.5
Installing ri documentation for activerecord-4.2.5
Parsing documentation for rails-4.2.5
Installing ri documentation for rails-4.2.5
then I got stuck in here, waited for 20+ minutes and still pending in
here...
is this normal? I'm not sure I will break the whole thing or not if I
interupt it now...
On Thu, Dec 10, 2015 at 9:57 PM, Dan Allen<EMAIL_ADDRESS>wrote:

Please use rvm. Honestly, rvm is the only reasonable way to use Ruby in a
reliable way in my opinion. Once you switch to rvm, I swear you'll never
have problems using Ruby again.
See
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-on-ubuntu-14-04-using-rvm
(except install asciidoctor-pdf instead of rails).
—
Reply to this email directly or view it on GitHub
https://github.com/asciidoctor/asciidoctor-pdf/issues/369#issuecomment-163848103
.

Great!
In case it wasn't clear for anyone following along, skip this step:
gem install rails -v rails_version

and replace it with
gem install asciidoctor-pdf --pre

Also, for my general purpose gemset (when I'm not in a particular project), I like to use the name "runtime". You can combine the create and use into a single command. So what I do is the following:
rvm 2.2@runtime --create

(of course, replace "2.2" with whatever Ruby you install).

thanks Dan.
I think it will be great to include info of installing ruby 2.x in
asciidoc-pdf steps - I bet most people will run into same issues as mine.
On Thu, Dec 10, 2015 at 11:24 PM, Dan Allen<EMAIL_ADDRESS>wrote:

Great!
In case it wasn't clear for anyone following along, skip this step:
gem install rails -v rails_version
and replace it with
gem install asciidoctor-pdf --pre
Also, for my general purpose gemset (when I'm not in a particular
project), I like to use the name "runtime". You can combine the create
and use into a single command. So what I do is the following:
rvm 2.2@runtime --create
(of course, replace "2.2" with whatever Ruby you install).
—
Reply to this email directly or view it on GitHub
https://github.com/asciidoctor/asciidoctor-pdf/issues/369#issuecomment-163863823
.

We already have a page on asciidoctor.org planned. It's the same for every gem in the ecosystem, so it's better to centralize the instructions and link to it. See https://github.com/asciidoctor/asciidoctor.org/issues/399.

Dan:
I ran into another issue today, this looks related to a system reboot.
everything works fine previously.
ping@ubuntu47-3:~$ asciidoctor
/usr/lib/ruby/1.9.1/rubygems/dependency.rb:247:in to_specs': Could not find asciidoctor (>= 0) amongst [bundler-1.8.4, bundler-unload-1.0.2, executable-hooks -1.3.2, gem-wrappers-1.2.7, minitest-5.4.3, power_assert-0.2.2, rubygems-bundler-1.4.4, rvm-<IP_ADDRESS>, test-unit-3.0.8] (Gem::LoadError)         from /usr/lib/ruby/1.9.1/rubygems/dependency.rb:256:in to_spec'
from /usr/lib/ruby/1.9.1/rubygems.rb:1231:in gem'         from /usr/local/bin/asciidoctor:22:in '
ping@ubuntu47-3:~$
I did some research and couldn't find a match. any advice?

please ignore...I just reinstall asciidoctor and asciidoctor-pdf from gem
and everything works again.
I really don't know what happened. I'll monitor this issue on next system
reboot.
regards
ping
On Sat, Dec 12, 2015 at 12:56 PM, ping song<EMAIL_ADDRESS>wrote:

Dan:
I ran into another issue today, this looks related to a system reboot.
everything works fine previously.
ping@ubuntu47-3:~$ asciidoctor
/usr/lib/ruby/1.9.1/rubygems/dependency.rb:247:in to_specs': Could not find asciidoctor (>= 0) amongst [bundler-1.8.4, bundler-unload-1.0.2, executable-hooks -1.3.2, gem-wrappers-1.2.7, minitest-5.4.3, power_assert-0.2.2, rubygems-bundler-1.4.4, rvm-<IP_ADDRESS>, test-unit-3.0.8] (Gem::LoadError)         from /usr/lib/ruby/1.9.1/rubygems/dependency.rb:256:in to_spec'
from /usr/lib/ruby/1.9.1/rubygems.rb:1231:in gem'         from /usr/local/bin/asciidoctor:22:in '
ping@ubuntu47-3:~$
I did some research and couldn't find a match. any advice?

If you are using RVM, you have to remember to run rvm use after restarting your console, or you need to set the default (see rvm.io for details).
As you get used to RVM, you should always check which version you are using by running:
rvm current

If it says "system", you aren't using RVM.

thanks Dan.
these looks new to me...need to take some time to learn these skills.
thanks.
On Sat, Dec 12, 2015 at 2:12 PM, Dan Allen<EMAIL_ADDRESS>wrote:

If you are using RVM, you have to remember to run rvm use after
restarting your console, or you need to set the default (see rvm.io for
details).
As you get used to RVM, you should always check which version you are
using by running:
rvm current
If it says "system", you aren't using RVM.
—
Reply to this email directly or view it on GitHub
https://github.com/asciidoctor/asciidoctor-pdf/issues/369#issuecomment-164197482
.

Dan:
it looks the same issue happened again...
I'm working with vim and I have some keybindings in there. so e.g whenever
I hit ,ah  it will call asciidoctor and render current file. works perfect.
this is method1.
now the asciidoctor command from vim is still working, but I want to change
some options before run it again (e.g. add -d book) for that I normally hit
ctrl-z to return back to my terminal where vim was started. this is method2.
previously everything works.
but tonight I found the method1 works and method2 broke, again. and I run
gem install asciidoctor again and issue got fixed:
ping@ubuntu47-3:~$ asciidoctor living\ files/mydoc.txt
/usr/lib/ruby/1.9.1/rubygems/dependency.rb:247:in to_specs': Could not find asciidoctor (>= 0) amongst [actionmailer-4.2.5, actionpack-4.2.5, actionview-4 5, activejob-4.2.5, activemodel-4.2.5, activerecord-4.2.5, activesupport-4.2.5, arel-6.0.3, builder-3.2.2, bundler-1.8.4, bundler-unload-1.0.2, concurrent- y-1.0.0, erubis-2.7.0, executable-hooks-1.3.2, gem-wrappers-1.2.7, globalid-0.3.6, i18n-0.7.0, loofah-2.0.3, mail-2.6.3, mime-types-2.99, mini_portile2-2.0  minitest-5.4.3, nokogiri-1.6.7, power_assert-0.2.2, rack-1.6.4, rack-test-0.6.3, rails-4.2.5, rails-deprecated_sanitizer-1.0.3, rails-dom-testing-1.0.7, r s-html-sanitizer-1.0.2, railties-4.2.5, rubygems-bundler-1.4.4, rvm-<IP_ADDRESS>, sprockets-3.5.2, sprockets-rails-2.3.3, test-unit-3.0.8, thor-0.19.1, thread_ e-0.3.5, tzinfo-1.2.2] (Gem::LoadError)         from /usr/lib/ruby/1.9.1/rubygems/dependency.rb:256:in to_spec'
from /usr/lib/ruby/1.9.1/rubygems.rb:1231:in gem'         from /usr/local/bin/asciidoctor:22:in '
ping@ubuntu47-3:~$
ping@ubuntu47-3:~$ gem install asciidoctor
Fetching: asciidoctor-1.5.3.gem (100%)
Successfully installed asciidoctor-1.5.3
Parsing documentation for asciidoctor-1.5.3
Installing ri documentation for asciidoctor-1.5.3
Done installing documentation for asciidoctor after 7 seconds
1 gem installed
ping@ubuntu47-3:~$
ping@ubuntu47-3:~$ asciidoctor living\ files/mydoc.txt
ping@ubuntu47-3:~$
ping@ubuntu47-3:~$ rvm current
ruby-2.2.1
ping@ubuntu47-3:~$ rvm use
Using /home/ping/.rvm/gems/ruby-2.2.1
same thing goes asciidoctor-pdf:
ping@ubuntu47-3:~$ asciidoctor -r asciidoctor-pdf -b pdf -a allow-uri-read
living\ files/mydoc.txt
asciidoctor: FAILED: 'asciidoctor-pdf' could not be loaded
Use --trace for backtrace
I'm sure reinstall asciidoctor-pdf gem will be it, but just wondering what
is the problem here? I didn't restart my terminal. anyone else had same
issues on ubuntu ?
b.t.w I'm running ssh and GNU screen, then tmux on screen. I
disconnect/reconnect constantly to my document work...
On Sat, Dec 12, 2015 at 10:51 PM, ping song<EMAIL_ADDRESS>wrote:

thanks Dan.
these looks new to me...need to take some time to learn these skills.
thanks.
On Sat, Dec 12, 2015 at 2:12 PM, Dan Allen<EMAIL_ADDRESS>wrote:

If you are using RVM, you have to remember to run rvm use after
restarting your console, or you need to set the default (see rvm.io for
details).
As you get used to RVM, you should always check which version you are
using by running:
rvm current
If it says "system", you aren't using RVM.
—
Reply to this email directly or view it on GitHub
https://github.com/asciidoctor/asciidoctor-pdf/issues/369#issuecomment-164197482
.

I can still reproduce this with alpha.13:
var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/formatted_text/inline_image_renderer.rb:42:in `unlink': No such file or directory @ unlink_internal - /tmp/image-20161005-19247-1ggstx9.png (Errno::ENOENT)
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/formatted_text/inline_image_renderer.rb:42:in `render_behind'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/box.rb:558:in `block in draw_fragment_underlays'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/box.rb:557:in `each'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/box.rb:557:in `draw_fragment_underlays'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/box.rb:277:in `draw_fragment'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/wrap.rb:148:in `block in format_and_draw_fragment'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/arranger.rb:245:in `block in apply_font_size'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/font.rb:101:in `font_size'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/prawn_ext/extensions.rb:282:in `font_size'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/arranger.rb:245:in `apply_font_size'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/arranger.rb:167:in `block in apply_font_settings'
	from /var/lib/gems/2.3.0/gems/pdf-core-0.6.1/lib/pdf/core/text.rb:204:in `character_spacing'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/arranger.rb:160:in `apply_font_settings'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/arranger.rb:136:in `apply_color_and_font_settings'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/wrap.rb:147:in `format_and_draw_fragment'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/wrap.rb:95:in `block in print_line'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/wrap.rb:93:in `each'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/wrap.rb:93:in `print_line'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/wrap.rb:61:in `wrap'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/formatted_text/inline_image_arranger.rb:15:in `wrap'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/box.rb:223:in `block (4 levels) in render'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/font.rb:101:in `font_size'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/prawn_ext/extensions.rb:282:in `font_size'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/box.rb:216:in `block (3 levels) in render'
	from /var/lib/gems/2.3.0/gems/pdf-core-0.6.1/lib/pdf/core/text.rb:182:in `text_rendering_mode'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/box.rb:211:in `block (2 levels) in render'
	from /var/lib/gems/2.3.0/gems/pdf-core-0.6.1/lib/pdf/core/text.rb:204:in `character_spacing'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/box.rb:210:in `block in render'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/font.rb:207:in `save_font'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text/formatted/box.rb:209:in `render'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text.rb:376:in `fill_formatted_text_box'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text.rb:356:in `draw_remaining_formatted_text_on_new_pages'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text.rb:216:in `formatted_text'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/text.rb:167:in `text'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:2483:in `typeset_text'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:1845:in `layout_prose'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:818:in `convert_content_for_list_item'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:811:in `convert_outline_list_item'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:757:in `block (2 levels) in convert_outline_list'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:754:in `each'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:754:in `block in convert_outline_list'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/document/bounding_box.rb:286:in `indent'
	from /var/lib/gems/2.3.0/gems/prawn-2.1.0/lib/prawn/document.rb:486:in `indent'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:753:in `convert_outline_list'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:740:in `convert_ulist'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:103:in `convert'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/abstract_block.rb:71:in `convert'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/list.rb:30:in `convert'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/abstract_block.rb:80:in `block in content'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/abstract_block.rb:80:in `map'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/abstract_block.rb:80:in `content'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:119:in `convert_content_for_block'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:358:in `convert_section'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:103:in `convert'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/abstract_block.rb:71:in `convert'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/abstract_block.rb:80:in `block in content'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/abstract_block.rb:80:in `map'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/abstract_block.rb:80:in `content'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/document.rb:1104:in `content'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:119:in `convert_content_for_block'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:177:in `convert_document'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/lib/asciidoctor-pdf/converter.rb:103:in `convert'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/document.rb:1044:in `convert'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor.rb:1503:in `convert'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/cli/invoker.rb:94:in `block in invoke!'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/cli/invoker.rb:86:in `each'
	from /var/lib/gems/2.3.0/gems/asciidoctor-1.5.4/lib/asciidoctor/cli/invoker.rb:86:in `invoke!'
	from /var/lib/gems/2.3.0/gems/asciidoctor-pdf-1.5.0.alpha.13/bin/asciidoctor-pdf:31:in `<top (required)>'
	from /usr/local/bin/asciidoctor-pdf:23:in `load'
	from /usr/local/bin/asciidoctor-pdf:23:in `<main>'

Doh! It looks like I forgot to apply the fix for inline images. I just committed a fix for it to master.

@istvanrath I'm curious, can you tell me which version of Ruby you are using. Just run asciidoctor-pdf -v. I still don't understand why Ruby sometimes deletes the temporary file before we can get to it.

Asciidoctor PDF 1.5.0.alpha.13 using Asciidoctor 1.5.4 [http://asciidoctor.org]
Runtime Environment (ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]) (lc:UTF-8 fs:UTF-8 in:- ex:UTF-8)

We're using the exact same version of Ruby. That's very strange. Perhaps it has to do with how Ruby is packaged (and somehow the behavior of tempfile is different). How is Ruby installed on your machine?

Also, if you remove the line that throws the error, does the image appear in your document?

I'm not using rvm, if that's the question. This is a large document with several images, and I'm only having trouble with the ones that are pulled in via remote URIs.

Yes, I can tell you are not using RVM. I'm just interested to know which distribution of Ruby you are using and on what platform. It's not irregular for packagers to slightly change the behavior of a program in the process of packaging it. I've seen it before. I'd just like to understand which installation might be doing that.

I'm using Ruby on Ubuntu 16.04 LTS. It was installed via apt-get.

Thanks! That should help me study why we're getting different behaviors. Regardless, I still put the safeguard in place.


Error in register mutation in channels environment

Prerequisites
Feel free to just say what you want and remove this template.

[V] Is it a bug?

Description
When I tried to call register mutation in channels environment, an error is raised.
File "/home/shmoon/PycharmProjects/pigger_site/venv/lib/python3.10/site-packages/gqlauth/models.py", line 61, in get_email_context
info.context.request
AttributeError: 'dict' object has no attribute 'request'
I tried to fix it:
    request = info.context['request'] if isinstance(info.context, dict) else info.context.request

but it still raises an error.
File "/home/shmoon/PycharmProjects/pigger_site/venv/lib/python3.10/site-packages/gqlauth/models.py", line 62, in get_email_context
site = get_current_site(request)
File "/home/shmoon/PycharmProjects/pigger_site/venv/lib/python3.10/site-packages/django/contrib/sites/shortcuts.py", line 18, in get_current_site
return RequestSite(request)
File "/home/shmoon/PycharmProjects/pigger_site/venv/lib/python3.10/site-packages/django/contrib/sites/requests.py", line 11, in init
self.domain = self.name = request.get_host()
AttributeError: 'ChannelsRequest' object has no attribute 'get_host'
I think it's also related to the last channels support fix. It seems that we didn't fix everything.
It seems the structure of "request" objects is modified.
Do you have any idea?
--

Actually its already reported #137 I'll answer there :upside_down_face:


[Feature Request]: Ability to easily merge other PDFs

Problem to solve
I would like to easily merge PDFs to the end of the generated PDF.
Proposed solution
I'm not sure what the best method would be.
Describe alternatives you've considered
Additional python library?
Additional context
N/A

Hello @exzizt, thank you for reaching us.
The feature has been already requested, we will probably priorities the issue. I'll give you updates.
Until we work on it, you can easily find Nodejs or Python solutions doing the job ;)

Hello @exzizt, thank you for reaching us.
The feature has been already requested, we will probably priorities the issue. I'll give you updates.
Until we work on it, you can easily find Nodejs or Python solutions doing the job ;)


Handle profile field updates and edge cases

Linked Issue
Resolves #
Summary of Changes

Updated user_routes to handle bio and profile_picture_url updates with proper validation.
Enhanced UserUpdate schema with stricter validation logic.
Modified UserService.update to handle edge cases for profile fields.
Added tests for profile field updates in API, services, and models.

Testing

All tests passed successfully.
Verified edge cases for invalid bio length and malformed URLs.

Checklist

[x] Code changes are well-documented.
[x] Tests cover the updated functionality.
[x] Linked issue is resolved.

Resolves #8


package.json' does not exist?

I keep getting this error when running node watcher, any idea? why is it searching for this file under app folder?
$ node watcher

NativeScript LiveEdit Watcher v0.13
(c)2015, 2016, Master Technology.  www.master-technology.com
Watching your project: com.abc.yxz
remote object '/data/data/com.abc.yxz/files/./app/package.json' does not exist
Error: remote object '/data/data/com.abc.yxz/files/./app/package.json' does not exist
86

Have you done a "tns run android" or "tns run android --emulator" first to install the app on the device.  The app needs to be installed at least once before liveedit can do anything.

Yes, the app was running after a tns run android, then I opened another terminal and navigated to the root folder of the app and tried to run the npm whatcher,  or should I do this:

Tns run android
Ctrl C
Npm whatcher
?

Maybe I should try that, I had to uninstall the plugin so right now I cannot tell if that works.

After you do a tns run android the app actually starts up correct?
Then you can either cancel the run command; or you can open another console and then start the watcher.

Well, seems like it works with a brand new app, kind of, with the brand new app it syncs css, xml and "code-behind", but not ViewModel changes, until I make a modification to the code-behind then it reflects the VM code changes.
For my existing App, it does not work at all, I see this message:
Checking updated file:  ./app/views/login/lo.xml
Pushed to Device:  ./app/views/login/lo.xml /data/local/tmp/com.abc.abc/views%2Flogin%2Flo%2Exml
But never see the xml changes (just a label with different text)... I guess I need to isolate the problem with this existing app, something is making noise to your plugin I think.
Also, I see the error "...package.json' does not exist..." on both apps, the new one and the existing one, maybe this error does not matter...

Daxito,
If you want it to show Modal changes; you have to tell LiveEdit about which page the modal belongs to by using the addModelPageLink(Page, Model) command.  Otherwise it reloads the modal; but because the page never resets you don't see the changes.
As for your packages.json issue; is this a real device or on a emulator?

Go it, ok, well, then it works, but I just see that harmless  message about the package.json, it is a real device, I guess we can close this ticket then, we can reopen if needed.


Add Argument to the Storage Class to allow a specified msgpack library to be called.

This is an enhancement.
Use this:
"Hint
All arguments except for the storage argument are forwarded to the underlying storage. For the JSON storage you can use this to pass additional keyword arguments to Python’s json.dump(...) method."

https://github.com/alshapton/TinyMP/releases/tag/1.0.0-Beta3 Addressed this


Use cds-alert

What this PR does / why we need it:

Uses cds-alert for alerts.
Refactors alert banners to use shared alert component

Which issue(s) this PR fixes

Fixes #2303

This is really cool, but we need a way to document and showcase it, so adding one or two storybook stories would be helpful.

The storybook alert should be under its own group rather than adding alerts to every relevant component in storybook. (e.g. show a summary and/or modal with alert under the Alert component)

The storybook alert should be under its own group rather than adding alerts to every relevant component in storybook. (e.g. show a summary and/or modal with alert under the Alert component)

@GuessWhoSamFoo  Since alert component is not exported as official Octant component, I thought just adding the alerts to stories that use it in practice would be sufficient?


Issue with Dark Mode Styles After Upgrading to Tailwind CSS v3.4.0

Upon upgrading to Tailwind CSS v3.4.0 in a NativeWind project, there is a noticeable issue where the dark mode style modifiers fail to function. This problem specifically occurs with the new version of Tailwind CSS, impacting the application of conditional dark mode styles.
To Reproduce
Steps to reproduce the behavior:

Set up a NativeWind project with nativewind version 4.0.16.
Upgrade Tailwind CSS to version 3.4.0.
Configure dark mode in the application to apply styles using the class method.
Implement a component with distinct styles for dark mode. Example code:return function Test() {
  return (
    <View className="bg-red-500 dark:bg-blue-500">
      <Text>Hello!</Text>
    </View>
  );
}

Expected behavior
The component should display a blue background (dark:bg-blue-500) in dark mode.
Actual Behavior
The component maintains the red background (bg-red-500) irrespective of dark mode activation, indicating a failure in applying the dark mode-specific styles.
Additional context
This styling issue was not present before updating to Tailwind CSS v3.4.0.

Please provide a full reproduction. This could be caused by a number of reasons and there is not enough information here for me to provide you an explanation.

Maybe this has something to do with it
https://github.com/tailwindlabs/tailwindcss/pull/12584

After upgrading tailwindcss to v3.4.1 the issue has been resolved I think they rolled back to the old behavior of applying the dark mode (#12717)


Completed tasks should not be removed from the cache

Hello,
This is in continuation of #2925
Completed tasks should most probably not get garbage collected, as that destroys their precious state, as well the assumption that a task with the same significant parameters is the same object.
The complete() method can potentially be quite expensive to compute, anda completed task may also have valuable information which was computed and stored as state.
TaskProcess.run checks the completion of deps right before running the task, so a new empty instance is always created right after termination, and forcing complete to be evaluated again from scratch. If the completion persistence check is done using the network, that is simply doubles requests.
My recommendation is to keep completed tasks until the end of all tasks. That should improve performance significantly and simplify the programming model.

I believe one of the principles of luigi is that you don't depend on temporary states (that could be garbage collected, for instance). That's why most Tasks have complete states that are written to either a file or a database.

Hello. Some temporary state is unavoidable. May it be a principle or just something to be desired, it is clear that the task register does not respect its fundamental principle (task_register.py line 46):

1. Cache instances of objects so that eg. ``X(1, 2, 3)`` always returns the
   same object.

I suspect that a lot of code depends implicitily on this behaviour, as it is central to Luigi. Fixing it will even improve performance in many unexpected places, for example it will not check twice for completion of a AWS task.

anda completed task may also have valuable information which was computed and stored as state

I imagine one way to think in the luigi model (which I understand doesn't work well everywhere) for this situation could be to (a) Let the end of your task write this "state" to whatever globally accessible state in a .COMPLETE/.MARKER file or something. Would that be possible?
As for TaskRegister I think we implicitly meant that it's for withon one Python process :)

Let the end of your task write this "state" to whatever globally accessible state in a .COMPLETE/.MARKER file or something. Would that be possible?

Sure it is possible, that's how we are using it. But if there are many dependencies for any task (think 1000 tasks or files), those will need to be checked twice for any task, one in normal usage, and then again after the task is discarded from memory. It is twice slower and more complex for no good reason.

Hello,
Just to to revive this issue and summarize the problem:
task register does not respect its own fundamental principle (task_register.py line 46):

Cache instances of objects so that eg. X(1, 2, 3) always returns the
same object.

This has:
a. correctness implications (because a task may be resurrected and executed twice)
b. performance implications (because its status will be computed at least twice, which may be expensive and the status has always to be persisted).
c. complexity implications - status has to be persisted and perhaps broken in multiple parts (as Tarrasch suggested here https://github.com/spotify/luigi/issues/2935#issuecomment-636354983)
Fixing this bug will automatically improve performance for workflows with many tasks or with remote tasks.
Thanks!


Remove NGHTTP2_CONTINUATION

Although nghttp2 API lists NGHTTP2_CONTINUATION in nghttp2_frame_type,
it won't be passed to any callbacks.  This is because the library
processes preceding HEADERS/PUSH_RPOMISE and following CONTINUATION
frames as single frame.

Thanks for the clarification and the pull request. Will merge it in.


R2.0 fastforward branch.

Could you resolve the conflicts?

This is a fastforward of the release branch, cla OK


ui-validate-watch should allow deep watch of model object

$watch has an optional third parameter, objectEquality, which specifies whether to "Compare object for equality rather than for reference". ui-validate-watch should provide a way to set this to support more complicated validation scenarios.

UI.Utils modules was split in individuals repositories. If still valid, please consider re-submitting on its dedicated repository: https://github.com/angular-ui/ui-validate
See the README for details.


Type class including a module is not a superset of it.

A type class, including a given module, is not considered to be a superset of it.
To say differently, a type S including a module M is not considered to be a M.class:
module M
end

struct S
  include M
end

p S.is_a? M.class #=> false

# Works with instances
p S.new.is_a? M #=> true

# Workaround
def check_m(t : M.class) : Bool
  true
end

def check_m(t) : Bool
  false
end

p check_m ary S #=> true

A workaround is to use methods, one which restricts to the module type, and an other with no type restrictions.

Note that when I mentioned this in gitter I meant it something that is like that and it makes sense for it work work like that (at least with Ruby semantics). There's nothing broken here.

Maybe... then having a better way to do this, but this might be not worth it if this is a rare edge case.

This is expected behavior.
S is a subclass of M with include.
S is a M with extend.
I recommend closing.

And the overload matches M.class because... M is an ancestor of S and M.class behaves a bit different than is_a?
We can keep this open to see if we want to change something of this.

@oprypin is right, extend is the thing to use. Ididn't know abstact def was becoming a class method to implement by using extend.
This following behavior is not documented:
module A
  abstract def m
end

struct B
  extend A
  def self.m
  end
end

# Would be more intuitive to have met(a : A.class)
def met(a : A)
  pp a
  a.m
end

met B

I would be very glad if someone explains this to me, the reasoning behind this behavior :slightly_smiling_face:


Update to IOTSS Beid

updates and fixes to BEID
updates to other cores to allow for new functionality

Please rebase this pull request (your branch on top of master, there are conflicts).
Can you clean the git log ? I can't distinguish which one are updates to the files and which one are updates of the branch (besides merge commits there?),


Prevent deferred queue from growing

This PR addresses an issue related to deferred queue grow.

The first patch reverts a commit (62b00e22ebdc) that attempted to use the URL argument as a key for deferred requests. The revert is necessary because the original commit introduced more problems than it solved, particularly with the RemoveDeferred() function, which was not covered at all. A better solution for handling deferred requests will follow.

The second patch introduces separate deferred contexts for LOC and controller requests. This prevents conflicts where deferred items for different URLs could override each other, ensuring that requests to both destinations are reached.

The second patch fixes the issue of a growing deferred queue by ensuring proper merging of deferred requests. Previously, new requests added during queue processing were not properly merged, leading to queue growth (reported by @milan-zededa). The patch ensures that new requests are merged by key, maintaining the queue size.

Ps. PRs to stable branches will follow in a couple of days.
cc: @milan-zededa

Why doesn't the build workflow run for this PR?

LGTM

Unfortunately we run out of docker pulls for the day so tests are mostly failing now.
However, we would like to make a new EVE release and have this patch included, so I propose to merge this.

@milan-zededa do you want to release Eden with docker login? It should reduce this timeouts occurrence ?

@milan-zededa do you want to release Eden with docker login? It should reduce this timeouts occurrence ?

Yes, let's do it. Are you able to set docker login/password in the eve repository?

It's already there, we have it for publishing. The only problem would be that most likely testing time will increase because we will be running on specified Pinned runners

@milan-zededa https://github.com/lf-edge/eve/pull/4041


Use rustfmt for Rust sources

Is your feature request related to a problem? Please describe.
Right now IntelliJ IDEA is using an internal formatter engine for Rust code, which doesn't produce the same output as the standard rustfmt utility provided by Rust. This is problematic because if multiple developers working on code use different automatic re-formatters, this will increase formatting-related commit noise instead of getting rid of it. See this issue for my views on the topic.
Describe the solution you'd like
Right now it's unclear whether JetBrains will embrace or push rustfmt more. I really like having my code re-formatted on save (hence my use of this plugin), but when I'm writing Rust code I need it to be done with the rustfmt tool, not the IntelliJ formatter.
It would be great if Save Actions added an option (or even just defaulted) to use rustfmt for Rust code, instead of the homemade IntelliJ formatter. The same should be done for other languages with a default, sanctioned formatting tool, eg. gofmt for Go code, etc.
Describe alternatives you've considered
I have raised the issue with the IntelliJ Rust plugin developers, as linked above, and I'm waiting for a reply.

Hey @tobia, can you try the next version of the plugin and tell me if it works for you? Details are in #118.
You can download this file, and add it to intellij: Save Actions-1.4.0-RC5.zip. Then, setup a "quick list" that calls rustfmt, then setup save actions to call that quick list on save.

Duplicates #118


V2020.11.14

getting close to merging with the goal being green tests (adding tests is good) and the working binder.

[ ] generate setup.cfg, and setup.py

https://github.com/embray/setup.cfg#usage
https://stackoverflow.com/questions/48884796/how-to-setup-entry-points-in-setup-cfg

[ ] use flakehell for linting

[ ] convert the cli to a web app

[ ] raise errors when long running fails

[ ] generate _toc.yml from the existing files in the repo.

[ ] turn on the flags.

nice to have

[ ] tox for testing; generate tox.ini. it is useful because we can test building the different installers like setuptools, poetry, flit.

works on windows, linux, mac and binder


Fix | Cart item responsiveness issue#135

Resolved issue #135 where longer names were not displaying correctly. Additionally, updated the appearance of the increase/decrease quantity button.
https://github.com/Anushkabh/krishiconnect/assets/110047194/54244e1c-7ac5-4974-88f0-f1e18d54dde8

Resolve the conflicts

Hey @Anushkabh, I have resolved the conflict and have tested at my end. Kindly check.

Hey @Anushkabh, Is there anything else do  I need to do?

Fixes #135


Train Station block error

Description
I encountered a game crash and could not load the world when I used a computer to execute assemble() or disassemble() on a Train Station block to assemble or disassemble trains.
This error prevents worlds from mineservers from being able to join
To Reproduce
Steps to reproduce the behavior:

join multiplayer game
Place a Train Station block
Connect it to a computer
Run command assemble() or disassemble() on the Train Station block
See error

Expected behavior
I expected the Train Station block to work normally and allow me to assemble or disassemble trains without crashing the game or preventing me from loading the world.
Software (please complete the following information):

Minecraft Version 1.19.2
Mod Version 1.4.1
ModLoader Fabric 0.14.14
Create Mod Version 0.5g-796
CC: Restitched Mod Version 1.101.2

The above content is translated by Google Translate

By the way this error is not guaranteed to occur

Thanks for the bug report. What error message do you get? Can you maybe upload the logs too from the moment it happened?

To make sure : is at the Train Station a Train or isn't there one ?

There are trains at the railway station, and they have stopped at the station.
2023-03-09-4.log.gz
2023-03-09-5.log.gz
2023-03-09-1.log.gz
2023-03-09-2.log.gz
2023-03-09-3.log.gz
This is the server's log for the day
crash-2023-03-09_20.16.09-client.txt
crash-2023-03-09_19.25.02-client.txt
This is the client crash record
2023-03-09-1.log.gz
2023-03-09-2.log.gz
2023-03-09-3.log.gz
2023-03-09-4.log.gz
2023-03-09-5.log.gz
2023-03-09-6.log.gz
This is the client's log for the day
Sorry the log might be a bit much because I forgot when it happened

Thanks for the Provided information.
I am going to get that fixed and hopefully it's in the next update.

This issue also happened on my server running forge. It was a while ago so I don't think I have the logs anymore but it appeared that the crash had to do with the render engine. The crash happened with oculus + rubidium and without. I was able to recover the world by teleporting the player away from the train from the server console. Then the client could use "/create trains" to view and remove the bugged train.

To the Last point : Was this with the newest version of CC:C Bridge or an older one?

This issue also happened on my server running forge. It was a while ago so I don't think I have the logs anymore but it appeared that the crash had to do with the render engine. The crash happened with oculus + rubidium and without. I was able to recover the world by teleporting the player away from the train from the server console. Then the client could use "/create trains" to view and remove the bugged train.

That is weird. We have nothing to do with the rendering engine, we didn't modify any of it.

To the Last point : Was this with the newest version of CC:C Bridge or an older one?

CC:C Bridge 1.4.1

Have you tried only using the necessary mods for cccbridge?

I'm also having this issue - it appears that the bug happens only when the train has a blaze burner attached.
Crash Report

Hi, i tried fixxing it could you try using this version ->
JarFiles.zip

This does fix the crash, but loses the train station as a peripheral (´。＿。｀)

Wait, what? When I tested It worked ... Huh. Unfortunately I'll am on vacation for 2 Weeks now so I'll look into it again when I'm back

Hello again, because the Train assembly and disassembly was taken care of by Create Themselves all our colliding functions will be replaced by theirs but that does not mean we are not adding additional functions to it in the future.
Kind Regards Luke.

Closed (removed function(implemented by Create themselves))


feat: fixed_base::msm_par handles identity point

We still require fixed base points to be non-identity, but now handle the case when scalars may be zero or the final MSM value is identity point.

I deleted fixed_base::msm to reduce total amount of code. Should just always use fixed_base::msm_par.


Merge chanes to master

Take the latest changes from 1.7 to master in a preparation for 2.0

@amnonh why was master behind  1.7?
Can you point to the relevant PR?


RefreshOnActivate in "Assembly Orders" page (902)

We have extended the page "Assembly Orders" with the property StyleExpr in some fields, to print different styles depending some status. Similar than the Status of the "Sales Order List".
But in some cases if we enter into the card, change something and return to the list, the style is not correctly updated.
We request to add the property RefreshOnActivate = true; in page 902 "Assembly Orders" as it works for example in the page 9305 "Sales Order List", because we cannot update this property in the PageExtension.

Duplicate of #17516


luci-app-usteer: added nslookup of AP name

added nslookup of AP name

if anybody can test, that would be great

Tested but it seems not to work if I enable to use IPv6 in the config.
I have observed that the Hosts variable contains both, the IPv4 and the IPv6 of the hosts, for example, this are my two APs:

Maybe you can search for the IP at the Hosts variable?

I actually did not test IPv6. Seems the issue is that it uses a link local address, which does not appear to resolve with an nslookup. I can manually search the hosthints but well that is kinda inefficients if there is a large list... So hmmm

It's not similar to the search for mac, ip, name, etc. of each device?

All the other lookups are just indexed by mac address. Another issue is that  all the link local addresses of the other APs are only available on the router (at least not on my setup), while the IPv4 can be made availble elsewhere via dnsmasq. So im not sure how to proceed. I could do the one for IPv4 and the other for IPv6 i suppose

To be honest I dont know if that is a problem, not in my setup, but not sure how it scales... Anyway I added a search in the hosthints. Give it a try

Give it a try

Working perfectly!! In my case only two APs, and about 15 devices in hearing map, so I can't speak about performance. It works fast in my case.
Maybe some people want to have the MAC too, not only the name. To me is enough like it is now, but only a suggestion.

I suppose in the worst case, if someone complains for performance, exists the possibility to add a check in the hearing tab. When checked, do the translation, if not let the mac alone.

about 15 devices in hearing map
Its about the amount of APs times the amount of IP address in the host hints. Anyway, the way it is implemented now is that it only does it one time the page is loaded, not every refresh. So I think it should be fine.

@Ramon00 I think you have closed this by mistake?

@systemcrash Could you do a review of the code and merge if ok?

I don't use usteer, but the code largely looks acceptable. @McGiverGim seems to verify its stability.
Performance we can iterate on.

So while I'm not a big fan of global variables like var dns_cache = [];, the only other way around it is variable passing. Not a deal breaker. Everything works for you as intended, yes?

yes everything works as intended

OK - thank you :)

@systemcrash  And thank you :)


Updated Color Palette

[x] I have followed (at least) the PR section of the contributing guide.

Added 3 colors, including deepGreen, deepRed, and lightPurple.

@evanbrooks0629 where are these color pallets coming from? The colors we have are the ones defined in the spec: https://m2.material.io/design/color/the-color-system.html#tools-for-picking-colors


function calls with ?.  throw  TypeError

Related to #350
console.log(adventurer.someNonExistentMethod?.());
/*
expected output: undefined
goja:
   panic: TypeError: Object has no member 'someNonExistentMethod' at ...
*/

Thanks for reporting!


Deprecation of ratelimiter and Python 3.11 error

Per https://github.com/RazerM/ratelimiter/issues/17, ratelimiter is looking for maintainers. The current maintainer recommends using rush instead. This migration is of particular importance since aprsd does not work with Python 3.11 due to https://github.com/RazerM/ratelimiter/issues/18.

thanks for the heads up i will look into it.

I have replaced ratelimiter with rush.   Give it a shot from the master branch.


ModulesService#getVersionHostname causes pipelines to fail often

Hi,
we are seeing a number of cases where Pipelines seem to die because their tasks fail (and thus hit the max failuires in the queue). The main offender seems to be calls to ModulesService#getVersionHostname, which are done for each task instead of being set pipeline-wide.
Seems like a similar change (i.e. calling once per pipeline) has been implemented in mapreduce2 already.
We are using the Java version.

Good idea. It's probably also worth calling it from retry helper.
Feel free to send a pull request.


Support for highlighting language-mathematica in the markdown file

language-mathematica
Thanks for your work!

Done. I plan to publish an update this weekend.

Would you mind looking up a good example of some Mathematica code for me? I'd like to add support for it to my syntax-themes.

I'd like to, but what do you mean by "a good example of some Mathematica code"? Could you explain it?

A sample that shows the diversity of what one might encounter in real life. That way I get an idea of what type of elements are part of the syntax (I've looked at the docs, but without examples it's not an easy read for this purpose) and how best to style them.

Generally, the own editor of Mathematica does not provide too much highlighting (right one in the figure), while the package of atom language-mathematica provides more (left one).

Maybe you can just use the syntax highlight of language-mathematica. If you want to do it from beginning, the following two links maybe also help:

Wolfram Language Syntax
Overview Of Mathematica Syntax

Thanks, I believe that's enough.
And yep, I'm simply including language-mathematica when it's requested. Seems a bit overkill to write another grammar parser myself ; )

Update is published!


Move feat from %sqlrender to %sqlcmd snippets

Describe your changes
Moved %sqlrender feature to %sqlcmd snippets, added FutureWarning when user call %sqlrender, modified API Reference documentation, and modified test functions to test %sqlcmd snippets {snippet_name}
Issue number
Closes #647
Checklist before requesting a review

[x] Performed a self-review of my code
[x] Formatted my code with pkgmt format
[x] Added tests (when necessary).
[x] Added docstring documentation and update the changelog (when needed)

:books: Documentation preview :books:: https://jupysql--656.org.readthedocs.build/en/656/

Added some comments. Few other observations:

There are places in the docs where we use sqlrender,e.g., cte. I think we should replace those as well.
Please resolve merge conflicts

1. There are places in the docs where we use sqlrender,e.g., cte. I think we should replace those as well.

I was thinking about replacing %sqlrender with %sqlcmd snippets with a separate PR, but if you think it works better with one PR, I will add those changes to this PR.

I was thinking about replacing %sqlrender with %sqlcmd snippets with a separate PR, but if you think it works better with one PR, I will add those changes to this PR.

yes, please tackle documentation changes here. usually whenever we modify a feature, the PR that changes the feature also updates the docs.

@bbeat2782: we just merged https://github.com/ploomber/jupysql/pull/654 which moved the implementation of %sqlcmd to separate files (same logic, just re-organized in different files). this is causing merge conflicts. check if you can fix them. otherwise it might be better to branch from master and apply your changes manually to the new files

Only those with write access to this repository can merge pull requests.

@edublancas it says src/sql/sqlcmd.py is the conflicting file but the Resolve conflicts button is disabled from my side with a message saying "Only those with write access to this repository can merge pull requests."
So it seems like I would have to apply the changes I made manually.

@edublancas it says src/sql/sqlcmd.py is the conflicting file but the Resolve conflicts button is disabled from my side with a message saying "Only those with write access to this repository can merge pull requests."

I think you'll be able to do it from the CLI, but yeah feel free to do it manually (create a new branch from master and then apply your changes)


Split get_terrain_vert_pos() into valid and get_vpos

So we don't have to use dummy variables to check if terrain is valid

This PR is generating the following compile error when building with PX4/Firmware master. It should not have been merged without the corresponding compatibility changes on the PX4/Firmware side of the interface.
/Users/paul/src/Firmware/src/modules/ekf2/ekf2_main.cpp: In member function 'virtual void Ekf2::run()':
/Users/paul/src/Firmware/src/modules/ekf2/ekf2_main.cpp:936:27: error: void value not ignored as it ought to be
lpos.dist_bottom_valid = _ekf.get_terrain_vert_pos(&terrain_vpos);
I am reverting it until the required PX4/Firmware changes have been submitted.

https://github.com/PX4/Firmware/pull/7585 they are already here

Then they should be linked.


Option to crash when there's more than one service pointing to same hostname

Sometimes I copy a project and forget to update the host name. Would be nice to have external DNS to crash or something similar, so that I know I messed up things.
Just in case of confusion, this is the hostname I am talking about:
  annotations:
    external-dns.alpha.kubernetes.io/hostname: nginx.external-dns-test.gcp.zalan.do.

I think crashing here is an overkill, just logging such cases should be good enough (if it is not done already)


Add AzureB2C component

I think an AzureB2C component makes a lot of sense. this can than be handed over to the service with the WithReference and can be use with AddAuthtication. so basically this would create an b2c tenant on azure, create the appropriate app registraions and set all the needed configuraion like clientId, tenantId, policy names etc.
setting up b2c the correct way is often a pain a lot devs struggle with that. we could also add support for custom policies and if someone has a custom ui for b2c on another (react, blazor) project this could also setup the right setup for the identity framework experience files.
this could be bigger feature and might need some time planning beforehand.

This is out of scope for v1.

I'd like to contribute this and I understand, that it is out of scope for v1 and that's a good thing, it gives me time to get this right.

Sure feel free to start tackling it!


Increase mem limit of single-HCD set up from 2 to 3 gigs; DSEx3 to 2.5 gigs per node

What this PR does:
Increases max mem for HCD-backed single node cluster
Which issue(s) this PR fixes:
N/A
Checklist

[x] Changes manually tested
[ ] Automated Tests added/updated
[ ] Documentation added/updated
[x] CLA Signed: DataStax CLA

Should we also update the docker-compose/README to state minimum resources required for Docker Desktop to run these configurations?

Should we also update the docker-compose/README to state minimum resources required for Docker Desktop to run these configurations?

@jeffreyscarpenter added notes -- WDYT?


This project is great!

I hope to continue to update and adapt to the latest version of x-plane

Thank you for your comment!
I will do my best to keep the project updated.
You can always subscribe to newer DataRefs even if they are still not been added "officially".

I have a problem now. The connection will break after a long time.

Are you receiving and excption from the connector?
In that case, could you send me the Exception Message and StackTrace?
I will soon improve the log event to trace errors.


Auth+API+DataStore: 100 subscriptions reached on initial login

Describe the bug
Fresh installed app (either first install or delete and re-install) with user not logged in. When they succeed in logging in the sync does not run and they see none of the expected data from the cloud. Quitting the app and restarting it results in the sync running and the expected data being displayed.
During the post-login sync failure two things are observed in the app's console logs:

WebsocketDidReceiveMessage - {"id":"98357524-4A4B-48A3-BDF0-88BE6EBC7039","type":"error","payload":{"errors":{"errorType":"MaxSubscriptionsReachedError","message":"Max number of 100 subscriptions reached"}}}
Hundreds and hundreds of lines of console log with: "Start subscription"

This problem (failure to sync after first login) was an issue for us in Amplify 1.3 but the two logs mentioned above are new in 1.4. Prior to the user logging in there are numerous cycles in the logs of the sync engine attempting to subscribe to the Webhooks, failing due to connection error (because they're not authorised) and then unsubscribing.
To Reproduce
Steps to reproduce the behavior:

Configure Amplify auth, api and datastore
Configure all api entities with @auth
Install and launch app
Monitor logging to see subscribe-connection error-unsubscribe loop
Login to app
Monitor logging to see Start subscription fire hundreds of times and 100 subscriptions reached errors
Note that the sync does not appear to start (new datastore hub messages don't fire at all in this scenario)

Expected behavior

SyncEngine does not attempt to subscribe to @auth entities while auth module is reporting as 'not authenticated'.
When user logs in successfully sync starts and runs to completion, firing datastore hub messages at appropriate times.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment(please complete the following information):

Amplify Framework Version: 1.4.0
Dependency Manager: Cocoapods
Swift Version : 5.0

Device Information (please complete the following information):

Device: Simulator + iPad
iOS Version: iOS 13 + 14
Specific to simulators: No

For context, how many @Model types are in your application? DataStore establishes 3 subscriptions for each model (one each for create, update, and delete mutations), so if things are working as expected, I wouldn't expect to see this error until you hit 34 models.

Hi @petermauger
Sorry that you are experiencing these issues.  I have attempted to summarize your issues, but please let me know if I missed anything.
Issue 1:  Sync engine does not properly behave after a user logs in
Unfortunately, we currently do not expose explicit controls of start and stop of the Sync Engine.  This is something that we are planning to add in the future.
As a workaround, and if it works for your use case, you can do the following:

After a user logs in, call Amplify.DataStore.clear().
Wait for clear() to finish.
Call Amplify.Datastore.query(..).

Note that calling Amplify.DataStore.clear() will delete the locally saved database, and put the sync engine into a reset (or inactive) state which is not actively attempting to connect to the AppSync backend.  Calling Amplify.Datastore.query(..) will reinitialize the sync engine and should reconnect the subscription connections.
Issue 2: Max number of 100 subscriptions reached
We've looked into this issue, and it seems that there was a regression that is part of the 1.4.0 release, which makes the remote sync engine unstable if subscriptions fail to connect when starting the app.  In this case, subscriptions calls are failing because the user is unauthenticated, and then the sync engine gets into an unstable state.
This PR should resolve the case where we are issuing too many "Start subscription" messages.
https://github.com/aws-amplify/amplify-ios/pull/889
Issue 3: Expectation is that the sync engine does not attempt to subscribe for @auth entities while auth module is not authenticated
Unfortunately, this is not the current expected behavior.  We have taken an approach to make an attempt to authorize with the backend, and handle errors authorization errors appropriately rather than pre-emptively decide to make a request or not.  This is currently the behavior across all of our platforms, but I will take this back to our internal working group to discuss this behavior and brainstorm around how to alter the design that is in alignment with future plans for the product.

Our issue has been resolved by 1.4.3 release


Calculating fibonacci numbers concurrently in python

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #6701

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

Plagiarism check complete

Hey @samkanoi 👋
Welcome to Section -EngEd.
Happy to have you here.
I can't see your author info. Please got through the uploading.md file again for instructions on how to put up your own page.
Regards.

Hey @samkanoi 👋
Just checking up on you. Do you need some help?
Regards.


Must remount after reboot

Dear ocamlfuse devs.
I am happy I have found you solution to mount google drive on Linux. However whenever I shut down, I must remount the drive. Is there any way, I don't have to do this every time?
Best regards Jacob

Check the wiki: https://github.com/astrada/google-drive-ocamlfuse/wiki/Automounting

Helle Astrada
Thank you very much for your link, I am sorry I did not find it myself. However I tried doing the script thingie, and it did not automount on start-up, and now I am unfortunately stuck with a folder named "Google_Drive" which I cannot mount to or delete.
Even if i try "sudo rm -rf Google_Drive" it says "rm: cannot remove 'Google_Drive': is a directory". I have no idea, what to do with it.
Do you have any suggestions?
Best regards Jacob

If you can't remove it, it's probably still mounted. So before deleting, you should try to unmount it with fusermount -u MOUNTPOINT. Then, you should check if you still have some process named google-drive-ocamlfuse and kill it.

Hello Astrada
That worked splendidly.
Now in order to use the automount function, should I use ocamlfuse (the first guide) and set the mount point before I follow the automount guide?
Best regards Jacob

You don't need to mount before following automount guide (you mount your Drive as the last step of the guide).

I think it's difficult to clarify all those path issue, so I just automount the drive with cron:
add following line in your crontab (use your user's cron job, NOT su...)
crontab -e
add following line anywhere in crontab
@reboot sleep 100 && . /home/$USER/.opam/opam-init/init.sh && google-drive-ocamlfuse -label $LABEL ~/$MOUNTPOINT
don't forget change $USER to your username, $LABEL to your label and $MOUNTPOINT to your mount path
The sleep 100 is not mandatory but it works for me.


performance issue with outgoing http calls

Occasionally a outbound http call will be 5s.  While it should be <400 ms on average.  It appears to be OS related by unit testing on using the shell.  Appears to lag in the domain name lookup.
  Added BIND9 to server for DNS caching.


Torch 2.3.1 Upgrade

What does this PR do?
Bumps to torch 2.3.1. Removes monkeypatches which have been upstreamed.
Regressions pass: composer-regression-tests-runner-b2N9SB

This breaks gpu tests. _verify_options is only defined if torch < 2.3.1, but we monkeypatch _verify_options for 2.3.1


Authentication for everyone?

when i log in on my computer it seems that everyone that's using the map is authenticated also
I have this map for my city and many others use it now and it keeps authenticated bc they keep it open? Authenticated for hours now
Already deleted the server configuration links but everyone can put new points and delete them

If you didn't set a password, everyone is authenticated by default. Otherwise this shouldn't be happening. Keep in mind, that the UI-label in the sidebar only updates if you do a full page refresh, so the auth-info might be out-of-date, any calls that need auth will be rejected though.


Should Checkpoint save history as well?

Continuation of the discussion in #246.
I think the points can be summarized to

should there be a save_history parameter
should we support pickling the whole model instead of using save_* methods (which consequently includes the history)
should we introduce a second target parameter for the history, e.g. history_target and params_target
should we find a better name for target

I think that saving the history alongside the model is a good idea, so yes to (1). Having the additional ability to use pickle for checkpointing via (2) sounds like a good idea but I'm not yet convinced where this feature makes life easier for the user, it would be nice to have an usage example that demonstrates the benefit of this feature. For (3) I would argue that we can re-use the existing parameter, e.g. strip the folder (if any) and append a static file name or append a .history suffix to the whatever is stored in target. Regarding (4) I think that something akin to path is a better choice but I don't have a strong opinion here.

Then it's decided
First it can be a matter of convenience. Second, the code that loads the model may not care for whether it's a skorch NeuralNet or a completely different sklearn model. In that case, pickle would work but save/load_params would be useless.
I agree we could do it like that but this is a little bit less flexible.
We could try to be consistent with our existing code, i.e. use f. That name is not great in itself, but conforms to PyTorch.

1, 3, 4. history_target can be used define a path and configure Checkpoint to save the history. params_target is a good name in the context of Checkpoint since it is saving model parameters.

I think pickling the whole NeuralNet  object would make the model less portable. Current, after a user is done training a model in skorch, they easily move their module and parameters to another environment.

I'm not too keen on the *_target names, is there a precedent for this?

It is not necessarily a path but possibly a file-like object. It denotes in every case the thing data is written to, i.e. the target destination of the checkpoint callback.

Yes, it's a path or file-like, but PyTorch (and, as an extension, skorch.NeuralNet.save_params) calls this variable f. Granted, f is not the best variable name (though there is the convention of with open(...) as f:), but neither is target. When in doubt, I would opt for consistency.

Consider the following API:
class Checkpoint(Callback):
    ...
    def __init__(
            self,
            f='',
            target_f='params.pt',
            history_f='history.json',
            monitor='valid_loss_best',
            sink=print,
    ):

f denotes the file of the pickled NeuralNet. By default, it is not pickled. What do you think?

@ottonemo  your original suggestion

For (3) I would argue that we can re-use the existing parameter, e.g. strip the folder (if any) and append a static file name or append a .history suffix to the whatever is stored in target.

does not account for the use case that you brought up later:

It is not necessarily a path but possibly a file-like object. It denotes in every case the thing data is written to, i.e. the target destination of the checkpoint callback.

If the target argument (or whatever its name will be) can be a file-like object, then we can not automatically derive a name for the history file from it.
Thus unless we are willing to drop support for file-like objects, it seems we have to have three separate arguments as Thomas proposed.

What about
class Checkpoint(Callback):
    ...
    def __init__(
            self,
            target_f='params.pt',
            pickle_f=None,
            history_f=None,
            monitor='valid_loss_best',
            sink=print,
    ):

In that case we would support saving all three together and setting one of the parameters to None disables that functionality. This enables users to store all three formats separately (for whatever reason) but gives the flexibility to choose the format.

Even though it's not super elegant, this is probably the most pragmatic solution. I agree that None is more explicit in meaning "don't save this" than '', though the latter should also not save.
Regarding the naming, I slightly prefer f_* instead of *_f because if sorted, similar arguments are next to one another. And I still don't like target, why not params like in save_params?

Same here, I think params is more consistent:
class Checkpoint(Callback):
    ...
    def __init__(
            self,
            f_params='params.pt',
            f_history=None,
            f_pickle=None,
            monitor='valid_loss_best',
            sink=noop,
    ):

This indeed is not too elegant, and saving both params/history to a custom directory (my use-case) is more verbose than I'd like it to be:
callbacks.append(Checkpoint(f_params=(logdir / "model.pt"), f_history=(logdir / "history.json"))

This becomes even longer if template names are used. Of course, we can add one more argument for base directory and automatically prepend it when f_* parameters are relative paths. And also accept f_* parameters to be True, in which case a default filename is used. Then something like this will be possible:
callbacks.append(Checkpoint(f_params=True, f_history=True, base_dir=logdir)

However I'd totally understand if you call this is overengineering :)

is more verbose than I'd like it to be

Tbh, I don't even think this is too verbose.

However I'd totally understand if you call this is overengineering :)

I would really not introduce yet another parameter.
There is another way to do this that only requires one parameter, I'm putting it out here for discussion. What about only having one parameter that is a callable that receives the net instance as argument (a callback in a callback). Then you could do things like:
def on_checkpoint(net, logdir='./'):
    net.save_params(logdir + 'model.pt')
    net.save_history(logdir + 'model.history')
    with open(logdir + 'model.pkl') as f:
        pickle.dump(net, f)

This suggestion may even cover use cases that are not related to saving parameters. We could provide helper functions for the most common use case. But it is more complex than the other solutions.

This suggestion may even cover use cases that are not related to saving parameters. We could provide helper functions for the most common use case. But it is more complex than the other solutions.

It is too complex for my taste. The result would be the that the user needs to plug together a checkpoint callback from utility functions which sounds nonintuitive to me. In that case it would probably better to have a checkpoint base class and to create subclasses for the most common use cases. That'd be more idiomatic wrt python as well.
But in the end I'm not sure whether this is worth it at all.

@ottonemo  your last idea sounds in line with what you wrote before:

In any case we should refactor Checkpoint in a way that makes extending its functionality easier (i.e. if I want to support my own protocol I should probably just need to inherit from Checkpoint and override one or two short functions).

So what's the conclusion?

In my opinion we should adopt the three parameter solution while refactoring the model saving part into separate methods so that it is easy to extend the checkpoint callback if necessary.

Resolved by merging #296.


[WIP] GNOME/KDE-style Icon

Icon design with "canvas" and compass. Compass is taken from Tango and completely unmodified as of yet. Again, this is an extremely rough mockup.

Here's a much simpler version that's just cropped (to one of the GNOME template outlines), extruded (to suggest a canvas painting), and subtly shaded with a diagonal gradient:

Here's a much simpler version that's just cropped (to one of the GNOME template outlines), extruded (to suggest a canvas painting), and subtly shaded with a diagonal gradient:


Not working on 14.1.2

it doesn't work with Xenoblade2 on firmware 14.1.2+SysDVR 5.3.1, please fix it asap, thanks very much~~

reboot system


Research BugSnag alternatives

BugSnag deletes bug data after 60 days and has an infinite hang bug that's been unresolved since Nov 2019.
https://github.com/bugsnag/bugsnag-java/issues/151
Let's research BugSnag alternatives to track Flank errors. Ideally they would preserve the crashlogs for a while and be easy to integrate into a Kotlin based project. The output of this ticket will be a markdown document that contains the analysis of bugsnag alternatives.
See https://github.com/software-platform/monorepo/tree/master/docs for example documents and a template.
If BugSnag looks like the best option at the end of the research task, then we'll continue to use it.

We're pretty invested in BugSnag now. I haven't found a compelling alternative yet!


fix(install): Suggest an alternative version on MSRV failure

What does this PR try to resolve?
Moves users from a bad error message, suggesting --locked which won't do anything, to suggesting a version of a package to use instead.
The side benefit is errors get reported sooner

Before downloading the .crate
When installing multiple packages, before building the first

This comes at the cost of an extra rustc invocation.
How should we test and review this PR?
Per-commit this builds it up, from tests to the final design.
Additional information
This is also written in a way to align fairly well with how we'd likely implement #10903.
This improved error message will still be useful after that issue is resolved when the MSRV compatible version is outside of the version req.

Thanks!
@bors r+

:pushpin: Commit 9b32be7f89485abf5a7ab2df40c074fdc0275956 has been approved by ehuss
It is now in the queue for this repository.

:hourglass: Testing commit 9b32be7f89485abf5a7ab2df40c074fdc0275956 with merge 8ba1c316ee3ea91efc43ffdaa00d3303a51385f3...

:sunny: Test successful - checks-actions
Approved by: ehuss
Pushing 8ba1c316ee3ea91efc43ffdaa00d3303a51385f3 to master...


Recorder skipping initial condition update

Seems that the recorder isn't picking up the Initial Conditions updates.
IS.@record :simulation InitialConditionUpdateEvent(
                Dates.DateTime(1970, 1, 1),
                key,
                ic,
                val,
                0,
            )

Can you confirm that you are enabling this event type?  (It is not enabled by default.)
sim = Simulation(...)
recorders = [:simulation]
build!(sim; recorders = recorders)
execute!(sim)


Use a bare raise so the original exception gets propagated.

With this change I get full stack traces in the logs. Without it the exception appears to originate from the line with raise e.

I thought e would contain the original exception, this goes into unexplored territories for me. How is it different?

Sorry for the delay, our cluster was having a bad day.
Here's a traceback with raise e:
$ ./bin/airflow run dag task.Crash 2015-07-09 --local
Activating the virtualenv.

Logging into: ./logs/dag/task.Crash/2015-07-09T00:00:00
Traceback (most recent call last):
  File "bin/airflow", line 156, in <module>
    args.func(args)
  File "vendor/src/airflow/airflow/bin/cli.py", line 126, in run
    job_id=args.job_id,
  File "vendor/src/airflow/airflow/models.py", line 752, in run
    task_copy.execute(context=self.get_template_context())
  File "vendor/src/airflow/airflow/operators/python_operator.py", line 48, in execute
    return_value = self.python_callable(*self.op_args, **self.op_kwargs)
  File "./tasks/task.py", line 186, in execute
    self.run(context)
  File "./tasks/task.py", line 309, in run
    1 / 0
ZeroDivisionError: integer division or modulo by zero

This only affects what's shown in the airflow run context. The log file shows the proper traceback both times.

For future ref for me :
http://stackoverflow.com/questions/4825234/exception-traceback-is-hidden-if-not-re-raised-immediately
http://nedbatchelder.com/blog/200711/rethrowing_exceptions_in_python.html
Seems reasonable.

Ok, nice.


refactor(semantic): use Comment::attached_to for jsdoc attachment

I can't believe tests passed on my first try 🤔

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#5876  👈
#5875
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Boshen and the rest of your teammates on  Graphite

No linter improvement because semantic builder is not part of its measurement.


Add PHP 5.6, 7.0 and HHVM support to travis tests.

Looks like there are some issues with PHP7 and HHVM.

I'll check it out.

It seems this has to do with the coverage API. The service provider isn't tested and since the service provider requires at least PHP 5.4.7 it fails. Maybe we could drop support for 5.3 and I could help you setup service provider tests?

I could push the updates to #110 if you want?

Is it related to the service provider? PHP 5.3 looks fine on Travis?

I think this should be reverted back until we have green tests.

I added both 7.0 and HHVM to allow_failures. Carbon needs to fix their issues with PHP 7 as well. I will take a look at the HHVM error tonight.

What about PSR-4 on the tests?


Add support for multiple protocol mocks

Remove warnings in OCMockObjectRuntimeTests.m
Add tests in OCMockObjectProtocolMocksTests.m to test new multiple protocol mock
Add new macros to create multi-Protocol mocks with variadic methods

Completes #178.

Executed 119 tests, with 0 failures (0 unexpected) in 1.884 (2.437) seconds

Not sure what's causing the Travis CI failure.

Investigating test failures in what seems to be the OCMockLib tests.

Test failures seem to be caused by va_arg(...) behaving badly when compiled originally for a 64-bit system and then used on a 32-bit system. Not sure if this is a show stopper or not.

This seems to have been superseded by #309. That does have some issues, but this PR also seems to be incomplete at this stage. So, I'm going to close it assuming that we'll get #309 working.


[UI Revamp] Stocks listing page

Expectation

Without changing or with minimum change on functionality, closely align the UI as per Figma

@MehulKChaudhari Please assign this to me.


This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25.

08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:38:53 (-0400)  main  [6/8/2022, 3:38:53 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.
08.06.22 11:49:36 (-0400)  main  [6/8/2022, 3:49:36 PM] [homebridge-kumo] This plugin generated a warning from the characteristic 'Heating Threshold Temperature': characteristic was supplied illegal value: number 25.5 exceeded maximum of 25. See https://homebridge.io/w/JtMGR for more info.

I am also getting this same issue. 25.5 is 78º F and decently reasonable, but this issue seems to partially freeze up all my Kumo interactions from HB.

Sorry for not getting to this sooner. On my home app, I am unable to set the heating threshold above 25 (which is 78). So I can't replicate the error. I can patch the code so if it is set above 25 then it just resets to 25 but it's only a bandaid. @randallpjenkins let me know what you'd prefer

@fjs21 I have 6 units and this will occasionally appear. Can you list which device is generating the error in the log? For those of us with a lot of units or zones, it's insane to see which one is set beyond the max.
This usually occurs when someone uses a remote to manually set a unit beyond the HomeKit maximum setting, which is valid for the unit, but not valid for the Home.app/HomeKit.
I love the idea of a patch to set it to the HomeKit maximum, but I think you need a switch in the plugin setting to set a JSON setting to do this. While this is desirable, I can see where it might not be for everyone.
Does anyone know if setting above 25C/78F will be supported in the future? My mother in law grew up in the tropics and is 88 years old, she often sets hers above the threshold via remote. It's kind of crazy HomeKit doesn't support something that the device does.

@fjs21 I have 6 units and this will occasionally appear. Can you list which device is generating the error in the log? For those of us with a lot of units or zones, it's insane to see which one is set beyond the max.
This usually occurs when someone uses a remote to manually set a unit beyond the HomeKit maximum setting, which is valid for the unit, but not valid for the Home.app/HomeKit.
I love the idea of a patch to set it to the HomeKit maximum, but I think you need a switch in the plugin setting to set a JSON setting to do this. While this is desirable, I can see where it might not be for everyone.
Does anyone know if setting above 25C/78F will be supported in the future? My mother in law grew up in the tropics and is 88 years old, she often sets hers above the threshold via remote. It's kind of crazy HomeKit doesn't support something that the device does.

Homebridge supports up to 38C/100F. https://developers.homebridge.io/#/characteristic/TargetTemperature
Is there a good reference for Kumo Cloud API documentation?

@fjs21 I have 6 units and this will occasionally appear. Can you list which device is generating the error in the log? For those of us with a lot of units or zones, it's insane to see which one is set beyond the max.
This usually occurs when someone uses a remote to manually set a unit beyond the HomeKit maximum setting, which is valid for the unit, but not valid for the Home.app/HomeKit.
I love the idea of a patch to set it to the HomeKit maximum, but I think you need a switch in the plugin setting to set a JSON setting to do this. While this is desirable, I can see where it might not be for everyone.
Does anyone know if setting above 25C/78F will be supported in the future? My mother in law grew up in the tropics and is 88 years old, she often sets hers above the threshold via remote. It's kind of crazy HomeKit doesn't support something that the device does.

Homebridge supports up to 38C/100F. https://developers.homebridge.io/#/characteristic/TargetTemperature Is there a good reference for Kumo Cloud API documentation?

I'm looking, but reference documentation of limits are here (page 35):
http://mylinkdrive.com/viewPdf?srcUrl=http://enter.mehvac.com.s3.amazonaws.com/DAMRoot/Original/10006\kumocloud_2.10_Technician-Manual.pdf

Is there a way to allow the UI/Device to set temperatures beyond these limits (heating and cooling)? Homekit supports setting heat higher than when this message appears, and Kumo app allows setting temperatures beyond, which is how these messages started generating.
Are you somehow limiting the range of this accessory? I have an elderly person who likes her room at 78 degrees F, and 77 seems to be the tripping point and upper limit of where you allow this to be set (but not in the Kumo app).
I also have a traumatic brain injury person that can't sleep unless the temperature is below 66 F. There are limits imposed by this control, which generate these warnings, which are not limits by Kumo or Homekit, from what I can tell.


Improve Gradle retry logic

Related issue: https://github.com/flutter/flutter/issues/96550
Helps:
https://github.com/flutter/flutter/issues/96790
https://github.com/flutter/flutter/issues/96792
Improves the Gradle retry logic, so it retries up to 10 times after a first failure, and uses exponential backoff.
This is useful for network failures.

@blasten friendly ping, this is the fix to a p1 https://github.com/flutter/flutter/issues/96792

I lowered the priority of the issue. I will land this as soon as I can though.

PTAL @zanderso

@dnfield do you know if the flutter_svg test flaky or failing? https://cirrus-ci.com/task/5417192308080640

Alternatively, try to rebase this patch to master to make sure the test harness picks up the right engine version.

It looks like there's a rfw failure in there too

Huh, my original comment never got posted - I was going to say that I think these are failing because of changes made to work with skParagraph, and maybe one image got missed - but I think what's really going on is the need to rebase this PR.

That worked. Thanks


Remove support for ie11 from build

Placeholder to remove the IE11 script from our build

Closed by #2806


content: Sync the docs with the latest cloud-hypervisor repo

There was a change in the cloud-hypervisor main repo regarding the README.md, sync the change for the website.
Signed-off-by: Henry Wang<EMAIL_ADDRESS>

/cc @michael2012z @rbradford


Update integer type properties

Signed-off-by: Tihomir Surdilovic<EMAIL_ADDRESS>Many thanks for submitting your Pull Request :heart:!
Please specify parts this PR updates:

[x] Specification
[ ] Examples
[x] Schema
[ ] Roadmap
[ ] Use Cases
[ ] Community
[ ] TCK
[ ] Other

What this PR does / why we need it:
Updates all integer type params to have multiple types (integer / string).
This is needed so that users can enter either integer value or a string expression
Special notes for reviewers:
Additional information (if needed):

Closes https://github.com/serverlessworkflow/specification/issues/100