Liquid output not parsed in asset_source tag

Sorry to go round in circles on this one but… this isn’t working again. It was, then the liquid caching stuff landed, and it’s broken again. I know you addressed this in https://github.com/jekyll/jekyll-assets/commit/1eb580f9b183728c503f4675280428583165c23b, but that change doesn’t seem to have fixed this issue, sadly.
Here’s my template as it stands now:
{% if item.featured %}
    {% capture item_logo %}c-item__logo--{{ item.title | slugify }}.svg{% endcapture %}
    {% asset_source "{{ item_logo }}" %}
{% else %}
    {{ item.title }}
{% endif %}

here is the error:
Liquid Exception: Could not find the asset `{{ item_logo }}' in _includes/item/project.html, included in projects/index.html

and here is the full trace:
  Liquid Exception: Could not find the asset `{{ item_logo }}' in _includes/item/project.html, included in projects/index.html
/Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/tags/include.rb:133:in `rescue in render': Could not find the asset `{{ item_logo }}' (Jekyll::Tags::IncludeTagError)
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/tags/include.rb:125:in `render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:151:in `render_token'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:5:in `block in render_token_with_profiling'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/profiler.rb:80:in `profile_token_render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:4:in `render_token_with_profiling'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:135:in `block in render_all'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `each'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `render_all'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/tags/if.rb:39:in `block (2 levels) in render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/tags/if.rb:37:in `each'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/tags/if.rb:37:in `block in render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/context.rb:132:in `stack'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/tags/if.rb:36:in `render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:151:in `render_token'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:5:in `block in render_token_with_profiling'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/profiler.rb:80:in `profile_token_render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:4:in `render_token_with_profiling'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:135:in `block in render_all'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `each'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `render_all'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/tags/for.rb:113:in `block (2 levels) in render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/tags/for.rb:100:in `each'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/tags/for.rb:100:in `each_with_index'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/tags/for.rb:100:in `block in render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/context.rb:132:in `stack'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/tags/for.rb:99:in `render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:151:in `render_token'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:5:in `block in render_token_with_profiling'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/profiler.rb:80:in `profile_token_render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:4:in `render_token_with_profiling'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:135:in `block in render_all'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `each'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `render_all'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/block.rb:108:in `render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/template.rb:210:in `block in render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/template.rb:262:in `with_profiling'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/template.rb:209:in `render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/liquid-3.0.6/lib/liquid/template.rb:222:in `render!'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:28:in `block (2 levels) in render!'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:36:in `measure_bytes'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:27:in `block in render!'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:43:in `measure_time'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:26:in `render!'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/convertible.rb:112:in `render_liquid'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/convertible.rb:255:in `do_layout'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/page.rb:116:in `render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/site.rb:179:in `block in render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/site.rb:177:in `each'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/site.rb:177:in `render'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/site.rb:59:in `process'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/command.rb:28:in `process_site'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/commands/build.rb:60:in `build'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/commands/build.rb:35:in `process'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/gems/jekyll-3.0.1/bin/jekyll:17:in `<top (required)>'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/bin/jekyll:23:in `load'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/bin/jekyll:23:in `<main>'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
	from /Users/paulrobertlloyd/.rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'

Any ideas!?

Hulk: remind me to add a note in the documentation that Liquid rendering is experimental.
I'm going to look at this Monday but if I'm honest, this might not be a bug with us.  I can't explain why this would happen since we use the context that is given to us and if it's not in the context I can't magically make it appear.  I can't explain why this would happen but what I will do is test multiple ways.

I'm experiencing a similar same issue with asset_path.
My template:
{% capture work_bg %}work/{{ page.title | slugify }}/bg.jpg{% endcapture %}
<header style="background-image:url({% asset_path "{{ work_bg }}" %} );">

The error:
Liquid Exception: Could not find the asset `{{ work_bg }}' in _layouts/work.html
jekyll 3.0.1 | Error:  Could not find the asset `{{ work_bg }}'

Full trace:
  Liquid Exception: Could not find the asset `{{ work_bg }}' in _layouts/work.html
/Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-assets-2.0.3/lib/jekyll/assets/liquid/tag.rb:154:in `find_asset': Could not find the asset `{{ work_bg }}' (Jekyll::Assets::Liquid::Tag::AssetNotFoundError)
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-assets-2.0.3/lib/jekyll/assets/liquid/tag.rb:83:in `render'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/block.rb:151:in `render_token'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:5:in `block in render_token_with_profiling'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/profiler.rb:80:in `profile_token_render'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/profiler/hooks.rb:4:in `render_token_with_profiling'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/block.rb:135:in `block in render_all'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `each'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/block.rb:122:in `render_all'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/block.rb:108:in `render'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/template.rb:210:in `block in render'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/template.rb:262:in `with_profiling'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/template.rb:209:in `render'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/liquid-3.0.6/lib/liquid/template.rb:222:in `render!'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:28:in `block (2 levels) in render!'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:36:in `measure_bytes'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:27:in `block in render!'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:43:in `measure_time'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/liquid_renderer/file.rb:26:in `render!'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/renderer.rb:105:in `render_liquid'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/renderer.rb:147:in `place_in_layouts'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/renderer.rb:69:in `run'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/site.rb:171:in `block (2 levels) in render'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/site.rb:169:in `each'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/site.rb:169:in `block in render'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/site.rb:168:in `each'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/site.rb:168:in `render'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/site.rb:59:in `process'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/command.rb:28:in `process_site'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/commands/build.rb:60:in `build'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/commands/build.rb:35:in `process'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/lib/jekyll/commands/serve.rb:26:in `block (2 levels) in init_with_program'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `call'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `block in execute'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `each'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/command.rb:220:in `execute'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary/program.rb:42:in `go'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/mercenary-0.3.5/lib/mercenary.rb:19:in `program'
	from /Users/rutger/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0/gems/jekyll-3.0.1/bin/jekyll:17:in `<top (required)>'
	from /Users/rutger/.rbenv/versions/2.1.5/bin/jekyll:23:in `load'
	from /Users/rutger/.rbenv/versions/2.1.5/bin/jekyll:23:in `<main>'

Maybe I'm missing something?

Your error is no different than the reported error and this ticket is still open, please remain calm as this is a low-priority bug out of all my projects because you can do it without the need of a capture.

For your case though @lekkerduidelijk try using 2.1-dev from HEAD (master), since we process assets with Liquid in dev now, that would probably suite you better for your case.

Thanks @envygeeks! No rush for me, just reporting :+1:
Will try 2.1-dev.

I think I have a related issue.
My default.html layout has this bit:
    {% for path in page.js %}
      {% js '{{ path }}' %}
    {% endfor %}

And a random page has this in front matter:
layout: default
js:
  - profiles.js

The output of jekyll build is:
      Generating...
                    Could not find the asset `{{ path }}'
  Liquid Exception: Could not find the asset `{{ path }}' in _layouts/default.html

I'm getting this with jekyll-assets at 87034c98b9209059f4163605ce4742884d6d659a and jekyll 3.0.1.

I thought I would point out that I'm having the same problem:
{% img "{{ p.logo }}" %} = Could not find the asset '{{ p.logo }}'
However: this DOES work:
{% img path_to_my_img alt:"{{ p.logo }}" %} = the alt tag shows the correct value of p.logo
Hopefully, this can help you solve the issue...

So, I did some digging, and, I have very, very limited experience with ruby, but I think I found the problem...
In tag.rb, you're parsing the liquid for all arguments: https://github.com/jekyll/jekyll-assets/blob/1e8643b9039bdb886a759ef730e41a7668e424a5/lib/jekyll/assets/liquid/tag.rb#L77
...and setting it to the variable args.
Then, you call find_asset: https://github.com/jekyll/jekyll-assets/blob/1e8643b9039bdb886a759ef730e41a7668e424a5/lib/jekyll/assets/liquid/tag.rb#L83
BUT, you're using the @args variable in that function, which seems to be the pre-parsed version.
https://github.com/jekyll/jekyll-assets/blob/1e8643b9039bdb886a759ef730e41a7668e424a5/lib/jekyll/assets/liquid/tag.rb#L152
I was able to fix the problem by simply sticking: @args[:file] = args[:file]; in right before calling find_asset - which works but is almost certainly not the 'correct' solution.
Hope it helps!!

Well spotted. I agree it's nto the correct solution.  Liquid doesn't fire like a shotgun which is what led to all this looping issue and switching to args instead of @args and non-desctructive writing that led to the case you discovered (which probably is the problem...)

I hate to say this but this fix will not be going into 2.0, it's going into 2.1 because I had to change the API to implement this fix  efficiently and I'd rather suffer hatred over an API incompatible 2.1 than changing the API in a released version.

Awesome, thanks for the fix! :tada:
As a refresher for anyone who wants to use the fix right away, you should be able to specify the dependency in your Gemfile like this:
gem 'jekyll-assets', :git => 'https://github.com/jekyll/jekyll-assets.git', :ref => 'a220643'

There probably won't be a need for that because once I implement CodeClimate Platform and cleanup the source I plan to handle one last ticket and release, which should happen within a few hours unless my source is that bad, which I wouldn't be surprised if it is because recently I discovered just how inconsistent I am with my own coding style on another project.

Just tested this fix (using the Gemfile specification above, just to test), and can confirm this is now fixed. Thanks @envygeeks for the fix, and @underyx for spotting the source of the issue.

I'll just go ahead and forward your misdirected appreciation to @SeiferTim.
Thanks, @SeiferTim!

@underyx Oh crap! I only looked so far up the page… yes, I mean thanks @SeiferTim!


Add Share Canvas in thread to the deno sdk

Summary
This PR add the new released Share Canvas in thread to the deno sdk and update labels for the owner in copy canvas, create canvas and create channel canvas

Field
Type
Description
Required

canvas_id
slack#/types/canvas_id
The id of the canvas that will be shared
true

message_context
slack#/types/message_context
The reference to the root message that the canvas will be shared as a reply
true

access_level
string
The access level that the canvas will be shared. It can be view or edit
false - defaults to view

message
slack#/types/rich_text
Optional rich text message that will be send when sharing the canvas
false

reply_broadcast
boolean
If selected will also broadcast the message to the channel
false - defaults to false

Testing
Create an app using the functions and see that it perform the actions
Requirements

Canvas need to be enabled in the org

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've ran deno task test after making the changes.

@rafaelamsili did you run the generation script for this (it seems to me like no)? Because the mod.ts is missing the import of the new function, so there's no way for a developer to actually use this as-is.

@rafaelamsili did you run the generation script for this (it seems to me like no)? Because the mod.ts is missing the import of the new function, so there's no way for a developer to actually use this as-is.

Good catch 🦅 👁  about the mod change. I ran the generation script but there was a lot of noise from other functions so I just committed those changes.


Allow the Pubsub Publisher to work (in low-volume cases), with  fewer than 20  threads

See discussion with Kir Titievsky , Product Manager for Google PubSub, at GoogleGroup
My application publishes a low volume of messages (1 every few seconds at most), with no other use of PubSub. It does not subscribe. We are using simple Java code as in this sample. The Publisher object is retained for the lifetime of the process, as recommended here.
On first use, PubSub creates 60 threads that stay live permanently, like these:

"grpc-default-worker-ELG-1-1 Id\u003d115 RUNNABLE (in native)...
"grpc-default-worker-ELG-1-10 Id\u003d160 RUNNABLE (in native)":...
....
"Gax-16 Id\u003d141 TIMED_WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@24f8d334": ...
"Gax-17 Id\u003d142 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@24f8d334":....

Sixty is a very high default.
Moreover, if I   setExecutorThreadCount  to 4 (code following), I still get an extra 26 permanent threads. Setting it to 1 or 2 also gets about 20 extra threads.
ExecutorProvider executorProvider = InstantiatingExecutorProvider.newBuilder().setExecutorThreadCount(4).build();
Publisher.Builder builder = Publisher.newBuilder(ProjectTopicName.of(proj, topic)).setExecutorProvider(executorProvider);

Our legacy application is already thread-heavy; and it  cannot tolerate more than one or two extra threads, even if these are inactive. Unfortunately, the legacy threading model cannot be changed.
Yet it does seem that a low-volume Publisher really needs only  one thread.
Please offer a way to configure PubSub down to 1 or 2 threads.

@JoshuaFox did the code snippet posted by @ajaaym resolve your issue? we are seeing similar problems with PubSub creating too many threads in a single process.

@moadi  . Yes, I tested that it indeed brings down the number of threads.

@JoshuaFox are you able to explain the interrelationship between the two numeric 1s, its a little trickier without them being named constants
specifically
final ExecutorProvider fixedExecutorProvider = FixedExecutorProvider.create(
        new ScheduledThreadPoolExecutor(1)); //adjust the size

and
new NioEventLoopGroup(1, fixedExecutorProvider.getExecutor()));

The former obviously appears to be the key value, but if for example I wanted a pool of 10 threads across all my subcribers, do I set both numbers to 10, or just the former?

@JoshuaFox  No. That code is quite low-level, and I do not fully understand the thread design.
@ajaaym who posted it is the one to ask.
This again is a reason that the code setting thread counts should be inboarded to the library and exposed in the library's API.

@wyaeld We this issue in our application which maintains ~15 publishers/subscribers suffering from ~1000 waiting GAX threads.
In our case, we only adjusted the value for the FixedExecutorProvider, leaving the NioEventLoopGroup at 1.
As far as I understood the code, it is only distributing the ExecutorProvider which is fine to have only one thread for handling this.
@ajaaym I would still be interested if my interpretation is right

I am going to mark this issue resolved, as the solution to this question is provided above. Publisher.Builder.setExecutorProvider can be used to provide a custom executor to the Pub/Sub Publisher.  See our docs on publisher concurrency control for examples.  A FixedExecutorProvider will return the same executor on each call to .getExecutor(), while an InstantiationExecutorProvider will construct a new executor on each call to .getExecutor(). To decrease gax thread counts, the same single-thread FixedExecutorProvider can be shared across the GrpcTransportProvider and ManagedChannelBuilder.


Adds doc links for mocha-examples

Now that we have https://github.com/mochajs/mocha-examples lets point people who are seeking help in a specific area find the right link.
Have made a small update to the "programmatic usage" (https://github.com/mochajs/mocha/wiki/Using-Mocha-programmatically) wiki.
Benefits
Same as those in https://github.com/mochajs/mocha-examples/pull/1
Applicable issues
https://github.com/mochajs/mocha/issues/2359

Coverage remained the same at 91.704% when pulling 98cca205b3a945e483903d96f1805cc4e90429d6 on craigtaub/exampleLinks into 59fcf7158ad7a94148e47834d4d32117efcbf182 on master.


code for performance analysis

Hi.
Following an analysis such as Tutorial 9 or 10, I want to show the distance between the
-tracks and the GT
-Detections and GT
-tracks and Detections
in each time.
Is there some general code for such performance analysis?
Thanks.

Have you seen the Metrics example? That has some metrics for track to ground truth comparison. There aren't any metrics for comparing with detections currently.


Android- Unable to load app

Eternally loading on launch for Android
Hei, jeg har satt opp en ny smarttelefon (Samsung S23+). Dessverre kan jeg ikke åpne BCC Media-appen der. bmm osv fungerer fint. hva kan årsaken være?
DeviceSM-G986B
Environment overridenull
Manufacturersamsung
Operating System
Android 13
Screen Size2400x1080
App Version4.2.7+2300040
https://projects.bcc.no/desk/tickets/10481361/messages
https://projects.bcc.no/desk/tickets/10485982/messages

was fixed in 4.3.7


Add global permissions

PR adds the permissions section for generated workflow file.

So the windows tests seem to be failing but I am not sure if this related?

So after looking at this again I have updated the PR with the following improvements

The permissions is actually follows a schema (see https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs#overview) so I rather than using a Map[String, String] it now uses a proper ADT similar to other settings in github-workflow-actions

The only thing I am unsure of is the Permissions.None which maps to permissions: {}. I think that having the Permissions.None because its the same as Permissions.Specify(Map.empty) but I don't know if github actions and/or yaml treats permissions:  same as permissions: {}. For similar reasons it may make sense to throw an error if an empty Map is passed to Permissions.Specify

Permissions can also be specified on workflow steps (see https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs#assigning-permissions-to-a-specific-job) so I did the necessary changes there.

@djspiewak Would ie bt possible to have a look at this?

@djspiewak Would it be possible to have a look at this?

@djspiewak IMHO this pr has a huge value, and it's a feature that I'll love too

@eed3si9n You mind looking at this?

Yup! I think the CI issues are unrelated but if needed I can look into it (I remember this project had windows related CI problems).

So from what I can see @djspiewak doesn't seem to have capacity/time to properly take care of this project hence why I made #117

It was moved! Awesome :D

@eed3si9n I will go ahead and merge this PR, just rebasing it now with the removal of the Windows in CI just to do a last minute sanity check to see it passes CI.


Rounding errror in xml for vmag

remove rounding for VMAG in xml

Also remove rounding for H offset and V offset


don't read file everytime, store this as a static variable in memory with the constructor

we didz this.

wait, maybe not.


Mail: May be incorrectly forcing initial TLS usage

As per https://github.com/solidnerd/docker-bookstack/issues/406.
I think we're forcing TLS usage in scenarios which need STARTTLS to occur instead of TLS from the start.
Example case looks to be Gmail SMTP over port 587.
Need to check if there's a way to force STARTTLS to be started if MAIL_ENCRYPTION=tls/ssl.
Otherwise, option becomes somewhat redundant.

No direct way to do this. Open issue on Symfony Mailer exists.
Could implement custom transport but surface area gets quite large as would end up working around/re-implementing multiple layers (Laravel Mail Manager > Transport Factory > EsmtpTransport). Can't seem to make targeted changes due to how this is built.
Do we instead just update the docs to state the new behaviour? With MAIL_ENCRYPTION=tls/ssl forcing full TLS, and STARTTLS being used wherever otherwise announced?  How do we test that?

Hi there, I think i might be experiencing this issue. The new update broke connection to the mail server.
My configuration is:
MAIL_PORT=587
MAIL_ENCRYPTION=tls

And the error i get when attempting a test email:
Error thrown when sending a test email:
Connection could not be established with host "ssl://***:587": stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:0A00010B:SSL routines::wrong version number

My email server provider mentions that STARTTLS should be selected in their documentation.
Is there a current workaround?

@MattijnP Setting MAIL_ENCRYPTION=null or commenting out that option with a proceeding # should act as a workaround. STARTTLS will still be used in that scenario but there's just no assurance of TLS/STARTTLS.

Thank you for your swift reply! I was just about to comment that doing exactly that has fixed my issue.
MAIL_ENCRYPTION=null

Tried to add custom mailer transport classes to BookStack, extending Symfony mailer where possible, but then had issues in onward testing due to hardcoded use of EsmtpTransport class, so overriding/extending would need have a very high surface area.
Went with a forked repo/package to make it easier to track changes relative to upstream. Will see if this kind of thing can be added upstream.
Changes here to be part of the next patch release.

Doc Updates

[ ] Update docs for MAIL_ENCRYPTION to ensure they are correct with now added behaviour.
[ ] Probably need to have another update note for this since it does represent a change in what our guidance previously said :disappointed:


Issue when calling read in multi-threads program

Description

Hi @aylward and @thewtex ,
I am trying to call the itk.imread in a multi-threads python program to load images in parallel, and got error:
--> 128             img_.append(itk.imread(name, **kwargs))
    129         return img_ if len(filenames) > 1 else img_[0]
    130

/opt/conda/lib/python3.6/site-packages/itkExtras.py in imread(filename, pixel_type, fallback_only)
    626         kwargs = {'FileNames': filename}
    627     else:
--> 628         TemplateReaderType = itk.ImageFileReader
    629         io_filename=filename
    630         increase_dimension=False

/opt/conda/lib/python3.6/site-packages/itkLazy.py in __getattribute__(self, attr)
     50             module = self.__belong_lazy_attributes[attr]
     51             namespace = {}
---> 52             itkBase.LoadModule(module, namespace)
     53             self.loaded_lazy_modules.add(module)
     54             for k, v in namespace.items():

/opt/conda/lib/python3.6/site-packages/itkBase.py in LoadModule(name, namespace)
     59         if namespace is not None:
     60             swig = namespace.setdefault('swig', {})
---> 61             swig.update(this_module.swig)
     62
     63             # don't worry about overwriting the symbols in namespace -- any

Seems something crashed in C++ layer?
Could you please help take a look at this multi-threads issue?
@wyli and I still work on the development of MONAI v0.3, we are close to code-freeze next week.
Thanks in advance.

Which file type are you trying to read? Some ImageIOs are not concurrent thread safe.

I read Nifti data from Decathlon dataset, is it supported?
@aylward @thewtex and @wyli, if not thread safe, we may need to temporarily change the default reader of MONAI?
Thanks.

I have had concurrency problem with GDCM, and some on OSX with MetaImageIO. It is always possible to use heavy weight processes, then some type of pickling to get the results by to the main process.

The problem may not be with "Reading images" but rather with the itkLazy loading of modules.
@Nic-Ma would it be possible to do a small test?    Change the import itk to
import itkConfig
itkConfig.LazyLoading = False
import itk

This will make loading the ITK module much slower, but perhaps may identify the problem better.
Additionally, could you provide an example code to allow us to better diagnose the problem?
Hans

Hi @hjmjohnson and @blowekamp ,
I tried disable the lazyloading as you suggested, still got the same error:
--> 131             self._img.append(itk.imread(name, **self.kwargs))
    132         return self._img if len(filenames) > 1 else self._img[0]
    133

/opt/conda/lib/python3.6/site-packages/itkExtras.py in imread(filename, pixel_type, fallback_only)
    626         kwargs = {'FileNames': filename}
    627     else:
--> 628         TemplateReaderType = itk.ImageFileReader
    629         io_filename=filename
    630         increase_dimension=False

/opt/conda/lib/python3.6/site-packages/itkLazy.py in __getattribute__(self, attr)
     50             module = self.__belong_lazy_attributes[attr]
     51             namespace = {}
---> 52             itkBase.LoadModule(module, namespace)
     53             self.loaded_lazy_modules.add(module)
     54             for k, v in namespace.items():

/opt/conda/lib/python3.6/site-packages/itkBase.py in LoadModule(name, namespace)
     59         if namespace is not None:
     60             swig = namespace.setdefault('swig', {})
---> 61             swig.update(this_module.swig)
     62
     63             # don't worry about overwriting the symbols in namespace -- any

You can easily run this notebook to reproduce the issue:
https://github.com/Project-MONAI/Tutorials/blob/add-nnunet-tutorial/nnunet_tutorial.ipynb
Just replace the LoadNiftid transform with LoadImaged, then it will crash in CacheDataset cell with num_workers=4.
Thanks.

Update the test notebook link: https://github.com/Project-MONAI/Tutorials/blob/master/nnunet_tutorial.ipynb
I think @hjmjohnson is very familiar with CacheDataset logic.
And let me temporarily change the default reader of LoadImage to Nibabel.
Thanks in advance.

Hi @hjmjohnson ,
Could you please help share any update?
Thanks.

Hi @hjmjohnson ,
Could you please help share any update?
Thanks.

@Nic-Ma Bad timing for this request. Several core ITK python developers are on vacation for 2 weeks, and I have a MAJOR funded grant deadline on October 1st.  Normally we would be able to respond more quickly, but we just don't have the bandwidth to dedicate to digging into this right now.  We have scheduled a meeting for September 28th as a backstop to investigate if we are unable to get to it sooner.
Sorry.
Hans

Got it, thanks @hjmjohnson .
Hi @aylward , @wyli,
Can we temporarily change to do some auto-select logic instead of using ITK as IO default reader for all formats:
use ITK as default reader for DICOM, use Nibabel as default reader for Nifti, use PIL as default reader for PNG, JPG and BMP.
What do you think?
Thanks.

Yes - we probably need to pass for the 0.3 release of MONAI, but
hopefully @Matthew
McCormick<EMAIL_ADDRESS>or @Dzenan Zukic
<EMAIL_ADDRESS>can start looking into it.
On Wed, Sep 16, 2020 at 8:08 PM Nic Ma<EMAIL_ADDRESS>wrote:

Got it, thanks @hjmjohnson https://github.com/hjmjohnson .
Hi @aylward https://github.com/aylward , @wyli https://github.com/wyli
,
Can we temporarily change to do some auto-select logic instead of using
ITK as IO default reader for all formats:
use ITK as default reader for DICOM, use Nibabel as default reader for
Nifti, use PIL as default reader for PNG, JPG and BMP.
What do you think?
Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/InsightSoftwareConsortium/ITK/issues/2003#issuecomment-693730494,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACEJL744O7YZETHBGXFYWLSGFHPPANCNFSM4RLIOIKA
.

--
Stephen R. Aylward, Ph.D.
Senior Director of Strategic Initiatives
Kitware: Advancing the frontiers of understanding
by developing innovative open-source software platforms
and integrating them into research, processes, and products.

Hi @aylward ,
After internal discussion with @hjmjohnson , we decided to keep ITK as all default IO reader for v0.3 release.
Of course, if you experts can identify the issue and fix it soon, that would be wonderful.
Thanks.

Great!
It is our busy time of the year in the US with US government fiscal year
ending Oct 1, grant deadlines in September and October, MICCAI in early
Oct, and more.   Hopefully we will get some free time soon.  Thanks for
understanding!
Stephen
On Mon, Sep 21, 2020 at 8:47 AM Nic Ma<EMAIL_ADDRESS>wrote:

Hi @aylward https://github.com/aylward ,
After internal discussion with @hjmjohnson https://github.com/hjmjohnson
, we decided to keep ITK as all default IO reader for v0.3 release.
Of course, if you experts can identify the issue and fix it soon, that
would be wonderful.
Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/InsightSoftwareConsortium/ITK/issues/2003#issuecomment-696091181,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACEJLZ4BNVMYKBZJLEDLFDSG5DPXANCNFSM4RLIOIKA
.

--
Stephen R. Aylward, Ph.D.
Senior Director of Strategic Initiatives
Kitware: Advancing the frontiers of understanding
by developing innovative open-source software platforms
and integrating them into research, processes, and products.

Note: https://github.com/Project-MONAI/Tutorials/blob/master/nnunet_tutorial.ipynb is now https://github.com/Project-MONAI/tutorials/blob/master/modules/dynunet_tutorial.ipynb

Another similar issue has been reported on the forum.

Hi Guys,
Do you have any update here?
Thanks.

I'll have a look into this over the next week.

To rule out another similar bug, but likely different, can you set the environment variable ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS=1 before running the minimal example case?

You might want to also look at work to speed up pytorch dataloader on windows:  MONAI Issue 1300
There are also problems with pytorch pickle on windows for transforms using non-pickled constructs as parameters - that could be confusing issues when testing IO: MONAI Issue 1240

@Nic-Ma Do you have a failing version?    The version referenced by @dzenanz  above runs without failure on my computer.
https://github.com/Project-MONAI/tutorials/blob/master/modules/dynunet_tutorial.ipynb seems to be the replacement notebook, but it does not have CacheDataset or
How can I make a failure to debug?
Thanks.
Hans

Hi @hjmjohnson ,
You can use the notebook to test, the DecathonDataset in it inherits from CacheDataset, and please make sure you are using MONAI v0.3.0 to test the LoadImaged transform in it, we replaced the default reader in master.
Thanks.

[X] Problem identified.
[X] Minimal test case created.
[X] proposed initial work workaround identified and being tested!

@Nic-Ma Fix propsed in #2194.
I think there is a quick hack fix for monai.  Something like the following psuedo-code:

import itk
if itk.__version__< '5.2.1':
         # Warning the ITK LazyLoading mechanism was not threadsafe until version 5.1.3
          xx = itk.imread # A silly call to force loading the required modules BEFORE the multi-threading is called

Nice.  I think it should be 5.1.2 for the version, but otherwise looks good.

Thanks @hjmjohnson ,
I submitted PR to MONAI: https://github.com/Project-MONAI/MONAI/pull/1324
Could you please help review it?
Thanks.

https://github.com/Project-MONAI/MONAI/pull/1324 has been merged. Is this issue now resolved?


Unknown option or service "storageExclusion" error after upgrading to @deepstream/server v4

After upgrading to v4, the server npm package started to give error for the below line of code (which used to work fine in v3)
server.set('storageExclusion', /^dont-store\/*./)

The error is:
Error: Unknown option or service "storageExclusion"
    at Deepstream.set (\node_modules\@deepstream\server\src\deepstream.io.ts:112:13)
    at Object.<anonymous> (\src\index.js:121:8)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)

Yup this is correct, although I have now added better error logging. We replace storageExclusion with storageExclusionPrefixes as its quicker to run and we are trying to slowly move away from regexes as a config option.


Cleanup and fixes to testarch

Travis build is failing, otherwise looks reasonable. Supplied a few small comments by PM
Notably
https://github.com/SymbiFlow/symbiflow-arch-defs/pull/91/commits/2f287170e4a7ed43b23238d06f32d2741203cc0e
Should probably be changed to 2 per conversation with kmurry. This may be why travis build is failing

Quick look the Fc values are fixed now


How can we archive channels which are inactive from last 180 days.

I understand this code archives channels which Has non-bot messages in the past 60 days. So how can we change it to 180 days ? I looked through the code but couldn't find the line.
Thanks.

This setting is defined in the config.py file
days_inactive = int(os.environ.get('DAYS_INACTIVE', 60))

This setting is in the config.py file
days_inactive = int(os.environ.get('DAYS_INACTIVE', 60))

Yep. found it yesterday. Thank you @dsmetham .


[en] fix spelling error in system-trace.md

fix https://github.com/kubernetes/website/issues/37249

@sftim  I'm late to check because my vacation is getting longer. Thank you for letting me know.
I changed it to the main branch.

/hold cancel

However, these changes would break main and we shouldn't merge them. Could you adapt this PR so that it only makes the fix you intended @having-dlrow?
/hold
OK to unhold once the PR is corrected.

/hold cancel
/lgtm
/approve


add OAuth1Authenticator and test

I was working on a project that needed authentication with OAuth1.0a.
Here was the solution.

Thanks @fredbradley I will take a look soon and see if I can potentially refactor this to be trait-style like the other OAuth2 implementations, unless you want to give it a go?


Chem | Column Actions | Descriptors: error when empty values are present

Platform: Dev Version: 1.11.2 Chem 1.4.10
Data: spgi-100
To reproduce:

Delete molecules in two rows in the Structure column
Click the Structure column’s header
Go to Property Pane > Actions > Chem | Descriptors

Expected result: empty values shouldn’t be involved
Actual result:  error
Row counts don't match (data frame: 100, column: 98)

new error occurs when selecting all descriptors:
XMLHttpRequest error.

'Row counts don't match (data frame: 100, column: 98)' error is still there if a new empty column is present


Authenticate with password

Description
Adds the authenticate with password method
Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
[ ] Yes

If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.

Need to rebase onto users


Added Brute Force Prime Number Generation Code in C++

Solved Issue #1 in C++. Please let me know if any changes have to be made. If not, you can merge the PR. Thanks.

@Arghya442 Please review the code and merge the PR.


Crash after logging in

I just installed the WeConnect CLI and get the following error when I try to logon with:
weconnect-cli --username xxxx --password yyyyy
I am running Ubuntu 18.04 and have python 3.6.9 installed.
file "/home/stephan/.local/lib/python3.6/site-packages/weconnect/util.py", line 11, in robustTimeParse
    return datetime.fromisoformat(timestring)
AttributeError: type object 'datetime.datetime' has no attribute 'fromisoformat'

Hi, the problem is that python 3.6 is not supported. You would need to update to at least python 3.7


Add tests for Google Cloud Storage storage

We need to:

Create a bucket
Grant the prow runner service account permission to manage objects in that bucket
Set GOOGLE_CLOUD_BUCKET on the prow workers

We need to:

Create a bucket
Grant the prow runner service account permission to manage objects in that bucket
Set GOOGLE_CLOUD_BUCKET on the prow workers

Is this just a first step?
these just test that GCS is working, but if we're going to fold this into e2e automated tests, then I can see a need.

If we want prow to eventually run the e2e tests, we'll need those permissions too.

Triggering a non-reporting job to test the setup on the OSS prow instance. Please ignore.
/test pull-en-server-release-unit

Not saying it's a good idea or a bad idea to use it, but at one point I wrote https://github.com/googleapis/google-cloud-go-testing/tree/master/storage/stiface so people could write unit tests against the storage API.

/test all

/test pull-en-server-release-unit

@jba we could write unit tests, but this setup is also in service of a full e2e test in which we actually want to talk to GCS for real.

/test pull-en-server-release-unit-canary

/test pull-en-server-release-unit-canary

/test pull-en-server-release-unit-canary

Failed testPublish:
--- FAIL: TestPublish (39.60s)
    en_api.go:71: Publish request is sent to /publish
    publish_test.go:120: Waiting 3s before export batches
    en_api.go:95: Create batches request is sent to /export/create-batches
    publish_test.go:124: Waiting 500ms before starting workers
    en_api.go:103: Export worker request is sent to /export/do-work
    publish_test.go:299: index.txt:
    publish_test.go:253: latest:
    publish_test.go:259: Can't find export files in blobstore: "my-bucket"

https://oss-prow.knative.dev/view/gcs/oss-prow/pr-logs/pull/google_exposure-notifications-server/497/pull-en-server-release-unit-canary/1275873738620932096
Not sure if it's related to the exported GOOGLE_APPLICATION_CREDENTIALS or it's just flaky
/test pull-en-server-release-unit-canary

/retest

There might be a prow delay
/retest

/lgtm
/hold
In case you want to update local development instruction before merging this PR, otherwise feel free /unhold

hmm. I can't lgtm, then it doesn't make sense for me to hold
/unhold

/lgtm
/approve

oh yea - i can't lgtm myself (I forgot this was my PR) @crwilcox

oh yea - i can't lgtm myself (I forgot this was my PR) @crwilcox

lol

/lgtm

/assign @crwilcox


RSS Widget

Is there a plugin to embed an RSS feed as a widget ?

Yes this is a good idea, an easy way to display RSS feed!


Update release constants to v5

package in SCC is pointing to v4 images, instead of to v5. This fixes it.

v5 now


Fix flaky PSP test

Problem:
If a 409 error is encountered the test will break. Encountering a 409 is expected to occur occasionally and should not lead to a failed test.
Solution:
Added retry logic to test_pod_security_policy_template_del
Issue:
https://github.com/rancher/rancher/issues/23930

LGTM


Add option to delete from all channels, ims, mims, etc

I like to cleanup my whole slack every now and them. Listing every single options and iterating through them is a pain. Would be great to have an option to run slack-cleaner [...] --all-channels (the same for ims, etc) and cleanup everything at once.

you could give https://github.com/slack_cleaner2 a try. in the end it will reduce to:
s = SlackCleaner(...)
for msg in s.msgs():
  msg.delete()

alternative is can use the regex versions which will allow wildcards (like .*)

Such a fast response. Thank you so much. Just to make sure, if I query s.msgs() it includes absolutely every single message (directs, groups, channels, mpdirect)?
Therefore, the code bellow would pretty much erase 2018 from my slack?
after = "20180101"
before = "20181231"
for msg in s.msgs(after=after, before=before):
        msg.delete()

for f in s.files(after=after, before=before):
        f.delete()

hm ... I think it won't catch replies by now:
after = "20180101"
before = "20181231"
for msg in s.msgs(after=after, before=before):
        for reply in msg.replies():
             reply.delete()
        msg.delete()

for f in s.files(after=after, before=before):
        f.delete()

Moreover, the standard Slack restrictions will apply such that you can only delete the IMs that you wrote but not the one of your partner. Same you cannot delete ims of other users.
so an alternative that should produce less errors (untested) but just replace the .delete with some logging to confirm your targeted behavior
s = SlackCleaner(TOKEN, sleep_for=1)
for channel in (s.channels + s.groups + s.mpim):
  with s.log.group(channel.name):
     for msg in channel.msgs(after=after, before=before):
        for reply in msg.replies():
           reply.delete()
        msg.delete()

for channel in s.ims:
  with s.log.group(channel.name):
     for msg in channel.msgs(after=after, before=before):
        for reply in msg.replies():
           if reply.user == s.myself:
              reply.delete()
        if msg.user === s.myself:
           msg.delete()
s.log.summary()


Manual Camera Control - should it be disabled if not in editor?

The update function takes up a little bit of hopefully unnecessary processing when on device.

I agree, the whole class should be wrapped in an #if UNITY_EDITOR

Actually should be #if UNITY_EDITOR || UNITY_STANDALONE

Fixed with #324


⚠ Bofrost.at has degraded performance

In 1b26a46, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2056 ms

Resolved: Bofrost.at performance has improved in 0ec20ff.


P2P should have defensive qualities

In this file, we can see that p2p settings that are noted to cause dos are set from the outbound-node-side.
We need protections against this.
https://github.com/cometbft/cometbft/blob/d93ba1add2bdea62cf4aeec3e11a998855c1a240/p2p/switch.go#L18-L32

Hi @faddat,
Thank you for bringing this to our attention. Let's work together efficiently to try to resolve this issue. Could you please provide us with additional details related to this matter?
When you highlighted the code, were you referring to a specific setting?
Additionally, could you please elaborate on what is the concern with these values ?
If possible, could you share any empirical evidence supporting your claim? Moreover, can you suggest any modifications or values that should be implemented to address this issue and provide the necessary safeguards?
Thank you for your cooperation.

This is a very generic issue, I'd suggest to break it into well-specified issues or to close it.


WIP MTV-1316: Removing VMware tools from Windows guests

JIRA

MTV-1316 - Removing VMware tools from Windows guests
I am adding a new section for VMware issues, and starting to populate this section with the upstream notes provided by Richard. I have brought across this note in response to MTV bugs preventing migration from VMware to OCP

PREVIEW

Adding a VMware vSphere source provider

Preview

@ahadas - please can I ask if you are ok with this, before i get a second review from Richard Jones?
Thanks


Remove DiscriminatedUnion

We should provide alternatives for it e.g. fire different events with different event args.

Hi, I am currently stuck at this point, because I needed to backport NModBus4 to C# 4 on VS2013. If you give me a pointer in the right direction, I may be able to help in the removal of the Discriminated Union. Alternatively, what do you need to install to be able to use them?


Query param decoding in stubbing vs verifying

Hi there,
I think I'm missing something simple, so please tell me if so. I say that because I'm kind of amazed I haven't noticed this before now, but...
Am I right in saying that the handling of URL decoding in query parameter values is different between stubbing (where no decoding happens) and verifying (where decoding does happen)?
From a quick poke around (on both tag 1.58 and 2.0.11-beta), it looks like it's down to a difference between how query params are pulled out of a full URI string from a Jetty request (stubbing) vs a journal request (verifying).
For the former, Jetty6HttpServletRequestAdapter#queryParameter(String) / JettyHttpServletRequestAdapter#queryParameter(String) calls splitQuery(request.getQueryString()), where request is a Jetty HttpServletRequest. The comment on getQueryString notes "The value is not decoded by the container".
For the latter, LoggedRequest#queryParameter(String) references the collection set up in the constructor as splitQuery(URI.create(url)) (in both 1.58 and 2.0.11-beta. Here the url string is parsed by URI.create first, so splitQuery calls uri.getQuery() to get the query string. The JDK docs for that note "all sequences of escaped octets are decoded".
All this leads to the slightly surprising behaviour that the following test fails:
@Test
public void queryParamsWhenStubbingAreEncodedButQueryParamsWhenVerifyingAreDecoded() {
    // given we stub using an undecoded param value
    wireMockRule.stubFor(get(urlPathEqualTo("/test"))
            .withQueryParam("q", equalTo("a:b"))
            .willReturn(aResponse()));

    // when we make a request with Jersey, which encodes the param to a%3Ab
    Response response = ClientBuilder.newClient()
            .target("http://localhost:8080/test").queryParam("q", "a:b")
            .request()
            .get();

    // then verifying with the uncoded param succeeds, but the request did not match
    wireMockRule.verify(getRequestedFor(urlPathEqualTo("/test"))
            .withQueryParam("q", equalTo("a:b")));
    assertThat(response.getStatus()).isEqualTo(200); // fails - actual is 404
}

Similarly, if we always use an encoded value when interacting with wiremock (i.e. equalTo("a%3Ab")), then the verify will fail, but the request will be matched successfully.
Some questions:
a) Am I being stupid?
b) Is this behaviour intentional? If so, how come? Is it documented somewhere? (I couldn't see where)
c) If not, I guess changing it would be big and breaking, but perhaps the upcoming 2.0 release might be the time to do it?
Thanks for any clarification!

I'll try and take a more detailed look at this this evening, but I suspect you're right.
You're not the first to have complained about encoding when matching query params, and I've fought my own battles with it recently.
Agree entirely it should be fixed before coming out of beta. I'll make sure that happens as/when I've confirmed there's an inconsistency. TBH even if there isn't, I'd rather always match on decoded values so I'll ensure it works that way.

Fixed in v2

I am facing similar encoding issue for query parameter key. The stub does not match if the query param key contains encoded charaters.


###>  no snapshot found for zroot/pot/jails/salt-base/custom

I was playing on the pot_slides.pdf file on page 15:
pot init
pot create-base -r 11.1
pot create-fscomp -f repository
pot create -p saltmaster -b 11.1
pot add-fscomp -p saltmaster -f repository -m /mnt
pot create-fscomp -f repo-work
pot create-fscomp -f repo-home
pot create -p salt-base -b 11.1
pot create -p salt-work -P salt-base -l 2
###>  no snapshot found for zroot/pot/jails/salt-base/custom

VBox FreeBSD both 11.1 and 12
:confused:

ups... The slides are missing a step and this error message is not really helpful. Thanks for reporting
After the creation of salt-base, a snapshot is needed to be used as reference for other pots.
To create a snapshot, you can use the command:
pot snapshot -p salt-base

If nature were not mistaken, humanity would not appear!
So the mistakes are very natural!
Thank you for the pots.
I want to make pots with Apache, Nginx, PHP, databases, CMS-s...
And try to combine it all.
Like in Docker.
So I'll have a lot of mistakes and I'll write a lot.
Bye!

please, do it!
That is a use case I've thought, but not tested yet.
Go go go!


Feature: 40 column / Wide column

I would love to see a 40 column mode for icy_term, as well as wide terminal support. Maybe settings like:
40x25
132x37 (16:9)
132x52 (5:4)
132x25
(along with maybe others?)
I have to admit I have a unique use case for this, as I'm doing testing on the Enigma BBS software for alternate screen dimensions, and would love to have another terminal with 40 column and wide term support, though I could see this useful for other people as well, especially with the wide terminal mode.
Thanks for the consideration!

I can allow custom settings. Adding more to the list feels wrong.

0.6.8 fixes that.


deps: bump dulwich minver to 0.21.6

Closes #249

Codecov Report
Patch has no changes to coverable lines.
:loudspeaker: Thoughts on this report? Let us know!.


How to render a template from a file/folder?

Hi, I'm new to eta, and I'm looking at the documentation.
My goal is to render templates in NodeJS from a 'templates' folder that would contain a set of templates, e.g. 'main.html' and 'footer.html'.
I do see something about templates here https://eta.js.org/docs/api/configuration but it is not clear in the docs where to actually pass those config options, and there is also no example on how to render a template from a file.
Could you add that to the docs? Thanks!

Hi @willemmulder, I'll definitely add that to the docs!
Here's how you can do it in the meantime:
// The path to the template is relative to the JS file executing
eta.renderFile("./path-to-template.eta", { data })

// This returns a promise but can also accept a callback, so the following both work:

async function renderTemplate() {
 	let rendered = await eta.renderFile("./template.eta", myData)
}

eta.renderFile("./template.eta", myData, function (err, rendered) {
	console.log(rendered)
}

Hope this helps! Let me know if you have any questions.

Thanks, that works!
Quick follow-up: where can I set/adjust these config values? https://eta.js.org/docs/api/configuration
The main thing is that I want eta to cache the template-compilation automatically, whenever I use renderFile(...).

@willemmulder there are a few options. The first is that you could change Eta.defaultConfig:
Eta.defaultConfig.cache = true
renderFile also allows you to override configuration right from the data object:
eta.renderFile("./template.eta", {...myData, cache: true}, function (err, rendered) {
	console.log(rendered)
}

Thanks, great!
One suggestion: wouldn't it be better to not mix the data object and configuration options together? That could cause to unpredictable behaviour when I intend to use a specific variablename, but instead eta would set a configuration value. We could maybe move the config values to a separate parameter, like
eta.renderFile("./template.eta", {...myData}, {cache: true}, function (err, rendered) {
	console.log(rendered)
}

@willemmulder I definitely think that would be more intuitive. The problem is that right now renderFile is aliased as __express, a helper function to make Eta work with Express.js out-of-the-box, and Express expects it to have the signature above.
I've been meaning to do some rewriting of Eta's file handling anyway. Perhaps I should make __express a wrapper function that calls renderFile, and update renderFile to have a more intuitive/useful configuration manager.
The one potential problem is backwards compatibility -- don't want to break Eta for anyone, but I'd also rather not release a new major version. I don't think many projects use renderFile, but I'd have to try to find those that do and notify them the API changed.
Any suggestions? Thanks for your great feedback!

@nebrelbug That would be great!
You don't have to break anything as long as you keep support for the 'old style' (i.e. mixed data and config object) as well. You could check the amount of arguments to determine if the function is called the old or the new way, right? If it is string-obj-obj-function then it's new, if it's string-obj-function then it's old. And then map properly internally.
However that would not solve the problem that express expects the above signature. Because we'd have to merge input objects there anyway, causing the same trouble as before. What express function are you calling?
And I just checked: EJS is also using a separate 'options' object. See https://ejs.co/#docs

@willemmulder in version 1.3.0 I just added support for both kinds of function signature! This means you can now do:
eta.renderFile("./template.eta", {...myData, cache: true}, function (err, rendered) {
	console.log(rendered)
}

Or
eta.renderFile("./template.eta", myData, {cache: true}, function (err, rendered) {
	console.log(rendered)
}

As far as the Express function, I based the signature on https://expressjs.com/en/4x/api.html#app.engine

Perfect!
I didn't know that Express supported rendering engines out of the box. Nice! I use Koa anyway, but good to know.
Did you try to get eta added to this list: https://github.com/expressjs/express/wiki#template-engines ? Would be good for exposure 👍
Issue closed by the way!

Thanks! I got Eta added to https://expressjs.com/en/resources/template-engines.html. The wiki is supposed to be deprecated, but it doesn't look like they've moved on that :grimacing: and so a lot of people are probably still seeing the outdated list.
Maybe I'll suggest that they replace the Wiki list with a link to the website page.

Yes that would be good; but even then Google will bring some people to the wiki anyway, so it wouldn't hurt adding eta on the wiki as well.


Few improvements to VpiListener & removed dead code

Few improvements to VpiListener & removed dead code

Introducing visited & callback to VpiListener (like UhdmListener)
Also, merged the logic in vpi_listener into VpiListener itself to get
access to both these containers easily in enter/leave callbacks.
Removed parent and parentHandle parameters from VpiListener::enter/leave.
The parameter itself was misleading since it was called 'parent' but
it may not actually be the true parent of the object in the callback. The
pointer was really the object right below the one on top of the callback
hierarchy. The true parent is available via object->VpiParent() and access
to the call hierarchy is available via callstack. Thus making both these
parameters unnecessary.
VpiListener also has a callback function (enter|leave)Any which gets
called at most once for every visited object. For logic that's
identical for a number of types, this is ideal place to implement it
rather than having to override n number of functions and cloning the
logic.
Fixed up all VpiListener sub-classes like UhdmLint and SynthSubset
Also fixed a few memory leaks in Surelog code.

Codecov Report

Merging #3023 (0345b07) into master (8bf0d05) will increase coverage by 0.04%.
The diff coverage is 11.76%.

@@            Coverage Diff             @@
##           master    #3023      +/-   ##
==========================================
+ Coverage   27.39%   27.44%   +0.04%
==========================================
  Files          99       99
  Lines       32816    32759      -57
==========================================
  Hits         8991     8991
+ Misses      23825    23768      -57

Impacted Files
Coverage Δ

src/DesignCompile/CompileHelper.cpp
30.28% <0.00%> (ø)

src/DesignCompile/UhdmWriter.cpp
26.19% <13.33%> (+0.65%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8bf0d05...0345b07. Read the comment docs.

@alaindargelas One test is failing ClassFsm but the difference seems justified. With this PR the vpiActual is resolving it correct but with the current master it is not.


Add ARRAY support to SnowflakeReader

Recap's SnowflakeReader does not support ARRAY right now. It should.
See https://docs.snowflake.com/en/sql-reference/data-types-semistructured#array for details.
cc @cpard

This depends on https://github.com/recap-build/recap/issues/265

See
https://github.com/recap-build/recap/issues/264
https://github.com/recap-build/recap/pull/411
For discussion about PG's ARRAY implementation.


Update sbt-scalajs-bundler to 0.15.0

Updates ch.epfl.scala:sbt-scalajs-bundler from 0.15.0-0.6 to 0.15.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.epfl.scala", artifactId = "sbt-scalajs-bundler" } ]

labels: semver-pre-release

0.15.0 is for Scala.js 1.x


Promscale don't received metrics in some irregular interval

Hi, we want to use promscale(timescaledb-2-postgresql-14) but we still encounter issue that promscale  irregularly stop receiving metrics from prometheus(prometheus-2.29.1). All data in prometheus are continuously without any drops so problem must by in promscale. We have deployed prosmacle and prometheus on the same host in lxd containers. Prometheus remote_write is:
remote_write:
- url: "http://promscale:9201/write/"
  remote_timeout: 2m
  queue_config:
    capacity: 10000
    max_samples_per_send: 3000
    batch_send_deadline: 1m
    min_shards: 20
    max_shards: 20
    min_backoff: 100ms
    max_backoff: 10s

I will attache log error if any occur soon. We are trying to tune up capacity, max_samples_per_send and timeouts, min/max shards parameters, but without success. Any idea will be appreciated.
Metrics drops in grafana(promscale datasource):

@oersted81 Can you share logs from the Prometheus and Promscale connector instances?

Hi,
logs are in attachment. I was tryig tweek some parameters:
increase max_wal_size in psql to min 4GB/max 32GB
remote_write capacity: 200000 and max_samples_per_send: 10000
but without success. Drops are still there but looks bit regulary.

logs.zip
note. we have aprox. 3500 targets in this  prometheus instance.

Hi, can anyone help? @VineethReddy02 ?

ok, we will switch to different solution(mimir). Can be closed even if there is no response. I can't say thank you, because there is more questions than answers after almost month.


Unable to install chocolatey with cChocoInstaller

Checklist

[X] I have verified this is the correct repository for opening this issue.
[X] I have verified no other issues exist related to my problem.
[X] I have verified this is not an issue for a specific package.
[X] I have verified this issue is not security related.
[X] I confirm I am using official, and not unofficial, or modified, Chocolatey products.

What You Are Seeing?
Following the change made to the install.ps1 script (https://github.com/chocolatey/home/issues/276), the cChocoInstaller fails to install chocolatey as the folder is created before running the install script!
https://github.com/chocolatey/cChoco/blob/69e258775cb0c719c56236b79dd0ce24fbec6835/DSCResources/cChocoInstaller/cChocoInstaller.psm1#L187-L190
The installation failed with the following error message:
[[cChocoInstaller]ChocoInstall]
An existing Chocolatey installation was detected. Installation will not continue. This script will not overwrite
existing installations.

If there is no Chocolatey installation at 'C:\ProgramData\chocolatey', delete the folder and attempt the installation
again.

Please use choco upgrade chocolatey to handle upgrades of Chocolatey itself.

If the existing installation is not functional or a prior installation did not complete, follow these steps:

 - Backup the files at the path listed above so you can restore your previous installation if needed.

 - Remove the existing installation manually.

 - Rerun this installation script.

 - Reinstall any packages previously installed, if needed (refer to the lib folder in the backup).

Once installation is completed, the backup folder is no longer needed and can be deleted.

What is Expected?
Installation folder should not be created before calling the install script so chocolatey can be installed.
How Did You Get This To Happen?
Try to install chocolatey through DSC using:
cChocoInstaller "ChocoInstall"
{
    installDir = "C:\ProgramData\chocolatey"
 }

System Details

Operating System: Windows Server 2022
Windows PowerShell version: 5.1
Chocolatey CLI Version: N/A (installation target 2.2.2)
Chocolatey Licensed Extension version: N/A
Chocolatey License type: N/A
Terminal/Emulator: Powershell

Installed Packages
N/A

Output Log
N/A, chocolatey fail at installation

Additional Context
I will prepare a PR to fix the issue

Thank you for opening this issue @xadozuk. I started seeing a similar behavior yesterday on Windows Server 2022 so this is a breaking change. I install chocolatey using Azure Automation Desired State Configuration:
cChocoInstaller 'Chocolatey' {
    InstallDir = 'c:\choco'
    DependsOn = '[xDSCDomainjoin]JoinDomain'
}

When looking at the system I see there is a c:\choco directory, but there are no binaries in it.
I get the following error from Azure Automation Desired State configuration:
{
    "Exception": {
        "Message": "The PowerShell DSC resource \u0027[cChocoInstaller]Chocolatey\u0027 with SourceInfo \u0027::62::9::cChocoInstaller\u0027 threw one or more non-terminating errors while running the Set-TargetResource functionality. These errors are logged to the ETW channel called Microsoft-Windows-DSC/Operational. Refer to this channel for more details.",
        "Data": {},
        "InnerException": {
            "ErrorRecord": "The term \u0027Choco\u0027 is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.",
            "CommandName": "Choco",
            "WasThrownFromThrowStatement": false,
            "Message": "The term \u0027Choco\u0027 is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.",
            "Data": "System.Collections.ListDictionaryInternal",
            "InnerException": null,
            "TargetSite": "System.Management.Automation.CommandInfo LookupCommandInfo(System.String, System.Management.Automation.CommandTypes, System.Management.Automation.SearchResolutionOptions, System.Management.Automation.CommandOrigin, System.Management.Automation.ExecutionContext)",
            "StackTrace": "   at System.Management.Automation.CommandDiscovery.LookupCommandInfo(String commandName, CommandTypes commandTypes, SearchResolutionOptions searchResolutionOptions, CommandOrigin commandOrigin, ExecutionContext context)\r\n   at System.Management.Automation.CommandDiscovery.LookupCommandProcessor(String commandName, CommandOrigin commandOrigin, Nullable`1 useLocalScope)\r\n   at System.Management.Automation.ExecutionContext.CreateCommand(String command, Boolean dotSource)\r\n   at System.Management.Automation.PipelineOps.AddCommand(PipelineProcessor pipe, CommandParameterInternal[] commandElements, CommandBaseAst commandBaseAst, CommandRedirection[] redirections, ExecutionContext context)\r\n   at System.Management.Automation.PipelineOps.InvokePipeline(Object input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][] commandRedirections, FunctionContext funcContext)\r\n   at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame frame)\r\n   at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)\r\n   at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)",
            "HelpLink": null,
            "Source": "System.Management.Automation",
            "HResult": -2146233087
        },
        "TargetSite": null,
        "StackTrace": null,
        "HelpLink": null,
        "Source": null,
        "HResult": -2146233079
    },
    "TargetObject": null,
    "CategoryInfo": {
        "Category": 7,
        "Activity": "",
        "Reason": "InvalidOperationException",
        "TargetName": "",
        "TargetType": ""
    },
    "FullyQualifiedErrorId": "NonTerminatingErrorFromProvider",
    "ErrorDetails": null,
    "InvocationInfo": null,
    "ScriptStackTrace": null,
    "PipelineIterationInfo": []
}

@xadozuk @doherty100 I wanted to give you a heads-up that I've prioritised this as a high priority, and we are working on it now.

@pauby Thanks for the feedback, I have prepared a PR #180 to solve the issue. I tested it in a lab and its working (at least for my use case).
I am not sure of the impact that it can have (if some other choco components rely on the folder existing prior to installation).

Will a new version of cChoco be released to support this fix?

@pauby suggest you keep this open until a new release is published given the scope and impact of this issue.

@doherty100 said...
@pauby suggest you keep this open until a new release is published given the scope and impact of this issue.

The process that we follow is one that when the code that fixing the issue has been merged, the issue is closed.  The issue will then appear within a milestone, which is then closed once things have been published.
This is the process that we follow across all of the Chocolatey Product Repositories.

@gep13 that process works if you are also automatically publishing releases (or even pre-release packages). As it is, the cChoco module is unusable (due to what seems like a pointless fix in the first place). Since this has been tagged as a high priority issue, is there a published timeline somewhere of how long it will take before a release is published after the fix has been merged?

@jackmtpt I appreciate you don't agree with the process, but that is the process we use.
I've added the 4 - Done label, as this was missing from the issue. Once it has been released, we will add the 5 - Released label.

due to what seems like a pointless fix in the first place, which wasn't properly tested

With all due respect to you, you don't have information to make a judgement on whether the fix was pointless, or what testing was done. The comment doesn't add anything to the issue, so please refrain from adding things like this in the future, as it only serves to irritate and antagonise.

Since this has been tagged as a high priority issue, is there a published timeline somewhere of how long it will take before a release is published after the fix has been merged?

The fix is undergoing testing and will be made by early next week.

The fix is undergoing testing and will be made by early next week.

@pauby thanks for the update on timing, I will reach out to my customers who are impacted to set expectations.

Confirmed cChoco v2.6.0 resolves the issue, thanks @pauby and team for the lightning fast turn around!


Incorrect format when casting datetime to string

Casting a datetime to a string outputs the result with a T separating the date and time (as in ISO8601), whereas BigQuery outputs this with a space separator (as in
SELECT CAST(DATETIME(1987, 1, 25, 0, 0, 0) AS STRING) yields "1987-01-25T00:00:00" in the emulator but "1987-01-25 00:00:00" in BigQuery itself.

Possibly relatedly, it also does not seem to respect the format clause. The following still yields a result with the T separator: SELECT CAST(DATETIME(1987, 1, 25, 0, 0, 0) AS STRING FORMAT 'YYYY-MM-DD HH:MM:SS')

@colincadams Did you manage to fix this problem?


chore(readme): add datasets detail in readme

For now, the scale isn't specified. I'm using audacity to export the audio file, by default the scale it uses is Mel and it turns out the tensor padding wont work. When I try to check the tensor shape, it became like this

Meanwhile the provided data from repository shape's like this

For this case, I use Audacity to export the .wav file, after I turn on the multi-view settings on the audio file and change the scale's spectrogram settings for that audio to Linear I am able to achieve similar shape like the provided audio file from repository.

Thank you for your help! But the scale of spectrogram views in Audacity is just a different observation scale and does not change the file itself. You just need to convert the audio to mono.

ok, noted i guess this isn't needed then. thank you!


go/oasis-test-runner: Fix e2e/consensus-state-sync scenario (take two)

Previous "fix" (see #3194) actually made the test silently skip actually performing state sync because it used the wrong validator index.

Maybe we could make the test more robust by emitting log events.


Consider using bufferingPolicy default value .unbounded

Swift protocols don't allow to use default values for method params, so API ended up with bufferingPolicy = .unbounded everywhere which is inconvenient and adds a lot of noise in the doc samples. All subscription objects should contain a method without this parameter.
┆Issue is synchronized with this Jira Task by Unito

wdyt @lawrence-forooghian @umair-ably @ttypic @AndyTWF @m-hulbert

This is what we discussed on Slack, right? I think it is a good idea.

Sorry I'm not entirely au fait with Swift - can you give me an example of before vs after please? :)

it's
let subscription = chatClient.connection.onStatusChange(bufferingPolicy: .unbounded)
vs
let subscription = chatClient.connection.onStatusChange()

I’ll do this one


Move image view extension to standard

This is being used by several customers, and feedback is that it is good to be promoted to standard.
Extension will still be kept to facilitate transition.
Signed-off-by: Jaime Arteaga<EMAIL_ADDRESS>

@bashbaug :

The extension name needs to include "extension".

We are here moving the experimental extension to standard interface. Do you want to move it to standard extension instead?

Is this PR just for the "image view" extension or is it also intending to include the "image view planar" extension as well?

it is for both.

We are here moving the experimental extension to standard interface. Do you want to move it to standard extension instead?

I don't have a strong opinion about a standard extension vs. a part of the core specification.  I think this mostly depends whether we want this functionality to be optionally supported (in which case it should probably remain an extension) or whether it should be required (in which case it should be part of the core specification).
If it's part of the core specficiation though, I think it should move out the extension YAML file(s) and into the core specification files.  Note that not all parts will need to move, for example there is no need to have the "name" or "version" in the core specfication.

thanks @bashbaug . Considering what you are saying about having to be required, then i think it is better to keep it as extension, since we should think more if it should be required (this started as an experimental extension, which means from the beginning when we added images APIs we didnt even think this was required).

I have one specific comment and two general comments. The general comments are:

I think we also need to define landing pages for the standard extensions EXT_ImageView and EXT_ImageViewPlanar.  These can more-or-less be copies of the experimental extension landing pages EXT_Exp_ImageView and EXT_Exp_ImageViewPlanar, for now at least.
Do we want to deprecate the experimental extensions and/or signpost to the standard extension instead?  Presumably we'll want to remove the experimental extensions at some point, after applications have had a chance to switch over to the standard extensions.

@bashbaug : Good idea. Don for both.


spec: is dict[k] an error if k is unhashable?

The Go implementation of Starlark, following Python2 and 3, rejects a dictionary operation in which the key is unhashable:
$ starlark -c '{}.get([])'
Traceback (most recent call last):
  cmdline:1:7: in <toplevel>
  <builtin>: in get
Error: get: unhashable type: list

$ python2 -c '{}.get([])'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
TypeError: unhashable type: 'list'

$ python3 -c '{}.get([])'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
TypeError: unhashable type: 'list'

By contrast, the Java implementation permits a lookup with any value, including unhashable ones. The lookup fails, though it is not necessarily an error, so execution may continue:
$ blaze-bin/third_party/bazel/src/main/java/com/google/devtools/starlark/Starlark
>> {}.get([])
None

(This behavior occurs even when the dict is non-empty, so it can't be explained as the implementation taking a shortcut for empty dicts.)
Clearly, the Java implementation is in fact hashing the key, so the error message ("unhashable type") issued by an update operation such as {}.update([([], 1)]) seems not to tell the whole story.
I think the spec should state that all dict operations attempt to hash the key (even when unnecessary, such as {}.get(k)) and fail if the key is unhashable.

See https://github.com/bazelbuild/bazel/issues/8730

See also https://github.com/google/starlark-go/issues/113 and https://github.com/google/starlark-go/pull/165

More weirdness: are functions hashable or not?
% starlark
Welcome to Starlark (go.starlark.net)
>>> {len: 1}
{<built-in function len>: 1}
>>> len in {}
False
>>> {}.get(len, False)
False

% python2
Python 2.7.17rc1 (default, Oct 10 2019, 10:26:01)
>>> {len: 1}
{<built-in function len>: 1}
>>> len in {}
False
>>> {}.get(len, False)
False

% python3.8
Python 3.8.1 (default, Dec 31 2019, 14:30:41)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> {len: 1}
{<built-in function len>: 1}
>>> len in {}
False
>>> {}.get(len, False)
False

% blaze-bin/third_party/bazel/src/main/java/com/google/devtools/starlark/Starlark
>> {len: 1}
unhashable type: 'function'
>> len in {}
unhashable type: 'function'
>> {}.get(len, False)
unhashable type: 'function'


[WIP] Add Documentation for CRD Validation Racheting

Placeholder for KEP-4008

/milestone 1.28

/close
going to reopen with proper base branch for the bot


Automated cherry pick of #1747: Run make gen-versions to update CRD

Cherry pick of #1747 on release-v1.25.
#1747: Run make gen-versions to update CRD

/merge-when-ready

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and leave the branch after I've merged it.


[Events. Create event] Address for the offline event location was changed after publishing/ after applying to all days

Environment: OS: Windows 11 Pro, version 22H2, build 22621.2861
Browser: Firefox version 121.0
Reproducible: sometimes
Build found: 11.01.2024
Preconditions

The site GreenCity is opened
User is logged in
Localization UA is chosen
The 'Events' page is opened

Steps to reproduce
Case1:

Click on the 'Create event' button
Fill in mandatory fields 'Title', 'Events Description', pick 'Initiative type', 'Date', 'Start Time', 'End Time'
Select the 'Place' checkbox
In the 'Location' field enter the address "вулиця Квітки-Основ'яненка, 15, Львів, Львівська область, Україна" and pick the address from the dropdown list
Click the 'Publish' button

Actual result
In the preview event card, on the 'Events' page, the address is changed to "Україна, Львів, вулиця Квітки-Основ'яненка, 16"

Expected result
In the preview event card, on the 'Events' page, the address, that was specified during creating the event, is shown.
Case 2:

Steps 1-3 from Case 1
In the 'Location' field enter the address "вулиця Сковороди, 16, Хмельницький, Хмельницька область, Україна" and pick the address from the dropdown list
Select 'Apply to all days of the event' checkbox
Observe addresses in the 'Location ' fields for all days

Actual result: Addresses for for 2nd and next days are displayed with different number of the building

Expected result: Addresses for all days are the same.
User story and test case links
User story #4232
Test case GC-5445

There are no buildings in Ukraine under numbers mentioned above, so it is working correctly


[CWS] bundled rules per origin

What does this PR do?
Apply bundled rules only on specific platform/probe.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
We shouldn't see any error on ebpfless platform for "rename" rules.

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided. Except if the qa/skip-qa label, with required either qa/done or qa/no-code-change labels, are applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge


Add go.mod file

To allow development outside a GOPATH, a go.mod file could be added.

@robbertkl Do we need this?

It could be useful, but I personally don't need it for development.

Closing due to inactivity


⚠ Samsung has degraded performance

In 3826a46, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2888 ms

Resolved: Samsung performance has improved in 9180c54.


NoneType object cannot be interpreted as integer

After training when I run the command to see the trained actions, it does'nt work

python player.py --env ./env/Tennis_Linux/Tennis.x86_64 --agent maddpg --model ./runs/2019-07-11-203509/multi

It does not create a src folder but it creates the runs folder that contains the logs and pth files.

The code looks fine to me. Dont know why I am getting this error.

Hi!!!
I have the same problem...
Could someone help?
Thank you in advance!!

It's simple. The data type of object is NoneType.
Check type(variable/object)
It will return None. Convert it into required data type.

Thank you very much!!!


EXCEPTION: St12out_of_range

I have successfully compiled and run a testnet node after the 22/11 updates, but I am repeatedly getting this error in the terminal:
************************
EXCEPTION: St12out_of_range
CInv::GetCommand(): type=1073741826 unknown type
zcoin in ProcessMessages() 2

Yup this is a known issue and will be solved in next code push. Thanks for informing!


Replaced a javax ValidationException with IllegalArgumentException

Because we're removing all javax.xml.bind classes since they are removed
in java 9.
The ValidationException is eventually subsumed into a general Exception
by the caller anyway and there's no reason for this specific exception
to be retained.

cc @jenkinsci/java11-support

Thanks @AniketSK


rename cdf method for splines

Issue #, if available:
Description of changes:
rename ._cdf -> .cdf method for splines
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-133/1 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-133/1/index.html


Don't ask for circle_token until it is needed

Lower user frustration by performing the tests before asking the user to paste in their circle_token.

Thanks @cclauss
I've folded these fixes (found several more instances of test_branch to replace as well) into PR #9 which prints repo and vcs before prompting for token.


General questions regarding real-time C++

Thank you sir for producing such an excellent book for helping hobbyists like me understand a little about building real-time systems with microcontrollers.
I looked through the book and noticed that you had timings for some of your C++ methods.  How did you calculate how long those methods took to execute?  How did you confirm that those methods consistently took that amount of time to execute?  Did you have a special test tool or did you just add a real-time clock to your circuit and ran the same method multiple times to see if the execution times were consistent?  How does one calculate the length of time for a method to execute during the architecture phase?

How did you calculate how long those methods took to execute?

The times listed in the book are not calculated times, but rather measured times. The measurement technique used in most of these measurements is trivially simple. A digital port is toggled to high just prior to calling the sequence-to-be-measured and the same port is toggled low immediately following the sequence-to-be-measured. The resulting pulse is viewed and analyzed o´n a digital oscilloscope.

How did you confirm that those methods consistently took that amount of time to execute?

It depends on the code sequence. Some code sequences have alomst no variance whatsoever in they do not have brances (if) and the like. These code sequences usually run in constant time. If a sequence has branches, then various inputs in a range can be used to measure a statistical distribution of the runtime. For very short sequences, global interrupts can also be disabled prior to the measurement and enabled afterwards. But the sequence must be short and remember to always activate interrupts following the measurement. These measurements should not be present in production code.

Did you have a special test tool or did you just add a real-time clock to your circuit and ran the same method multiple times to see if the execution times were consistent?

You could in principle use either. In these simple measurements, a digital port toggle high and low has been used. If you intend to seup a digital real-time tick, you can use a free-running timer in the microcontroller peripherals. Start and stop times can be derived from a free-running timer. If you have access to the  header, yyou can build up a digital stopwatch with these functions. But you must ensure that chrono has an underlying tick in the system with fine granularity such as microseconds. There are several tools available on the market for real time measurements, but these can be too expensive for hobby domain.

How does one calculate the length of time for a method to execute during the architecture phase?

If you are using a multitasking scheduler, you should familiarize yourself with peak and average cacle times and periods of each task in the multitasking scheduler. The same goes for interrupt run times.
Please feel to refine or extend the questions in this issue here, as needed.
In addition, in the book, see Sects. 9.6 and B.3 for further information on these topics.
Also, a runtime measurement in code can be found at the lines below:
line 31
line 38
line 81
Kind regards, Chris.


Getting a SimpleJson error when running tvnamer on ANY file

# Starting tvnamer
# Found 1 episode
# Processing file: Arrow.S06E17.720p.HDTV.x264-AVS.mkv
# Detected series: Arrow (season: 6, episode: 17)
Traceback (most recent call last):
File "/usr/local/bin/tvnamer", line 11, in
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/tvnamer/main.py", line 436, in main
tvnamer(paths = sorted(args))
File "/usr/local/lib/python2.7/dist-packages/tvnamer/main.py", line 342, in tvnamer
processFile(tvdb_instance, episode)
File "/usr/local/lib/python2.7/dist-packages/tvnamer/main.py", line 170, in processFile
episode.populateFromTvdb(tvdb_instance, force_name=Config['force_name'], series_id=Config['series_id'])
File "/usr/local/lib/python2.7/dist-packages/tvnamer/utils.py", line 640, in populateFromTvdb
show = tvdb_instance[force_name or self.seriesname]
File "/usr/local/lib/python2.7/dist-packages/tvdb_api.py", line 1182, in getitem
sid = self._nameToSid(key)
File "/usr/local/lib/python2.7/dist-packages/tvdb_api.py", line 1163, in _nameToSid
selected_series = self._getSeries(name)
File "/usr/local/lib/python2.7/dist-packages/tvdb_api.py", line 963, in _getSeries
allSeries = self.search(series)
File "/usr/local/lib/python2.7/dist-packages/tvdb_api.py", line 943, in search
seriesEt = self._getetsrc(self.config['url_getSeries'] % (series))
File "/usr/local/lib/python2.7/dist-packages/tvdb_api.py", line 903, in _getetsrc
src = self._loadUrl(url, language=language)
File "/usr/local/lib/python2.7/dist-packages/tvdb_api.py", line 850, in _loadUrl
self.authorize()
File "/usr/local/lib/python2.7/dist-packages/tvdb_api.py", line 891, in authorize
r_json = r.json()
File "/usr/local/lib/python2.7/dist-packages/requests/models.py", line 819, in json
return json.loads(self.text, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/simplejson/init.py", line 518, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python2.7/dist-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/usr/local/lib/python2.7/dist-packages/simplejson/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Likewise, has something changed in the thetvdb?

It seems the API is actually down, handleing this situation a bit better would be nice but there is nothing fundamentally wrong with tvnamer or tvdb-api
https://forums.thetvdb.com/viewtopic.php?f=17&t=46729


checkov: 2.0.692 -> 2.0.693

Motivation for this change
https://github.com/bridgecrewio/checkov/releases/tag/2.0.693
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 152376 run on x86_64-linux 1

1 package built:

checkov

@ofborg build checkov


Error: no matching Route53Zone found

Following the custom domain example, I get this error:
Error: no matching Route53Zone found

  on .terraform/modules/tf_next/main.tf line 240, in data "aws_route53_zone" "alias_domains":
 240: data "aws_route53_zone" "alias_domains" {

Note how this data block just picks up the first item from domain names, which is set to domain_names      = [local.custom_domain] in the example, and thus has no trailing dot. Could that be the issue? Although updating to  domain_names      = ["${local.custom_domain}."] does not fix it.

Managed to fix it with
 data "aws_route53_zone" "alias_domains" {
   count = var.create_domain_name_records ? length(var.domain_zone_names) : 0

-  name = var.domain_zone_names[count.index]
+  zone_id = var.domain_zone_names[count.index]
 }

and I'd submit a PR, but I can't figure out how to find this .terraform/modules/tf_next/main.tf file on GitHub 😕

Thanks for reporting, currently busy but will take a look by tomorrow 👍
The main.tf can be found here:
https://github.com/dealmore/terraform-aws-next-js/blob/7adffcf2e632a25bba14d4d394835da97c201f69/main.tf#L243

No worries, thanks for publishing this module!


clarification about units and export size

It's possible this is really just a documentation request, but I think it'd be nice to have some clarification around what units ShapeScript is using when exporting. It would be great if the documentation under "Export" clarified what is happening more specifically.
More about my problem/situation:
I have done some 3D printing previously using exported .stl files produced by ShapeScript, but at that time I wasn't too concerned about exact sizing. For my current project, the size matters quite a bit, and I've been working in ShapeScript with the convention that 1 == 1cm, but I'm fairly sure ShapeScript is exporting 1 as 1 inch.
My 3D printing software (PrusaSlicer) actually gives me a warning that it thinks the units are inches, and asks if I want to convert. I think in the past I've just said "sure" and clicked through that dialog, but silly me, I thought I could just say "no thanks" and that would be enough for my geometry to work with metric units, but when I do that, the size is not correct no matter what factor of 10 I use, so I think that's not how it works.
My guess is that I probably need to convert my units to inches before export, and then let PrusaSlicer convert them back. Please let me know if it still doesn't seem like I understand what's going on. 😂
The (likely much more difficult) feature request would be for some way to specify metric unit sizing on export.

I don't think any of ShapeScript's export formats have the concept of units built into them. STL files certainly have no such concept.
A value of one unit in your ShapeScript file maps directly to one unit in an exported STL file.
So the question is really what units PrucaSlicer is assuming when it imports an STL?

 PrusaSlicer assumes mm sizes. It was giving me that warning because I wrote my ShapeScript file with cm sizes, so it was off by a factor of 10, but that wasn't actually the issue. I just had the wrong idea about how big my model was going to be. I wrote this whole issue on the assumption that the size of my model in Prusa Slicer "looked wrong", but it turns out it was not wrong.
Sorry for the hassle!

@mgrider no problem at all, glad you got it sorted!


Relabel: PXDN-related ocular dysgenesis

Mondo term (ID and Label): MONDO:0010015; [anterior segment dysgenesis 7]
Suggested new label: PXDN-related ocular dysgenesis
Your nano-attribution (ORCID) https://clinicalgenome.org/affiliation/40077/
If you don't have an ORCID, you can sign up for one here
Optional: Any additional information (like supporting evidence, PubMed ID, etc.) PXDN is also related to microphthalmia that forms a spectrum of disease along with anterior segment dysgenesis.

Thanks @Mohan-Shruthi, we'll work on this in November (or later). Thanks for your patience!

@Mohan-Shruthi we prefer to use the OMIM labels but we can add this as a synonym with a ClinGen preferred subset tag.


Cannot search for numbers

Hi, thanks for such a useful gem.
It seems like search doesn't work for numbers?
The rest seems great.

I just noticed this too, I would really like having that feature, one of the things I've made fuzzy searchable is a street address field, the number matching makes sense there.