Specs fail following upgrade from 4.3.1 to 4.4.0

I have these pretty standard specs:
require 'rails_helper'

describe 'Visitor triggers Rack::Attack throttling' do
  include Rack::Test::Methods

  def app
    Rails.application
  end

  ...

  describe "throttle excessive POST requests to /u/sign_in by IP address" do
    let(:limit) { 5 }
    let(:login_url) { '/u/sign_in' }

    context "number of requests is lower than the limit" do
      it "does not change the request status" do
        limit.times do |i|
          post login_url, { email<EMAIL_ADDRESS>}, "REMOTE_ADDR" => "<IP_ADDRESS>"
          expect(last_response.status).to_not eq(429)
        end
      end
    end
  end
end

and they worked fine prior to the upgrade. Now I get:

  1) Visitor triggers Rack::Attack throttling throttle excessive POST requests to /u/sign_in by IP address number of requests is lower than the limit does not change the request status
     Failure/Error: post login_url, { email<EMAIL_ADDRESS>}, "REMOTE_ADDR" => "<IP_ADDRESS>"

     LoadError:
       cannot load such file -- dalli
     # ./spec/features/visitor_triggers_rack_attack_throttling_spec.rb:43:in `block (5 levels) in <top (required)>'
     # ./spec/features/visitor_triggers_rack_attack_throttling_spec.rb:42:in `times'
     # ./spec/features/visitor_triggers_rack_attack_throttling_spec.rb:42:in `block (4 levels) in <top (required)>'

I'm not using memcached:
# environment/test.rb
config.cache_store = :memory_store

So in the meantime I switched over to using Redis as the cache store, but 4.4.0 still causes the specs to fail:
You don't have dalli installed in your application. Please add it to your Gemfile and run bundle install

Why is this dependency introduced?

Thanks for reporting this bug. I'll try to track it down.
On Fri, Feb 12, 2016 at 12:30 PM Tirdad C<EMAIL_ADDRESS>wrote:

So in the meantime I switched over to using Redis as the cache store, but
4.4.0 still causes the specs to fail:
You don't have dalli installed in your application. Please add it to your Gemfile and run bundle install
Why is this dependency introduced?
—
Reply to this email directly or view it on GitHub
https://github.com/kickstarter/rack-attack/issues/163#issuecomment-183421772
.

@tirdadc It's not obvious to me how the dalli dependency was introduced. It's certainly unintentional. :bug:
Can you please include a longer backtrace to help debug the issue? In particular, please include the lines  including rack/attack/*.
Thanks!

@ktheory sure thing:
You don't have dalli installed in your application. Please add it to your Gemfile and run bundle install
Coverage report generated for RSpec to /private/var/srv/testproject/public/coverage. 0.0 / 0.0 LOC (100.0%) covered.
/Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require': cannot load such file -- dalli (LoadError)
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `block in require'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in `load_dependency'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/cache/mem_cache_store.rb:2:in `<top (required)>'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `block in require'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in `load_dependency'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-attack-4.4.0/lib/rack/attack/store_proxy.rb:10:in `build'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-attack-4.4.0/lib/rack/attack/cache.rb:14:in `store='
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-attack-4.4.0/lib/rack/attack/cache.rb:8:in `initialize'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-attack-4.4.0/lib/rack/attack.rb:74:in `new'
	from /Users/tirdad/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-attack-4.4.0/lib/rack/attack.rb:74:in `cache'
	from /private/var/srv/testproject/config/initializers/rack-attack.rb:18:in `<class:Attack>'
	from /private/var/srv/testproject/config/initializers/rack-attack.rb:1:in `<top (required)>'

I've got the exact same issue after upgrading from 4.3.0:
/home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require': cannot load such file -- dalli (LoadError)
  from /home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `block in require'
  from /home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:240:in `load_dependency'
  from /home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:274:in `require'
  from /home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/activesupport-<IP_ADDRESS>/lib/active_support/cache/mem_cache_store.rb:2:in `<top (required)>'
  from /home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/rack-attack-4.4.0/lib/rack/attack/store_proxy.rb:10:in `build'
  from /home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/rack-attack-4.4.0/lib/rack/attack/cache.rb:14:in `store='
  from /home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/rack-attack-4.4.0/lib/rack/attack/cache.rb:8:in `initialize'
  from /home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/rack-attack-4.4.0/lib/rack/attack.rb:74:in `new'
  from /home/dmke/.rbenv/versions/ruby-2.2/gemsets/testapp/gems/rack-attack-4.4.0/lib/rack/attack.rb:74:in `cache'
  from /home/dmke/code/testapp/config/initializers/rack-attack.rb:2:in `<class:Attack>'
  from /home/dmke/code/testapp/config/initializers/rack-attack.rb:1:in `<top (required)>'

My config/initializers/rack-attack.rb reads:
class Rack::Attack
  Rack::Attack.cache.store   = ActiveSupport::Cache::RedisStore.new
  Rack::Attack.cache.prefix  = 'testapp:rack:attack'
  # snip
end

Ok, made some progress tracking this down. This'll affect anyone using ActiveSupport & not dalli.
In StoreProxy, we check:
defined?(::ActiveSupport::Cache::MemCacheStore)

This causes MemCacheStore to autoload, which triggers the dalli load error.
I'm working on a patch.

Please upgrade to v4.4.1. That should fix this. :smile:
Thanks for reporting this and helping me track it down.


Support "multi_license_permissive" attribute for xray license policies

Describe the bug
Current version of provider does not allow passing attribute 'multi_license_permssive' as documented in the xray v2 restful apis.
Requirements for and issue

[x] A fully functioning terraform snippet that can be copy&pasted (no outside files or ENV vars unless that's part of the issue)

resource "xray_policy" "lic_policy" {
  name = "lic_policy"
  description = "License policy"
  type = "license"

  rules {
    name = "lic_rule"
    criteria {
      banned_licenses = [
      ...
      ]
      multi_license_permissive = true
    }
    actions {
      ...
    }
  }
}

[x] Your version of artifactory (you can curl it at $host/artifactory/api/system/version

7.17.5

[x] Your version of terraform

Terraform v.0.15.4
+ provider registry.terraform.io/jfrog/artifactory v2.3.1

Expected behavior
Provider should support latest restful APIs and attributes.  Allow to pass "multi_license_permissive" attribute for license xray policies.
Additional context
https://www.jfrog.com/confluence/display/JFROG/Xray+REST+API#XrayRESTAPI-CreatePolicy
License sample #3
{
    “name”: “lic_policy”,
    “description”: “License policy”,
    “type”: “license”,
    “rules”: [
         {
            “name”: “lic_rule”,
            “criteria”: {
                “banned_licenses”: [
                    “Apache-1.0",
                    “Apache-2.0”
                ],
                “allow_unknown”: true,
                “multi_license_permissive”: true
            },
            “actions”: {
                 “webhooks”: [],
                 “block_download”: {
                     “active”: true
                     “unscanned”: true
                 },
                 “block_release_bundle_distribution”: true,
                 “fail_build”: true,
                 “custom_severity”: “high”
             },
             “priority”: 1
         }
    ]
}```

Correct. This is not a bug as the policy code uses the V1 api. I can change this to a feature request


add layer names in inspect output

The current stacker inspect output prints a summary of image layers for example (only showing the layer parts)
ubuntu-minimal
    layer 0: 4e47402319bc... (128 MB, application/vnd.oci.image.layer.v1.tar+gzip)
...
u3
    layer 0: 4e47402319bc... (128 MB, application/vnd.oci.image.layer.v1.tar+gzip)
    layer 1: f8c5ad09a689... (62 MB, application/vnd.oci.image.layer.v1.tar+gzip)
...

Would it be possible to include the layer name along with the shorten hash;  as a human, comparing the layer names is preferential when trying to understand the composition of an image; something like
ubuntu-minimal
    layer 0: ubuntu-minimal  (4e47402319bc..., 128 MB, application/vnd.oci.image.layer.v1.tar+gzip)
...
u3
    layer 0: ubuntu-minimal  (4e47402319bc..., 128 MB, application/vnd.oci.image.layer.v1.tar+gzip)
    layer 1: u3              (f8c5ad09a689..., 62 MB, application/vnd.oci.image.layer.v1.tar+gzip)
...

This would be neat; what about when two tags point to the same layers? I guess render them both?

This would be neat; what about when two tags point to the same layers? I guess render them both?

So I wrote an implementation of this, and it turns out the answer is "no, only the first image with these layers should represent them"; that's in e.g.;
base:
  from:
    type: docker
    url: docker://ubuntu:latest
child:
  from:
    type: built
    tag: base
  run: |
    touch /foo

You'll get output like this:
base
	layer 0: base, child da7391352a9b... (29 MB, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 1: base, child 14428a6d4bcd... (847 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 2: base, child 2c2d948710f2... (162 B, application/vnd.oci.image.layer.v1.tar+gzip)
child
	layer 0: base, child da7391352a9b... (29 MB, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 1: base, child 14428a6d4bcd... (847 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 2: base, child 2c2d948710f2... (162 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 3:       child 08a88e848b6e... (100 B, application/vnd.oci.image.layer.v1.tar+gzip)

Which is confusing, but correct, since child is a tag that points to those base layers.

So I wrote an implementation of this, and it turns out the answer is "no, only the first image with these layers should represent them"; that's in e.g.;
base:
  from:
    type: docker
    url: docker://ubuntu:latest
child:
  from:
    type: built
    tag: base
  run: |
    touch /foo

You'll get output like this:
base
	layer 0: base, child da7391352a9b... (29 MB, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 1: base, child 14428a6d4bcd... (847 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 2: base, child 2c2d948710f2... (162 B, application/vnd.oci.image.layer.v1.tar+gzip)
child
	layer 0: base, child da7391352a9b... (29 MB, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 1: base, child 14428a6d4bcd... (847 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 2: base, child 2c2d948710f2... (162 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 3:       child 08a88e848b6e... (100 B, application/vnd.oci.image.layer.v1.tar+gzip)

Which is confusing, but correct, since child is a tag that points to those base layers.

So I wrote an implementation of this, and it turns out the answer is "no, only the first image with these layers should represent them"; that's in e.g.;
base:
  from:
    type: docker
    url: docker://ubuntu:latest
child:
  from:
    type: built
    tag: base
  run: |
    touch /foo

You'll get output like this:
base
	layer 0: base, child da7391352a9b... (29 MB, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 1: base, child 14428a6d4bcd... (847 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 2: base, child 2c2d948710f2... (162 B, application/vnd.oci.image.layer.v1.tar+gzip)
child
	layer 0: base, child da7391352a9b... (29 MB, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 1: base, child 14428a6d4bcd... (847 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 2: base, child 2c2d948710f2... (162 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 3:       child 08a88e848b6e... (100 B, application/vnd.oci.image.layer.v1.tar+gzip)

Which is confusing, but correct, since child is a tag that points to those base layers.

This is very confusing to me.  Why isn't it like this?
base
  layer 0: base ....
child:
  layer 0: base ...
  layer 1: child

AFAICT, we only have two layers:
da7391352a9b, 29MB which is (and I think should be described wth url, docker://ubuntu:latest)
08a88e848b6e, 100B which is (child.run which does touch /foo)
What's 14428a6d4bcd and 2c2d948710f2 and why are they there?
If these two layers represent something stacker is doing, (like from, import
or run) I think they should get annotated as such.
base
  layer 0: base <hash1> <from: docker://ubuntu:latest> (size, type)
  layer 1: base <hash2> <repack of layer0 by stacker>  (size, type)  # or whatever this layer is
  layer 2: base <hash3> < whatever this layer is>      (size, type)
child:
  layer 0: base <hash1> <from: base>
  ...
  layer 3: child <hash4> <run script> (size, type)

child is a tag that points to those base layers

I don't think it's useful to repeat the tags of the image being built, rather
pointing where it came from provides me with what I'd like to see.  That is
base:
  layer0: base (...)

Which is true, but not as informative as something that give me an
understanding of how this oci is composed (without having the stacker.yaml)
base:
  layer0: from: docker://ubuntu:latest (...)
  layer1: run:

So I wrote an implementation of this, and it turns out the answer is "no, only the first image with these layers should represent them"; that's in e.g.;
base:
  from:
    type: docker
    url: docker://ubuntu:latest
child:
  from:
    type: built
    tag: base
  run: |
    touch /foo

You'll get output like this:
base
	layer 0: base, child da7391352a9b... (29 MB, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 1: base, child 14428a6d4bcd... (847 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 2: base, child 2c2d948710f2... (162 B, application/vnd.oci.image.layer.v1.tar+gzip)
child
	layer 0: base, child da7391352a9b... (29 MB, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 1: base, child 14428a6d4bcd... (847 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 2: base, child 2c2d948710f2... (162 B, application/vnd.oci.image.layer.v1.tar+gzip)
	layer 3:       child 08a88e848b6e... (100 B, application/vnd.oci.image.layer.v1.tar+gzip)

Which is confusing, but correct, since child is a tag that points to those base layers.

This is very confusing to me.  Why isn't it like this?
base
  layer 0: base ....
child:
  layer 0: base ...
  layer 1: child

AFAICT, we only have two layers:
da7391352a9b, 29MB which is (and I think should be described wth url, docker://ubuntu:latest)
08a88e848b6e, 100B which is (child.run which does touch /foo)
What's 14428a6d4bcd and 2c2d948710f2 and why are they there?
If these two layers represent something stacker is doing, (like from, import
or run) I think they should get annotated as such.
base
  layer 0: base <hash1> <from: docker://ubuntu:latest> (size, type)
  layer 1: base <hash2> <repack of layer0 by stacker>  (size, type)  # or whatever this layer is
  layer 2: base <hash3> < whatever this layer is>      (size, type)
child:
  layer 0: base <hash1> <from: base>
  ...
  layer 3: child <hash4> <run script> (size, type)

child is a tag that points to those base layers

I don't think it's useful to repeat the tags of the image being built, rather
pointing where it came from provides me with what I'd like to see.  That is
base:
  layer0: base (...)

Which is true, but not as informative as something that give me an
understanding of how this oci is composed (without having the stacker.yaml)
base:
  layer0: from: docker://ubuntu:latest (...)
  layer1: run:

What's 14428a6d4bcd and 2c2d948710f2 and why are they there?

They are shipped as part of ubuntu://latest (aka, it is a collection of three layers and not one)

don't think it's useful to repeat the tags of the image being built,

I agree :) The question is how to actually derive the result we want. If someone has done an umoci tag foo bar, it seems like the output should reflect that.

Which is true, but not as informative as something that give me an understanding of how this oci is composed (without having the stacker.yaml)

Sure, we could probably do some fancier introspection like that. Perhaps I'll punt on this for now then, since it looks like more than just a quick hack. Here's my implementation if anyone wants to use it as a base for future work: https://github.com/tych0/stacker/commit/a92938291c8da6d8dec52d69934641a28a106627

What's 14428a6d4bcd and 2c2d948710f2 and why are they there?

They are shipped as part of ubuntu://latest (aka, it is a collection of three layers and not one)

don't think it's useful to repeat the tags of the image being built,

I agree :) The question is how to actually derive the result we want. If someone has done an umoci tag foo bar, it seems like the output should reflect that.

Which is true, but not as informative as something that give me an understanding of how this oci is composed (without having the stacker.yaml)

Sure, we could probably do some fancier introspection like that. Perhaps I'll punt on this for now then, since it looks like more than just a quick hack. Here's my implementation if anyone wants to use it as a base for future work: https://github.com/tych0/stacker/commit/a92938291c8da6d8dec52d69934641a28a106627

What's 14428a6d4bcd and 2c2d948710f2 and why are they there?

They are shipped as part of ubuntu://latest (aka, it is a collection of three layers and not one)

Interesting.  I wonder if there are some patterns to follow here;  for example
in bzr, one could pass the -n parameter to bzr log and it would show all of
the commits from a branch rather than the top-level/merge commit which was
typically a summary.
Generally, I don't need to know how many layers my from: or import: image uses
but at times one may want "full disclosure" output.

don't think it's useful to repeat the tags of the image being built,

I agree :) The question is how to actually derive the result we want. If someone has done an umoci tag foo bar, it seems like the output should reflect that.

The umoci tag to me is just like a symlink; so I'd display those just like
symlinks are in the filesystem (bar -> foo).

Which is true, but not as informative as something that give me an understanding of how this oci is composed (without having the stacker.yaml)

Sure, we could probably do some fancier introspection like that. Perhaps
I'll punt on this for now then, since it looks like more than just a quick
hack. Here's my implementation if anyone wants to use it as a base for
future work:
tych0@a929382

OK.  I'll see if I can pull together some more examples from layers we're
building so we can see what output looks good and how to provide clean, clear
output and allow users to drill down for more information.

What's 14428a6d4bcd and 2c2d948710f2 and why are they there?

They are shipped as part of ubuntu://latest (aka, it is a collection of three layers and not one)

Interesting.  I wonder if there are some patterns to follow here;  for example
in bzr, one could pass the -n parameter to bzr log and it would show all of
the commits from a branch rather than the top-level/merge commit which was
typically a summary.
Generally, I don't need to know how many layers my from: or import: image uses
but at times one may want "full disclosure" output.

don't think it's useful to repeat the tags of the image being built,

I agree :) The question is how to actually derive the result we want. If someone has done an umoci tag foo bar, it seems like the output should reflect that.

The umoci tag to me is just like a symlink; so I'd display those just like
symlinks are in the filesystem (bar -> foo).

Which is true, but not as informative as something that give me an understanding of how this oci is composed (without having the stacker.yaml)

Sure, we could probably do some fancier introspection like that. Perhaps
I'll punt on this for now then, since it looks like more than just a quick
hack. Here's my implementation if anyone wants to use it as a base for
future work:
tych0@a929382

OK.  I'll see if I can pull together some more examples from layers we're
building so we can see what output looks good and how to provide clean, clear
output and allow users to drill down for more information.

Generally, I don't need to know how many layers my from: or import: image uses but at times one may want "full disclosure" output.

IMO, invocation of stacker inspect is one of those times. I originally wrote it as a debugging tool for when I was building stacker, in case the code had gotten the layer list wrong somehow. I guess you don't necessarily care about things at that level, but mostly care about the more semantic "how did stacker build this thing", in which case it may be useful to have both options (or indeed, just drop the existing semantics of stacker inspect all together since it really could live in umoci, and use your semantics instead).

The umoci tag to me is just like a symlink; so I'd display those just likesymlinks are in the filesystem (bar -> foo).

The problem is there's no way to tell which direction the symlink points.

Generally, I don't need to know how many layers my from: or import: image uses but at times one may want "full disclosure" output.

IMO, invocation of stacker inspect is one of those times. I originally wrote it as a debugging tool for when I was building stacker, in case the code had gotten the layer list wrong somehow. I guess you don't necessarily care about things at that level, but mostly care about the more semantic "how did stacker build this thing", in which case it may be useful to have both options (or indeed, just drop the existing semantics of stacker inspect all together since it really could live in umoci, and use your semantics instead).

The umoci tag to me is just like a symlink; so I'd display those just likesymlinks are in the filesystem (bar -> foo).

The problem is there's no way to tell which direction the symlink points.

The umoci tag to me is just like a symlink; so I'd display those just likesymlinks are in the filesystem (bar -> foo).

The problem is there's no way to tell which direction the symlink points.

That's a bug in umoci then;  Do we not have timestamps for when the tag reflink was added?  No. =(   It appears  that oci dir index.json is append ordered; but likely order is not specific/required.  Maybe we should avoid using umoci and implement the few things we use it for in stacker and utilize the more detailed actions that stacker tracks.  I guess that won't help with oci images that aren't built with stacker.
I guess we would have to include all refs to the hash, like git tags, git log shows all tags for a ref.

The umoci tag to me is just like a symlink; so I'd display those just likesymlinks are in the filesystem (bar -> foo).

The problem is there's no way to tell which direction the symlink points.

That's a bug in umoci then;  Do we not have timestamps for when the tag reflink was added?  No. =(   It appears  that oci dir index.json is append ordered; but likely order is not specific/required.  Maybe we should avoid using umoci and implement the few things we use it for in stacker and utilize the more detailed actions that stacker tracks.  I guess that won't help with oci images that aren't built with stacker.
I guess we would have to include all refs to the hash, like git tags, git log shows all tags for a ref.

Generally, I don't need to know how many layers my from: or import: image uses but at times one may want "full disclosure" output.

IMO, invocation of stacker inspect is one of those times. I originally wrote it as a debugging tool for when I was building stacker, in case the code had gotten the layer list wrong somehow. I guess you don't necessarily care about things at that level, but mostly care about the more semantic "how did stacker build this thing", in which case it may be useful to have both options (or indeed, just drop the existing semantics of stacker inspect all together since it really could live in umoci, and use your semantics instead).

Either is fine.  I'm not really tied to the 'inspect' sub command; that can continue to be debug layer tool; I'm looking for a higher level (assume the layers are built correctly) way to reason about what is and is not in an image.

Generally, I don't need to know how many layers my from: or import: image uses but at times one may want "full disclosure" output.

IMO, invocation of stacker inspect is one of those times. I originally wrote it as a debugging tool for when I was building stacker, in case the code had gotten the layer list wrong somehow. I guess you don't necessarily care about things at that level, but mostly care about the more semantic "how did stacker build this thing", in which case it may be useful to have both options (or indeed, just drop the existing semantics of stacker inspect all together since it really could live in umoci, and use your semantics instead).

Either is fine.  I'm not really tied to the 'inspect' sub command; that can continue to be debug layer tool; I'm looking for a higher level (assume the layers are built correctly) way to reason about what is and is not in an image.


Can't log out of Airflow

Airflow has no 'logout' button (that I can see). When using a secure backend (e.g. LDAP), there's no way to log out (other than manually deleting the session cookie from the browser). It would be nice to add a logout button.

There's an endpoint though, so it should be trivial to add a button.

Working on this here:

Closing. PR was committed.


Key hashing compatibility

Summary of changes
Changes introduced in this pull request:

In go impls, they use a string as the key for the hamt despite the fact that it is really non utf-8 bytes. To solve this, there is the custom type introduced in this PR (BytesKey but open to a better name) for the type of the key to match.
-The constraints on this type is that it has to hash the same as go implementation and that it serializes the same. str and [u8] hash the same with our impl so it's fine to use bytes as the hash type and that matches, and to get the serialization to match the bytes need to be unsafely converting to a string before serialization.

To clarify, a custom type would have to be created anyway even if go impls switch to using a byte slice as keys because a u8 slice serializes as an array of u8 by default, so this isn't all wasted work

Negatives for this PR include having to fork serde_cbor to deserialize bytes to string without checking if valid utf8 and also having to use unsafe code to convert all key bytes to string before serializing (in this PR).
The code changed in serde_cbor is as follows:
    fn convert_str<'a>(buf: &'a [u8], _buf_end_offset: u64) -> Result<&'a str> {
        // ! This is the change necessary to allow non utf-8 strings to be deserialized
        // TODO find another way around this
        Ok(unsafe { str::from_utf8_unchecked(buf) })
        // match str::from_utf8(buf) {
        //     Ok(s) => Ok(s),
        //     Err(e) => {
        //         let shift = buf.len() - e.valid_up_to();
        //         let offset = buf_end_offset - shift as u64;
        //         Err(Error::syntax(ErrorCode::InvalidUtf8, offset))
        //     }
        // }
    }

Where the commented out code was what existed before, and the str::from_utf8 call only performs a valid utf8 check before calling the unsafe str::from_utf8_unchecked
Reference issue to close (if applicable)

Closes
#324
Other information and links

Gonna let this PR hang for a bit, was indicated that the key serialization is going to be fixed in go impls, so might as well put this on ice to not have to revisit


Firebase's libApp.so was not found for this device's architecture

Please fill in the following fields:
Unity editor version: 2018.3.8f1
Firebase Unity SDK version: 4.2.1
Firebase plugins in use (Auth, Database, etc.): Analytics
Additional SDKs you are using (Facebook, AdMob, etc.): Facebook, AppsFlyer, Fabric Crashlytics
Platform you are using the Unity editor on (Mac, Windows, or Linux): Mac, Windows
Platform you are targeting (iOS, Android, and/or desktop): Android, iOS
Please describe the issue here:

Create a new Unity project and add the Firebase Analytics Unity SDK version 4.2.1
Set the Scripting Backend to IL2CPP and set the target architecture for Android to arm64
Start the app on a mobile device and see the following error in adb logcat:

08-27 11:06:51.448 24126 24157 E Unity   : InitializationException: Firebase's libApp.so was not found for this device's architecture
08-27 11:06:51.448 24126 24157 E Unity   : in your APK.
It looks like the libapp.so file is not available for arm64 for Unity version 4.2.1, is there a backport available for this version of the Unity?
Please answer the following, if applicable:
Have you been able to reproduce this issue with just the Firebase Unity quickstarts (this GitHub project)?
No

@alexames we added arm64 builds when Unity added support in 5.2.0. https://firebase.google.com/support/release-notes/unity#version_520_-_july_23_2018 we patched the Play Services Resolver in later release to deal with Unity's ABI / platform selection APIs changing.
@wg-mblazin the short story is that I agree with @alexames you should really try to upgrade, we've changed a lot over almost 2 years while trying to make minimal breaking API changes.


Update the composites guide

Linear Issue
The problem:
Our composites guide has been missing a few steps (e.g. how to compile the composite and produce the .js runtime definition that is used in JavaScript configuration example).
On top of that, the file names haven't been consistent with the names used in other guides as well as CLI vs JavaScript examples on the page.
Proposed solution

Added the missing steps for compiling the composite
Updated the file names so that they are consistent throughout the guide and are compatible with examples inlcluded in JavaScript Clinet config page.

I think there's some confusion here between the encoded composite definition, which is a JSON file representing the composite that can be shared by developers to make their composite reusable by other developers, and the runtime definition which is needed by the ComposeDB runtime package to generate the GraphQL schema.
The encoded definition can be used to deploy composites and compile them to the runtime definition but it can't be used directly at runtime.


Fixed no forward movement on main level

Summary
A rather misleading bug, turns out that the collisions are enabled on the line trace mesh cylinders that are anchored to the hands. The resulting collisions on the forward moving capsule collider of the pawn, and the line trace objects restricted the user from moving forward since you typically hold your hands out in front of you.

Author checklist

Fix for #25
Has the new tutorial been integrated into the main level? N/A
Has a new section of the readme been added for this tutorial? N/A
Have you done a full self-review of the code and blueprints? Yes
Have you tagged a primary reviewer? Yes
Are there any remaining tasks to do or blocking questions to answer before we can merge this? No

Testing plan

In the main level you should be able to move forward
Also verify that the movement speed isn't too high, I increased the altitude interpolation and speed accordingly, so the speed continues to increase at higher altitudes.

Reminders for reviewers
Thank you for taking the time to review this PR. By approving a PR you are taking as much responsibility for these changes as the author. Please keep these points in mind throughout the review process:

Review and run all parts of the test plan on this branch and verify it matches expectations.
Review the code and make sure you do not have any remaining questions or concerns. You should understand why this code change fixes the issue and agree that it's the best approach to doing so.
Review the automated tests and make sure there are no missing tests or edge cases.
When you feel this is ready bump it to a second reviewer or merge.

Thanks @CesiumBen! When testing, I felt that the speed was a bit fast right now and could be prone to inducing nausea. I think we can wait until the vignette gets implemented to further fine-tune the speed, as that will help mitigate the effects.


fix unlock close popup

Fix Metamask popups after unlock
The problem
When Metamask popup still open, some methods can fail.
importWallet and createWallet methods close popups well, but is missing in unlock.
Solution
Create new closeMetamaskPopup method and use it in importWallet, createWallet and unlock.

@danivm Thanks for contribution! Looks great at first look. I will make sure to test it out today and merge after.
All Best,
Jakub.

Hey, it has been merged and released as<EMAIL_ADDRESS>Thanks for contribution!
All Best,
Jakub.

Hey @danivm, it has been merged and released as<EMAIL_ADDRESS>Thanks for contribution!
All Best,
Jakub.


[json] display json file keys counter

If you open a .json file, you will get a breadcrumb of where the caret currently is. It even tells you the key index.
But I would be nice to have the total of keys displayed somewhere. I was in the need to know how many keys a particular json file has.

That could be covered by an extension and e.g. shown in the status line.

I think this should be supported natively without installing any extension

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


[style]: Improve Mobile Hamberger Menu Positioning and Fix Z-Index Overlap

What's the style idea?
On mobile devices, certain elements like images overlap the hamberger menu, affecting its visibility and functionality. To resolve this issue, we need to improve the positioning of the hamberger menu and adjust the z-index to ensure it stays on top of other elements.
Tasks:

Adjust the positioning of the hamburger menu for better alignment on mobile devices.
Fix the z-index of the hamburger menu so it consistently appears above images and other content.
Test across different screen sizes and devices to ensure the fix works universally.

This improvement will enhance the overall user experience, especially on mobile platforms.
Add screenshots
Screenshots

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Go ahead ✌


fix: fix speech_buffer missing data in VADStream

Originally speech_buffer got only a subset of the audio data for each audio frame from mic bc of
to_copy_buffer = min(self._model.window_size_samples, available_space)

This makes the subsequent non-stream STT doesn't work (e.g. openai.STT). Fix it by copying all data to the buffer.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I've spent a couple of days hoping to solve this problem without any success. Your EXCELLENT job has helped me a lot, thanks!

I've spent a couple of days hoping to solve this problem without any success. Your EXCELLENT job has helped me a lot, thanks!

Yeah it's a weird behavior in the original code that copy only a part of the audio data to the buffer. Finally it works all good on my end after a few hours of debugging. Post it here also want to see if it's a bug or something intended. Glad it helped you as well :)

Thanks, I needed some changes so I created another PR
https://github.com/livekit/agents/pull/898


nixos/hyprland: move to programs/wayland

Just moved to hyprland module to programs/wayland. This has no effect on the module side (still accessed the same way in the module programs.hyprland) just moved to be inline with other wayland compositors.
Also edit the module list to reflect where the file is located.
I did not see any reason for Hyprland to be with the other wayland compositors, but if there is one please let me know.
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 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

[ ] Fits CONTRIBUTING.md.

Can you rebase?

that was not my intention, sorry I did the wrong thing I don't know how to requested so much,


JavaScript events are not firing

Hi, this is a great project! But I am running into a strange issue. I was not seeing the JavaScript events being fired in my code. I decided to create a new solution with a very simple test that I took from the AngleSharp.Scripting FireEventTests.cs unit tests (see below). The test passes when I run it in the AngleSharp solution but it fails when I run it from my solution. I don't understand how this is possible... am I missing something? Thanks!
    [TestMethod]
    public async Task MainAsyncTest()
    {
        var service = new JavaScriptProvider();
        var cfg = Configuration.Default.With(service);
        var html = "<!doctype html>
0
";
        var document = await BrowsingContext.New(cfg).OpenAsync(m => m.Content(html));
        var div = document.QuerySelector("#result");
        document.Dispatch(new CustomEvent("hello"));
        Assert.AreEqual("1", div.TextContent);
        document.Dispatch(new CustomEvent("hello"));
        Assert.AreEqual("2", div.TextContent);
    }

I think I found the problem... my solution was using the latest version of Jint (2.10.3). The test does not work with that version. When I switch to version 2.9.1, it works fine.

Thanks for the heads up. I still note it as a bug such that I am forced to release a version asap that works against the latest v2 of Jint.

@mdesousa Can you try with my pull request? https://github.com/AngleSharp/AngleSharp.Scripting/pull/37

The tests work fine now @georgiosd , thanks


An error pops up when run "Django Check, Django Migrate, Django Create Superuser...".

Describe the bug

Steps to Reproduce

Create a Django Web Project.
In solution explorer, right click on project and select:

Python, make migrations >= 1.7
Python, migrate >= 1.7
Python, Django Create Superuser >= 1.7
Python, collect static files
Python, Django check >= 1.7

Additional context and screenshots

I have a different error when trying to create a new django web project:

This is because C:\Users\advolker\AppData\Local\Microsoft\VisualStudio\17.0_51669e98Exp\Extensions\Microsoft Corporation\Python - Django\16.0.0 does not exist. The path should end with 17.0.0.
This sounds like an error in our build scripts.

In today's build, Even if I create the environment and install Django, It can be reproduced.
Build of Visual Studio:  17.0.0 [31829.266.d17.0]
Build of Python Package: 17.0.21293.2

This issue also reproduced on 17.1 preview1.

In toady's build 17.1.0 Preview 3.0 [32029.61.main] , I can repro this.

On this environment

When click Python, make migrations >= 1.7 or Python, migrate >= 1.7
No response on the output window

And the Superuser can be created successfully and can log in.

In today's build 17.6.0 Preview 1.0 [33329.2.main], Python Package: 17.0.23005.2, After clicking Django Create Superuser/Django check etc. The Django Management Console does not respond.

On today's build

The error still pops up.


Excuse me, may I ask you a question?Did the author use only a portion of VAE?

Excuse me, may I ask you a question?Did the author use only a portion of VAE?Is there no discriminator part, can I combine VAE and GAN?

Yes. There is no discriminator part. You may try that out and see how it goes!


Additional documentation additions

This is a second round of doc additions.  There are also some funcitonal changes to APIs for getting/setting hostname that need to be reviewed.
r? @nix-rust/nix-maintainers

Thanks for getting the documentation process started. In the long run, I would like to have some formal rules on how documentation should look like, because I think this will result in more consistent and more concise documentation.

Sure, I'm not opposed to aiming for consistency, but I think our primary goal needs to be improving the state of the documentation by at least having the basics for all public functionality.  Making it easy for doc changes to get merged and encouraging people to contribute are probably the things that will help us most.  We can update for consistency later.

I agree with you that something, so long as it's not wrong, is better than nothing. I was just voicing what I would like to aim for.
r=me, after you've done whatever changes you deem necessary given my comments.

I agree with you that something, so long as it's not wrong, is better than nothing. I was just voicing what I would like to aim for.

Sure, I'll try to clean stuff up tonight.  Thanks for the review and the understanding!

I stripped this down to just the documentation commits and addressed comments, so getting this merged up.  @homu r=fiveop

:pushpin: Commit 173f2ac has been approved by fiveop

@homu retry 173f2ac

:zap: Test exempted - status

@homu r=fiveop


MSAL fails to get token from the cache using ConfidentialClientApplication

Dear msal4j-java Team,
I am using ConfidentialClientApplication with authority value set to [https://login.microsoftonline.com:/].
ConfidentialClientApplication app = ConfidentialClientApplication
.builder(emailConfig.getEwsClientExternalId(), ClientCredentialFactory.createFromSecret(emailConfig.getEwsClientExternalSecret()))
.authority("https://login.microsoftonline.com/" + emailConfig.getEwsTenantId()).build();
I am following below example to acquireToken.
ClientCredentialGrant.java
I am using scope as: https://outlook.office365.com/.default
Next request should use the same token, but it fails to find it from the cache so it sends a new request to obtain another token which replaces the first one in the cache.
Any thoughts on this?
I am using msal4j 1.13.0

Thanks for reaching out, @chakravarthi2u. Are you building the app again for the second request? If you use the same app and call the acquireToken() method with the same scope, MSAL should retrieve the token from the cache. If you build the app again or call acquiretoken() with a different scope, MSAL will not find the token in the cache and will make a call to get a new token.

Thanks for reaching out, @chakravarthi2u. Are you building the app again for the second request? If you use the same app and call the acquireToken() method with the same scope, MSAL should retrieve the token from the cache. If you build the app again or call acquiretoken() with a different scope, MSAL will not find the token in the cache and will make a call to get a new token.

Hi @siddhijain
I am using same app and calling again acquireToken(). Please see sample code below.
Scope: https://outlook.office365.com/.default

Hello @chakravarthi2u : In that getAccessToken() method, it looks like you're creating a new ConfidentialClientApplication called 'app'.
That 'app' object is what has the token cache that contains the tokens you get in the acquireToken() call. By creating a new ConfidentialClientApplication every time you call this method, you're also creating a new (blank) token cache, which is why later calls don't find the cached tokens. Our ClientCredentialGrant.java example you linked doesn't do a good job of explaining this, and we'll make the recommended pattern more clear in the future.
For now, just move the ConfidentialClientApplication creation outside of your getAccessToken() method and pass it in as a parameter. Once you do that, you should stop seeing those 'Cache lookup failed' messages and getAccessToken() should start returning the same tokens in multiple calls.

Hello @chakravarthi2u : In that getAccessToken() method, it looks like you're creating a new ConfidentialClientApplication called 'app'.
That 'app' object is what has the token cache that contains the tokens you get in the acquireToken() call. By creating a new ConfidentialClientApplication every time you call this method, you're also creating a new (blank) token cache, which is why later calls don't find the cached tokens. Our ClientCredentialGrant.java example you linked doesn't do a good job of explaining this, and we'll make the recommended pattern more clear in the future.
For now, just move the ConfidentialClientApplication creation outside of your getAccessToken() method and pass it in as a parameter. Once you do that, you should stop seeing those 'Cache lookup failed' messages and getAccessToken() should start returning the same tokens in multiple calls.

You guys are awesome. Thanks for quick reply. I tried above solution and its working perfectly fine.
Thanks a lot again.

Happy to help, and if you run into any other issues feel free to ask.

Thanks @Avery-Dunn.


Fix nested classes and unnamed package names for FunctionProcessor

Turns out that getQualifiedName is not the proper identifier for the package name to be used

Since this unblocks other work, I go ahead and merge it.
Any additional comment is welcome and I'll do the fixes in a follow up PR when necessary.


UP-4438: Created '/layout/v2/layout.json' endpoint that returns the layo...

...ut data needed for rendering the uPortal UI using Javascript.  Also, added '/layout/v1/layout.json' endpoint, which returns the same JSON as the existing '/layout.json' endpoint'.
See:  https://issues.jasig.org/browse/UP-4438
Sample JSON output:  https://issues.jasig.org/secure/attachment/14739/layout-json-v2-sample.txt

The output looks great.  A JS UI has all the info it needs to construct whatever portions of the page it needs to (we plan on only tab/content in the expected  scenario, but good to have all the regions for the future).   The only thing that occurred to me this time looking at the output is to change 'channel' to 'portlet' to update it to more modern terminology.  Not sure if this is possible but if so, it would be IMHO a bit nicer.

Looks good to me. :+1:

+1.  Would love to see in uPortal 4.2.0, even though primary usage will be in uPortal 5.0 with richer JS UI.  Would be available for uMobile as well.

What do others think?  Leave channel element in the layout.json or change element name to portlet?

I have made updates per the review comments.  I also went ahead and renamede the "channels" and "channel" elements as "portlets" and "portlet".

Created issue https://issues.jasig.org/browse/UP-4444 which shouldn't stop this PR from being processed.

I noticed URLs in v2 json are:
"url": "/uPortal/f/u21l1s5/p/notification-icon.u21l1n6/detached/render.uP?pCm=view",
Shouldn't URL should be /exlusive/ not /detached/ ?

Noticed windowState is often "minimized" instead of "normal"? It should be normal.  See example output of student user on v2 at https://issues.jasig.org/secure/attachment/14743/new-student-v2-layout.json. Search for lines with JNW>.  I noted one instance but if you search the file you will see many.

                "hasColumnAddChildAllowed": "true",

Could this attribute be named 'addChildAllowed' to match the name in the fragment-layout files?
Right now it is the only inconsistent attribute name.  See 'layout/v2/layout.json' column added to folders table at https://wiki.jasig.org/display/UPM41/Setup+a+fragment+layout+by+modifying+fragment-layout+XML+files.
Search https://issues.jasig.org/secure/attachment/14743/new-student-v2-layout.json (student user) for JNW> to see instance where this attribute is present.

Minor:  hasFavorites is a global value and is present in the debug section (which should probably be named something other than debug, perhaps 'globals' instead).  I suggest removing it from each tab folder's section if that's easy.  In some ways it is not needed at all ... it's value is true if there is a 'favorites'  item in the layout, but I favor leaving hasFavorites in the 'globals' area.

James, I fixed the 'exclusive' URL window state issue, changed 'hasColumnAddChildAllowed' to 'addChildAllowed', removed 'hasFavorites' from the tabs, and renamed the 'debug' section as 'globals'.  In my testing I did not see the issue with windowState being 'minimized' (only one or two portlets had this state).

Thanks Gary.  I was able to verify that the windowState is not an issue at least today.  I'm not sure why I saw it so much earlier but I didn't see it now.  I found that notification-icon portlet shows up as minimized but I don't think that's an issue.

I did find one issue needing resolved before we accept this pull request.  Whenever you invoke /uPortal/layout/v2/layout.json, a large number of warnings and stack traces appear in portal/portal.log.  It looks like 4 warnings per portlet.  See https://gist.github.com/jameswennmacher/db476fce629bef8df00c for the warnings.  It looks like after the layout is loaded that an attempt is made to actually render all the portlets.  PortletRenderExecutionWorker and PortletExecutionManager seem to emit 2 warnings each per portlet.

Does this happen for v1 as well @jameswennmacher ?

@timlevett excellent question.  No the stack traces are specific to v2.

@groybal have the stack trace issues been resolved?

Did you add comments to columns-imports.xsl and columns-js.xsl describing what the file is for?

Andrew S found a bug. If a layout file has a folder with portlets in it (which is allowed), but the portlets are not in a column, the resulting JSON does not show the result.  I suggest making the JSON look like the portlets are in a single column.

Discussed with @drewwills . Thinking of making the API endpoint /uPortal/api/v4-3/dlm/layout.json

Replaced with https://github.com/Jasig/uPortal/pull/571


feat: add record to csv

Created a system for record our winners to a csv file.

I forget to add csv function to index, fixed it with latest commit.


[admin] (Typo) Fix closing tag in XML example

Fixes #2083.

Docs Build status updates of commit 4cb2f09:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/make-custom-functions-compatible-with-xll-udf.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


cLua 集成 skynet

您好，我如何通过 hookso 的方式去获取 skynet 的 lua 代码覆盖率呢。
我尝试写了一个阻塞的 demo 代码。
local os = require "os"
local cc = package.loadlib("/usr/local/lib/liblua.so", "settop")

while(true)
do
    os.execute("sleep 1")
end

当我使用 ./hookso arg $PID liblua.so lua_settop 1 去获取 sethook 的地址时他的表现是阻塞的。
通过 strace 查看。
[{WIFSTOPPED(s) && WSTOPSIG(s) == SIGCHLD}], 0, NULL) = 8339
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_TRAPPED, si_pid=8339, si_uid=0, si_status=SIGCHLD, si_utime=1, si_stime=24} ---
ptrace(PTRACE_CONT, 8339, NULL, SIG_0)  = 0
wait4(8339,

它似乎在等待程序退出。
期待您的回复。

skynet是多线程魔改过的lua，不确定能否支持。试试直接嵌入lua脚本中使用呢？

Congratulations! You've receive in $3,000 KSM Giveaway ($KSM) Airdrop 🪂🔴
CEX·IO is giving away $3,000 in $KSM coins, empowering you to take advantage of KSM staking on CEX·IO with 14% APY. Join the giveaway and earn a chance to win up to $500. Stake Kusama with CEX·IO, get high rewards and win prizes!
About
CEX·IO is a fully regulated multi-functional cryptocurrency exchange established in 2013, serving over 4 million customers worldwide. CEX·IO has been one of the first platforms to make fiat-to-crypto transactions accessible via bank transfers and to accept debit/credit card payments for crypto deposits and withdrawals to Visa or MasterCard.
→ How to join the $3,000 KSM Giveaway Airdrop?
Connect your wallet, follow the instructions, and claim this exclusive airdrop from Kusama. For GitHub users only—share with friends to make it eligible. Redeem your reward first.

Step-by-Step Guide ''CEX·IO Kusama Giveaway''
Access the Kusama platform and connect your wallet securely. Ensure you're using a trusted wallet for the transaction.

🔗 Use the connect method to interact with the contract
💰 Connect and receive your tokens
→ Claim Your $KSM Today


Prevent client from deadlocking/halting on large transfer by throwing error

The issue can be read in this PR https://github.com/ethereum/utp/pull/56
This is a quick solution to the problem, with a further improvement added as a TODO
ping for request to review @jacobkaufmann

Closing since I think we should merge https://github.com/ethereum/utp/pull/65 as the temporary solution to solve this problem. It adds complexity, but we will have to chunk data either way. Hopefully soon we can refactor the two pending write buffers into 1


Add test for Date.isBetween

Added a missing test for Date.isBetween extension method
Checklist

[x] I checked the Contributing Guidelines before creating this request.
[x] New extensions are written in Swift 4.
[x] New extensions support iOS 8.0+ / tvOS 9.0+ / macOS 10.10+ / watchOS 2.0+.
[x] I have added tests for new extensions, and they passed.
[x] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[x] All extensions are declared as public.

          1 Message

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

  Generated by :no_entry_sign: Danger

Thanks @kaphacius 👍


About UrbanSound8K

About the train dataset urbansound8K, I saw the dataset introduction. In my training, whether use 9 folds to train and the left one fold should to be validate, and repeat this process？The process doesn't have truly test dataset?

Yeah so in the website they explain how they do the cross fold validation. So instead of doing a train/val/test split they do 10-fold cross validation, so you'd test on each fold separately and then combine the results.

ok，3ks


integration tests can't be run against apps under development

With the changes made by the imthemap branch, it is currently difficult to impossible (I couldn't figure out how) to get the integration tests to run against a version of the locker with the local development version of an App. There is a prepopulated directory containing some of the apps, and the rest are pulled down from the registry at runtime. There needs to be a mechanism in place for devs to indicate that a given app needs to be run locally rather than against the registry version / the version in Data.tests.

cc @temas
Temas and I have talked about this some and it's not reached group
level yet, but the consensus we have so far is that we should start
moving all unit tests to the app/connector/collection directories
themselves (which is what many of the tests are), and have the top
level test directory become core unit and overall integration only
(related enough to mention here I guess).
After the processing-submissions story, we'll have the ability to
publish dev versions of anything without it getting used by anything
in production until it's signed, which might be the right route for
overall integration, especially if (when I think) we move all the
components to their own repos.
On Sat, Jan 21, 2012 at 3:17 PM, Forrest L Norvell
<EMAIL_ADDRESS>wrote:

With the changes made by the imthemap branch, it is currently difficult to impossible (I couldn't figure out how) to get the integration tests to run against a version of the locker with the local development version of an App. There is a prepopulated directory containing some of the apps, and the rest are pulled down from the registry at runtime. There needs to be a mechanism in place for devs to indicate that a given app needs to be run locally rather than against the registry version / the version in Data.tests.

Reply to this email directly or view it on GitHub:
https://github.com/LockerProject/Locker/issues/603

The problem is that this makes a TDD / BDD workflow (which I prefer / am much more productive following) much more difficult, because it interrupts the quick / tight write test -> tweak code -> get test passing flow with a publishing step. Does npm let you publish the same package with the same version multiple times?
Stepping back a bit, pushing unit tests out into the package directories for collections and connectors makes sense, but it gets fuzzier for apps. It seems like we'd want some way to share fixtures, and apps are dependent on the other services in a way that they aren't.

For TDD/BDD you probably have to approach apps the same way you would
if you're coding against any 3rd party API, which outside of unit
tests is probably a mix of fixtures and mocks (which I think is what
you're saying already)?
I used to think sharing fixtures made sense, but I'm pretty sure it
doesn't.  A connector should have it's own fixtures tied to whatever
version it is, and the same for a collection based on the fixtures it
supports for it's version.  Sure there is two copies of a "tweet"
fixture, but keeping them distinct lets the already-existing version
management work safely and any tests run locally.  We'll need to use
major/minor/patch properly as we encounter these dependency
relationships, but don't want to get too cart-horse and this isn't the
right thread either :)
On Sat, Jan 21, 2012 at 6:12 PM, Forrest L Norvell
<EMAIL_ADDRESS>wrote:

The problem is that this makes a TDD / BDD workflow (which I prefer / am much more productive following) much more difficult, because it interrupts the quick / tight write test -> tweak code -> get test passing flow with a publishing step. Does npm let you publish the same package with the same version multiple times?
Stepping back a bit, pushing unit tests out into the package directories for collections and connectors makes sense, but it gets fuzzier for apps. It seems like we'd want some way to share fixtures, and apps are dependent on the other services in a way that they aren't.

Reply to this email directly or view it on GitHub:
https://github.com/LockerProject/Locker/issues/603#issuecomment-3600087

Here is the workflow I've developed over the last few years of working with BDD:

Write an integration test case tied to one of the top-level features in the story I'm working on (e.g. click the link on Account Settings, get taken to the account settings area).
Drill down, writing functional and unit tests as I find the additions and modifications that need to be made to lower-level APIs and libraries.
Work my way back up until all of the tests are passing.
Repeat for each top-level feature in the story.

The primary value of this workflow is that it frees me from having to mentally bookmark my state at any given point in time -- I can just run the tests and see what's passing and failing. Especially when the code base is undergoing a lot of change at a lot of hands (like it is now), it's extremely valuable to not have to be constantly having to figure out where I am or what I'm doing -- my tests tell me what remains to be done.
It seems to me like it's going to be comparatively rare for the core locker developers to be working on a single submodule / npm package at a time in this new model. This means that there are now abstraction barriers between different bits of the test framework that didn't exist before, and there are more levels of indirection that get in the way of using the flow up above. I can tell you that for me this makes it a lot less likely that I'm going to be writing useful tests, because getting them passing is such a huge pain in the ass, and because making them serve my primary purpose -- that is, helping me track how close I am to being done and help me figure out where I need to focus next -- is difficult to impossible.

IMO there's an expectation perception difference here.  If you're
developing tests for a web app, you don't run all of the databases and
web servers and operating systems tests and depend on those in order
to test your app, you expect them to work as advertised.   We need to
depend on other parts of the locker ecosystem in this loosely coupled
way, not tightly bound into a a single testing (or even integration)
routine.
All of those patterns should apply but scoped to the level of the
app/collection/connector, and it might take some work for core to
better facilitate this kind of separation but we'll figure that out as
we hit those pain points.
On Sat, Jan 21, 2012 at 6:38 PM, Forrest L Norvell
<EMAIL_ADDRESS>wrote:

Here is the workflow I've developed over the last few years of working with BDD:

Write an integration test case tied to one of the top-level features in the story I'm working on (e.g. click the link on Account Settings, get taken to the account settings area).
Drill down, writing functional and unit tests as I find the additions and modifications that need to be made to lower-level APIs and libraries.
Work my way back up until all of the tests are passing.
Repeat for each top-level feature in the story.

The primary value of this workflow is that it frees me from having to mentally bookmark my state at any given point in time -- I can just run the tests and see what's passing and failing. Especially when the code base is undergoing a lot of change at a lot of hands (like it is now), it's extremely valuable to not have to be constantly having to figure out where I am or what I'm doing -- my tests tell me what remains to be done.
It seems to me like it's going to be comparatively rare for the core locker developers to be working on a single submodule / npm package at a time in this new model. This means that there are now abstraction barriers between different bits of the test framework that didn't exist before, and there are more levels of indirection that get in the way of using the flow up above. I can tell you that for me this makes it a lot less likely that I'm going to be writing useful tests, because getting them passing is such a huge pain in the ass, and because making them serve my primary purpose -- that is, helping me track how close I am to being done and help me figure out where I need to focus next -- is difficult to impossible.

Reply to this email directly or view it on GitHub:
https://github.com/LockerProject/Locker/issues/603#issuecomment-3600240

I'm going to dig into the situation I'm confronting, because I am actually hitting a pain point right now.
I'm working on building out the account settings page, based on @merc3po's mockups. The way I have done this kind of UI work in the past is to write a capybara / webrat / Selenium test case that drives a piece of the behavior (clicks on the link for the account settings) and then verifies that the expected behavior results (the account settings page is displayed).
In this case, it's almost incidental that the behavior is in the dashboardv3 app, because it's hitting endpoints that are in the core (the locker's authorization credentials, the locker owner's profile, and, in the case of hosted lockers, their Integral registration information). Additionally, the controller and view logic is defined in browser-side Javascript, but the model is coming from several endpoints hosted off in the core of the locker and Integral.
There is very little our unit test framework can do to help me here, because the code is a large pile of callbacks built on top of jQuery. There isn't an easy way to inject mocks or stubs into the browser-side code short of using something like Env.js running on top of Rhino, which isn't a really accurate simulation of real browser behavior and is working around exactly what capybara was designed to provide. It's theoretically possible to refactor it all to be more testable from within the browser (using something like Jasmine or jasmine-jquery). However, that's not how our code is designed right now, and doing that work is way beyond the scope of the story.
Two weeks ago, it would have been possible for me to write a capybara test, run the suite, and get feedback on the state of my work. Today, I can't do that. Can you help me find a way to get the feedback I want with our current framework?

There is very little our unit test framework can do to help me here, because the code is a large pile of callbacks built on top of jQuery. There isn't an easy way to inject mocks or stubs into the browser-side code short of using something like Env.js running on top of Rhino, which isn't a really accurate simulation of real browser behavior and is working around exactly what capybara was designed to provide. It's theoretically possible to refactor it all to be more testable from within the browser (using something like Jasmine or jasmine-jquery). However, that's not how our code is designed right now, and doing that work is way beyond the scope of the story.

Ok, outside of anything else, it sounds like the more modern style of
in-browser-navigated (#-based) apps are more difficult to test with
traditional tools.  I'm so way out of my element here both on testing
and in the browser, so I can't offer much help/input :(

Two weeks ago, it would have been possible for me to write a capybara test, run the suite, and get feedback on the state of my work. Today, I can't do that. Can you help me find a way to get the feedback I want with our current framework?

So yes, two weeks ago the startup process was more locally tightly
coupled, the requirements to test new code could be turned on at once
(lockerd and the local in-dev app).  And now there's the extra step to
assert local code over registry that is one-time for the "normal"
lockerd and
is in a more confused state as to how to do that for the test
instance that starts up.
Seems like there's two paths, one being fix the local test suite so
that it can be clearly told "use the local version of X" and given how
much of a hodgepodge it is (it's internally rigging a really
frustrated alternate local lockerd), I'm not even sure the best way to
do that, it's a very sore point that @temas has been looking at
heavily as well.
The other path is one I'm more keen on, create/run the test in the app
directory and pass it the http url of the lockerd to use as the base
(that is independently running already, treated as a completely
separate resource).  The local test runner creates the processInfo
object containing the lockerd to use for the api calls and starts the
app using the run line from package.json.  The app is then running
independently and local tests can use the local port it was given or
returned.
The challenge with this is obviously when the testing might change
state in lockerd, but I don't know how this is any different than the
patterns of any mutable external api, like having to test against
posting a tweet and verifying, etc.  Usually it's either mocking the
api (fakeweb), using the api to restore state (delete the tweet), or
having a way to externally reset outside of the test.
All I know is that the testing we were doing was giving us all a false
sense of confidence, the fact that tests looked like they ran
successfully was often flat out a lie, and turning on silly logging
made it painfully obvious how confused of a rig it was (and still is
in large part).

If you'll recall, we (@nym, really) did write some tests in exactly the way you describe -- set up a test instance configured the way the tests expect, run the Selenium tests against them, write them in such a way that they create a new account each time because the framework couldn't tear down an existing locker / create a new one on the fly remotely. This was ungainly and led to us having a bunch of busted test lockers hanging around very quickly -- the approach doesn't scale.
Introducing capybara and tying it to the test locker set up by runTests.js wasn't meant to be a permanent solution (speaking on behalf of @ctide here, but I think he'd agree) because it is brittle, but at least it let us get our integration tests running in the CI environment. Assuming merging app work into master implies publishing and signing any apps that were changed on the branch, this workflow should continue to work under the new regime. It's important that the tests we write be usable by CI, so that's good.
What would be ideal is having some way for a set of test cases to declare their package dependencies (i.e. "published", a specific npm version, "local"), and then some npm plumbing run by the test framework would set up the node_modules for that set of tests accordingly. It would be even better if we had two configuration files for this -- one local and outside of version control, one designed to be checked into Git and used by CI. It would also be awesome to modify the integration tests to be capable of being run completely free-standing from the rest of the framework. I don't even think it would be that much work (which, of course, means I'm volunteering to do it).

As I see it, there are three chunks of work necessary to make this approach work:

Having some way of signaling to the locker core that it should use the current set of packages as supplied (something set in registry.json?).
A framework for running up a test Me / Data directory with a specific set of packages in node.modules (maybe something that generates a packages.json file and passes it off to npm?). It would be ideal if this were something that were factored out of locker core and callable from Ops/ so the rake task that drives the capybara tests could just call that script to set up / tear down a locker between each integration test.
Modifications to the test framework itself to allow sets of tests to declare dependencies, maybe / probably with those declarations being made out-of-band in a separate configuration file (that could look a lot like a packages.json file with some additional keywords, to simplify processing).

How does that sound?

Yes, using the locker that was built up via the unit tests was definitely a stopgap measure.  It was the simplest thing so that we could get some front end tests up and running quickly, as opposed to maintaining a separate set of test data that's designed just to work with the front end tests.
  It was just easier to postpone that work and use what was there from the unit tests to get something in place sooner as opposed to later.  Trying to isolate pieces (ie, having some base locker that's used by all front end tests) which are all tightly coupled together will just create a massive amount of problems to sort through.

There's a lot here and I'm not sure what the best path it just yet, but I just spent the past several hours fighting to try to debug the dashboard and connectors without any real ability to test whether I was consistently making progress without breaking anything.
We definitely need to improve this!

Having some way of signaling to the locker core that it should use the current set of packages as supplied (something set in registry.json?).

An upsert does that already for a running locker, but I think there's
a need to have that happen during initial startup ahead of installing
required packages?  This could make new-locker-setups on production go
really fast too, to have a copy of all the base required packages
local and upsert them the first time.

A framework for running up a test Me / Data directory with a specific set of packages in node.modules (maybe something that generates a packages.json file and passes it off to npm?). It would be ideal if this were something that were factored out of locker core and callable from Ops/ so the rake task that drives the capybara tests could just call that script to set up / tear down a locker between each integration test.

Ok, so, a standalone tool to create a new Me dir and running lockerd
from a predefined list? Given the above, that sounds super doable
(guess I volunteered too, heh :).

Modifications to the test framework itself to allow sets of tests to declare dependencies, maybe / probably with those declarations being made out-of-band in a separate configuration file (that could look a lot like a packages.json file with some additional keywords, to simplify processing).

Not totally sure here, examples?


Override SQLDataType.blob to BYTEA for SQLKit users

Fluent already does this for users of FluentPostgresDriver, this just adds the same behavior to the equivalent data type at the SQLKit layer.

Actually why is this crashing on the nightlies?


DSD-1811: Searchbar responsive styling

Fixes JIRA ticket DSD-1811.
This PR does the following:

Updates the responsive styles on Searchbar (no stacking on mobile)
Adds <span> to "Search" text so DCF can use new breakpoints

How has this been tested?

Accessibility concerns or updates

Accessibility Checklist

[x] Checked Storybook's "Accessibility" tab for color contrast and other issues.
[x] The feature works with keyboard inputs including tabbing back and forward and pressing space, enter, arrow, and esc keys.
[x] For hidden text or when aria-live is used, a screenreader was used to verify the text is read.
[x] For features that involve UI updates and focusing on DOM refs, focus management was reviewed.
[x] The feature works when the page is zoomed in to 200% and 400%.

Open Questions

Checklist:

[x] I have updated the Storybook documentation and changelog accordingly.
[x] I have added relevant accessibility documentation for this pull request.
[x] All new and existing tests passed.

Front End Review:

[x] Review the Vercel preview deployment once it is ready.

@bigfishdesign13 Sorry I misunderstood our conversation– if we are not doing mobile updates for the Searchbar is any of this needed? None of this will be helpful to DC right now (besides adding the span element) but it does move the DS a step closer to what's in the designs for DC, and once all breakpoints align we can definitely use this


"Star all rows below current one"

Original author<EMAIL_ADDRESS>(November 15, 2010 21:19:55)
What steps will reproduce the problem?
[ease of use enhancement]
What is the expected output? What do you see instead?
[alternative is manual starring which quickly becomes impossible]
What version of the product are you using? On what operating system?
[2.0/Windows 7]
Please provide any additional information below.
Original issue: http://code.google.com/p/google-refine/issues/detail?id=214

This is really too specific to be added as an operation or menu item by default. It should be covered by #109.

You could create a text facet on any column with this expression
row.index >= n
where n is the current row's index. And then select true in the face. And star all matching rows.

I think this would only work if you don't sort your view. Because if you do sort, then, row.index is not longer the ordinal order you see…

I just realize that row.index might be zero-based, but row indexes are displayed as one-based.

Interesting! ;-)
Regards, Antoine


Here's my profile and my packages.
NuGet install badge

Hello, please look this http://www.arunrana.net/2012/01/design-of-nuget-package-installation.html for install badge.


🐞 Self-Hosted GitHub Actions is being rate limited

Describe the bug.
7m34s       Warning   KEDAScalerFailed       scaledjob/actions-runner-mojas-create-a-derived-table             GitHub API rate limit exceeded, resets at 2024-11-04 17:40:01 +0000 UTC

Surfaced via https://mojdt.slack.com/archives/C8X3PP1TN/p1730742007636459
To Reproduce
Unsure right now
Expected Behaviour
No rate limiting
Additional context
No response

We recently switched to one token for all jobs https://github.com/ministryofjustice/analytical-platform/issues/5784, and I actually looked at using a GitHub App for authentication in KEDA, but the Actions Runner software doesn't support it that.
My proposal now is:

GitHub App for KEDA authentication
GitHub fine-grained token for Actions Runner authentication

KEDA actively polls, so makes more sense to use a GitHub App, where Actions Runner only consumes the token when registering itself, which is nowhere near as frequent

GitHub App created following KEDA instructions, and installed into MoJAS org

2.320.0-4 deployed to APC, ran a job from Airflow repo and it was running as expected, I've let @gustavmoller know.


Can not use pyright while connected to a VPN

Description
Using neovim, pyright does not start, I also can't start it with :LspStart.
I tried pylsp, that works. Weirdly, I can use pyright with no problems in VSCode.
So I believe this is a issue with lspconfig?
Neovim version
NVIM v0.7.0
Build type: Release
LuaJIT 2.1.0-beta3
Nvim-lspconfig version
The one that gets installed when using the minimal config
Operating system and version
Linux 5.17.4-zen1-1-zen
Affected language servers
pyright
Steps to reproduce

cd into projects root dir
'nvim -nu path/to/minmalconfig path/to/file.py
See with :LspInfo that no clients are attached

Actual behavior
pyright does not start
Expected behavior
pyright should start
Minimal config
literally the same as the minimal config provided

LSP log
https://gist.github.com/aznd/55f4d3f2fb66873f44a761cd3b195c5f

Forgot to mention, I'm using Mullvad VPN, if that matters.


How to add multiple namespaces for kuberhealthy

Hi Team,
By default, kuberhealthy checks only for kube-system namespace
can you help me how and where to add multiple namespaces
if possible can you give a simple example how and where to add multiple namespaces or all namespaces.

I found it, how to give multiple namespaces

@immusk  Can you share how you made this work?

@saokar
you can give multiple namespaces in values.yaml file
`
deployment:
replicas: 2
maxSurge: 0
maxUnavailable: 1
imagePullPolicy: IfNotPresent
podAnnotations: {}
command:

/app/kuberhealthy

use this to override location of the test-image, see: https://github.com/Comcast/kuberhealthy/blob/master/docs/FLAGS.md
args:

--podCheckNamespaces=namespace1,namespace2,namespace3
`

Ah yes, this would definitely case the pod restart checker to target multiple namespaces!


Implementing pascals-triangle exercise

@Average-user, did you close due to inactivity? If so, please re-open, and my apologies!

It is not becayse of that


Compare strategies for the development of the Challenge Platform

Hi Jake, I’m going to create today a comparative table for the the different development strategies for the challenge platform: 1) independent stack, 2) app built on top of Synapse (backend and/or frontend).

Done. See the Google doc Challenge Platform Development Strategies - Evaluation.


bootstrap: Use cluster domain wildcard cert as router fallback

This gets us TLS for default routes out of the box if the CA certificate is installed via the dashboard. It also changes the behavior when there is no valid TLS certificate for a route to serving the wildcard, which will result in an untrusted certificate warning, instead of just closing the connection which causes cryptic errors in clients.

LGTM

This may break logic in the dashboard for detecting if the certificate is installed.

Never mind, dashboard logic still works.


[chore] add CI and release workflow configuration

Closes #34
Description

Add CI and release Workflow Configuration(Merges from dev to main)

test(vscode, mocha)
push git tag
update release note or change log

ETC

EndBug/version-check
actions/create-release
dangoslen/changelog-enforcer

Checklist (Merge should only be performed once all of the following conditions are checked.)

[x] I have completed the necessary tests and verified that the functionality works as intended.
[x] I have written the code according to the code style guide.
[x] I have confirmed that only the intended files and changes have been committed.
[x] I have discussed these changes with my team members in advance, and all team members are aware of this PR.

package.json의 버전이 안올라갔거나, changelog.md가 업데이트 안된 경우 머지가 안되도록 하는 식의 장치도 있으면 좋을 것 같습니다!

package.json의 버전이 안올라갔거나, changelog.md가 업데이트 안된 경우 머지가 안되도록 하는 식의 장치도 있으면 좋을 것 같습니다!

https://github.com/YOCOING/YOCO/pull/39#issuecomment-2102631214
.github/workflows/pr-check-version_upgrade.yml로 추가해보았습니다!

이거 테스트는 할 수 없는 건가여?


Update disaster-recovery-using-vmware-site-recovery-manager.md

Added a Note to the reference to Failback detailing a limitation of the currently-deployed version of Site Recovery Manager. This is related to SR<PHONE_NUMBER>001790.

@StevePantol : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#label:"aq-pr-triaged"


Fix bug allowing logtape to work under Node.js

Fixes #3
This dynamic imports the filesink module based on if it is Deno or not, as well as safely access the Deno namespace for top level code that is evaluated when modules are loaded (which occurs when Cloudflare Workers create bundles).

Thanks for your contribution!
The lint seemed to fail. Could you check it out?
error[no-slow-types]: found destructuring, which is not supported in the public API
  --> /Users/runner/work/logtape/logtape/logtape/mod.ts:35:14
   |
35 | export const { getFileSink, getRotatingFileSink } =
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = hint: separate each destructured symbol into its own export statement

  info: destructuring can not be inferred by fast check
  docs: https://jsr.io/go/slow-type-unsupported-destructuring

Yeah, forgot to do a publish dry run... It should pass now.


Support quick info at function and => locations

Fixes  #2736
I think this would be better-looking if we stopped writing (local function) and just used function, although that was apparently intentional at some point and would change a lot of baselines.

Shouldn't there be a change to getQuickInfoAtPoisiton to allow for function keyword?


Line numbers off with local changes

I've noticed that line numbers for missing lines are off when there are local, unstaged changes.
I had to stop debugging when I've noticed it, but should be able to reproduce it then: IIRC it said that line X was missing, although this should have been line X+2, and two lines had been added before this.
I've also tried the options --ignore-unstaged and --ignore-staged, without any changes, and would not expect them to have an impact really - except for that it should not have listed the line at all with --ignore-unstaged I guess?
This is with mypy's --cobertura-xml-report.
diff-cover 2.5.2

@blueyed I cannot reproduce your issue. Here are my steps

Add two line to the end of the file, e.g. x=2, y=3
Stage the changes
Add something uncovered, e.g. if x == 3:, print("DADA")
python -m pytest --cov --cov-report=xml tests
diff-cover coverage.xml

It then says, that the line where the print is, is missing. Seems correct to me.
Did you generate the xml again before you ran diff-cover?


Improve glyph mapping for non-embedded composite standard fonts (issue 11088)

For non-embedded CIDFontType2 fonts with a non-/Identity encoding, use the /ToUnicode data to improve the glyph mapping.
Fixes #11088

/botio test

/botio-linux preview

Looks good to me; thanks!
/botio makeref

/botio-linux makeref

/botio-windows makeref

/botio-windows makeref


Undeclared dependency on PyYAML

https://github.com/googlefonts/shaperglot/blob/21214998b569ae7c426405152f331579837b84c0/shaperglot/languages.py#L8
This uses PyYAML if I'm not mistaken, which isn't included as a dependency in pyproject.toml
With a fresh venv, doing pip install shaperglot gets me a ModuleNotFoundError: No module named 'yaml' error

I am constantly amazed by the things that aren't in the Python standard library.


SQLAlchemy test cases that hang using the Ingres dialect

Several tests in the SQLAlchemy test suite hang when using the Ingres dialect. Prior to merging PR #42, some of these tests were failing with: ERROR: No value specified for mandatory column 'id'
Tests known to hang with the Ingres dialect against Ingres 11.2:

VersioningTest::test_save_update - test\orm\inheritance\test_basic.py
PartialFlushTest::test_o2m_m2o - test\orm\test_cascade.py
MapperEventsTest::test_merge - test\orm\test_events.py
SessionTransactionTest::test_transactions_isolated - test\orm\test_transaction.py
AlternateGeneratorTest::test_child_row_switch_two - test\orm\test_versioning.py

Initial investigation should include:

Running the same tests with at least one other dialect to compare behavior.
Reducing the problem to one or more simple tests that run apart from the SQLAlchemy test suite.

Each of the tests that hang with the Ingres dialect will pass if using the PostgreSQL dialect with PostgreSQL 16.2.

Test
Result withIngres 11.2
Result withPostgreSQL 16.2

test/orm/inheritance/test_basic.pyVersioningTest::test_save_update
HANG
PASS

test/orm/test_cascade.pyPartialFlushTest::test_o2m_m2o
HANG
PASS

test/orm/test_events.pyMapperEventsTest::test_merge
HANG
PASS

test/orm/test_transaction.pySessionTransactionTest::test_transactions_isolated
HANG
PASS

test/orm/test_versioning.pyAlternateGeneratorTest::test_child_row_switch_two
HANG
PASS

Brief research notes:
The attached file (test_basic_hang.py.txt) is a test that hangs when using the Ingres dialect v0.0.7.dev1 yet does not hang with either the Postgres dialect or the SQLite dialect. In the given test, the hang occurs on the second commit when using the Ingres dialect.
Digging a little deeper shows the hang occurs in file sqlalchemy\lib\sqlalchemy\engine\base.py, class method Connection::exec_single_context() at line 1971 (of SQLAlchemy v2.0.29.dev0) on the call to self.dialect.do_execute().

@hab6 what does ipm/iimonitor show? More than 1 session?

Internal ticket II-14071


keep curl and associated libs at latest version too

Build triggered. sha1 is merged.

Build started sha1 is merged.


Add link component

Enables user to easily add links to their scenes.
User can specify:

href
Name of link
Anything else?

We'll need to decide if the link is triggered by physical collision and/or by cursor click event. I imagine we can start with physical collision. And if users want to define clickable links on other types of objects, they can use click event components to do so.

Any thoughts on how this will look? If the look of a link is defined by default you might consider adding attributes based on how it looks, like and outline color, an image for the link, etc. Coming from Janus I'm used to a link looking like a portal but I'm not sure what you guys are envisioning here.

The link component would only add behavior of linking (check for collision detection, navigate). The appearance is agnostic and would be defined by components such as material and geometry components.

So more like typical HTML where you can surround something like an image in an anchor tag?

Well, I wouldn't say so because surrounding something implies hierarchy and a parent-child relationship.
Combining link + geometry + material components implies composability. Like you could add a sound component too to give a portal sound. Or a look-at component to always have portals face the user.

Ok, I replied before I saw the example. Thank you.

Yeah sorry I ninja-edited that in


node.children is undefined?

In this function, did you really mean node or element?
Because Node objects do not have the children property - only Element objects have that.

We probably ought to have an extra function to check if a given node is an HTMLElement, and then use that to make an extra assertion before relying on children - something like:
    function isHTMLElement(node) {
        return node instanceof HTMLElement;
    }

    function isEmptyInlineElement(node) {
        if (isHTMLElement(node)) {
            if (node.children.length > 1) {
                return false;
            }
            if (node.children.length === 1 && node.textContent.trim() !== '') {
                return false;
            }
            if (node.children.length === 0) {
                return node.textContent.trim() === '';
            }
            return isEmptyInlineElement(node.children[0]);
        }
        return false;
    }

I agree with trying to implement the right check

@rrees adding labels appears to have unassigned you 😢 (that was not intentional)


Add tests for the Request object.

Summary
This PR is a part of the work to resolve #3 and it's related with PR #2.
Changes

Added to NetworkServiceTests target files with HTTPRequest tests.

Checks to complete

[x] I've built and run my changes, and no warnings or errors occurred.
[x] All existing tests passed with my changes.
[x] My code follows our style guide.
[x] I've performed a self-review of my code.
[x] PR's title has a conventional commit style (short and descriptive).
[x] Every non-private interface is documented properly.
[x] I've added tests for my code (if it makes sense).
[x] PR has assignee, reviewers, milestone, it is properly linked to the project and to the issue.

The PR is closed because an implementation of the HTTPRequest object will be done by [Dersim] (https://github.com/ios-course/simple-network-service/pull/2#discussion_r1243459573).


Fixing broken unit test for arg_builder

Apologies, i hard coded the username / password i had been using, forgetting that the way others do credentials may be different!
to solve this i changed the config in this test to use its own internal PGConfig struct which has fixed values (I think this makes more sense in here as the one in main_test is for the more "integration" style tests?)

Only test I see failing now is the ProcessDumpFile test. It may be my laptop that is not working properly and causing the test to fail. If it is passing for you I will go ahead and merge this. Everything else looks fine.

Only test I see failing now is the ProcessDumpFile test. It may be my laptop that is not working properly and causing the test to fail. If it is passing for you I will go ahead and merge this. Everything else looks fine. I'll try to update instructions for running tests today if I get some time.
=== RUN   TestStart/ProcessDumpFile
    require.go:765:
        	Error Trace:	generator_test.go:70
        	Error:      	Expected nil, but got: &fs.PathError{Op:"open", Path:"testing/output.TestDumpFile.sql", Err:0x2}
        	Test:       	TestStart/ProcessDumpFile

yeah, all the tests pass on my machine,
i added to readme about the env vars... and removed the extra one i added for password in main_test.go
out of interest, do you need the POSTGRES_USER variable in main_test.go if you can set PGUSER?

No worries at all, it looks like I'll have some time this weekend to look into it and make sure things work on all versions of PSQL. Handling multiple PSQL versions seems tougher than I realized :)


Show background image in Windows Terminal when using ClearType text antialiasing option

Windows Terminal version (or Windows build number)
1.8.1032.0 (Windows 10 21H1 build 19043.928)
Other Software
No response
Steps to reproduce
Go to Windows Terminal settings, PowerShell or CMD profiles, Appearance tab, set the background to a custom picture or use desktop background, then go to Advanced tab, set text-antialiasing to ClearType.
Expected Behavior
The background image should be visible when using "ClearType", just like when we use "Grayscale" or "Aliased" text antialiasing.
Actual Behavior
you will see the background is no longer visible and instead a dark shadow is displayed behind the text.

Thanks for the report! Please make sure to search for duplicates when filing new issues. This is already being tracked by another issue on our repo - please refer to #5703 for more discussion.
/dup #5703


Can I have access to this organization?

I am a contractor working with CFA. My CDC id is xum1. Thank you!

Completed, sent over an invitation and verifying via Teams. Accept the invitation within 7 days.


swift: remove outdated documentation

As of https://github.com/envoyproxy/envoy-mobile/commit/d7b6af3e3e02c2f1152e9ee7f179418c4b5062c4 this no longer retains self.
Signed-off-by: Michael Rebello<EMAIL_ADDRESS>

@buildbreaker or @junr03 would you mind merging this in? 🙏🏽


Urgent Enquiry

Can I use surveyjs to build an application like surveymonkey or google forms?

@Peeyou Sure you can.
However surveyjs library is under MIT license and you may do what ever you want with the code and the library, but surveyJS editor has the commercial license: http://editor.surveyjs.io/license.html.
Unless you are not going to sell surveyJS editor as it is or as part of other library to other software developers, you are fine. In other words, you may create your own surveymonkey service.
PS: We are working hard on new features for surveyJS editor. For example: we are working on question Editors at the current moment.  SurveyMonkey editor has the similar question.

Thank you very much for your prompt response.
I am elated at your response. We do not intend to sell; we just want to
customize it to suit our brand and likely develop it further. Are the
tutorials on the Survey.js homepage sufficient to guide me through
developing this service or do i require more. Also do i have right to full
customization to suit my need.
Thank you
Uche Okocha
Innovator - Web Developer - UI/UX Designer
Impossible Is Impossible
On Mon, Jan 30, 2017 at 2:36 PM, Andrew<EMAIL_ADDRESS>wrote:

@Peeyou https://github.com/Peeyou Sure you can.
However surveyjs library is under MIT license and you may do what ever you
want with the code and the library, but surveyJS editor has the commercial
license: http://editor.surveyjs.io/license.html.
Unless you are not going to sell surveyJS editor as it is or as part of
other library to other software developers, you are fine. In other words,
you may create your own surveymonkey service.
PS: We are working hard on new features for surveyJS editor. For example:
we are working on question Editors at the current moment. SurveyMonkey
editor has the similar question.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/surveyjs/surveyjs/issues/209#issuecomment-276063887,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVS3B8c_5pvclbcRIhBXzV4w07DJD8mkks5rXedBgaJpZM4LxZFr
.

@Peeyou As I wrote before: surveyjs is under MIT license. It means you may do what ever you want.
SurveyJS Editor is under the commercial license. You may add the editor into your website and modify the code under this license. The license page describes the term of usage.
PS: Before adding new features into Editor, I would suggest  you to contact our team. We are working on the editor pretty hard and there is a possibility we will include features you need into the next version.
Thank you,
Andrew


oap 报错：io.grpc.StatusRuntimeException: CANCELLED: call already cancelled

Please answer these questions before submitting your issue.

Why do you submit this issue?
[x] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?
agent每次发送数据时，oap日志打印
Oct 21, 2019 3:49:07 PM io.grpc.internal.SerializingExecutor run
SEVERE: Exception while executing runnable io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1Closed@2a7b3712
io.grpc.StatusRuntimeException: CANCELLED: call already cancelled
at io.grpc.Status.asRuntimeException(Status.java:517)
at io.grpc.stub.ServerCalls$ServerCallStreamObserverImpl.onCompleted(ServerCalls.java:356)
at org.apache.skywalking.oap.server.receiver.trace.provider.handler.v6.grpc.TraceSegmentReportServiceHandler$1.onError(TraceSegmentReportServiceHandler.java:65)
at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onCancel(ServerCalls.java:269)
at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.closed(ServerCallImpl.java:293)
at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1Closed.runInContext(ServerImpl.java:738)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

es中无数据

Bug

Which version of SkyWalking, OS and JRE?

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.

This means nothing. Just client disconnect from server.


Fix typo: onMessageRecieved -> onMessageReceived

Fix spelling typo. The function is not exported so it shouldn't break anything.

This is just a one-line typo fix for a private function; it shouldn't have any external implications. Could we please get it merged? 🙏


ui not working?

chrome version 103
https://i.imgur.com/NMRkzRZ.png (screenshot)
Worked 2 days ago and now it doesn't . Compiled and src do the same thing

You have to publish the application, not just build it. In visual studio, choose publish, then go to the published folder and run it from there.