Stove does not follow symlinks for login credential files

Here is the output detailing the error:
$ bundle exec stove stove --no-git
E: Stove experienced an error!
E: ChefAPI::Error::HTTPUnauthorizedRequest
E: The Chef Server requires authorization. Please ensure you have specified the correct client name and private key. If this error continues, please verify the given client has the proper permissions on the Chef Server.

    {"error_code"=>"AUTHENTICATION_FAILED", "error_messages"=>["Authentication failed due to an invalid public/private key pair. If you have changed your keys recently try logging out and logging back in to Supermarket."]}

E: /home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/chef-api-0.7.1/lib/chef-api/connection.rb:428:in `error'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/chef-api-0.7.1/lib/chef-api/connection.rb:297:in `block in request'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/2.2.0/net/http.rb:853:in `start'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/chef-api-0.7.1/lib/chef-api/connection.rb:283:in `request'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/chef-api-0.7.1/lib/chef-api/connection.rb:125:in `post'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/community.rb:54:in `upload'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/mixins/instanceable.rb:20:in `method_missing'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/plugins/community.rb:15:in `block in <class:Community>'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/plugins/base.rb:12:in `instance_eval'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/plugins/base.rb:12:in `block in run'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/plugins/base.rb:44:in `call'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/plugins/base.rb:44:in `block in run_actions'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/plugins/base.rb:43:in `each'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/plugins/base.rb:43:in `run_actions'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/plugins/base.rb:33:in `run'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/runner.rb:30:in `run_plugin'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/runner.rb:18:in `run'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/lib/stove/cli.rb:75:in `execute!'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/stove-5.2.0/bin/stove:4:in `<top (required)>'
/home/babrams/.rbenv/versions/2.2.5/bin/stove:23:in `load'
/home/babrams/.rbenv/versions/2.2.5/bin/stove:23:in `<top (required)>'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/cli/exec.rb:74:in `load'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/cli/exec.rb:74:in `kernel_load'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/cli/exec.rb:27:in `run'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/cli.rb:360:in `exec'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor.rb:369:in `dispatch'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/cli.rb:20:in `dispatch'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/base.rb:444:in `start'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/cli.rb:10:in `start'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/exe/bundle:35:in `block in <top (required)>'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/home/babrams/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/gems/bundler-1.15.1/exe/bundle:27:in `<top (required)>'
/home/babrams/.rbenv/versions/2.2.5/bin/bundle:23:in `load'
/home/babrams/.rbenv/versions/2.2.5/bin/bundle:23:in `<main>'
The latest bundler is 1.16.0.pre.2, but you are currently running 1.15.1.
To update, run `gem install bundler --pre`

After playing around it was fixed after moving it to a location not in a symlinked dir (chefvm).
create new dir that is not a symlink:
$ mkdir ~/chef

copy over the key to the new location:
$ cp ~/.chef/majormoses.pem ~/chef/

try logging in again:
$ bundle exec stove login --username majormoses --key ~/chef/majormoses.pem Successfully saved config to `/home/babrams/.stove'!

push now:
$ bundle exec stove stove --no-gitThe latest bundler is 1.16.0.pre.2, but you are currently running 1.15.1.
To update, run `gem install bundler --pre`

Sounds like we're forgetting to expand a path somewhere. Thank you for the bug report!


[VSAN] Incorrect 'Used' size reported for volume of diskformat type - zeroedthick on vsan datastore

Created a volume of size 1gb but 'Used' size is reported as 2gb.
Steps:

Created a volume of size 1gb with diskformat set to zeroedthick
docker volume create --driver=vmdk --name=vsanVolm -o size=1gb -o diskformat=zeroedthick

Did docker volume inspect for created volume:

root@photon-TX4FfW2ET [ ~ ]# docker volume inspect vsanVolm
[
    {
        "Name": "vsanVolm",
        "Driver": "vmdk",
        "Mountpoint": "/mnt/vmdk/vsanVolm",
        "Status": {
            "access": "read-write",
            "attach-as": "independent_persistent",
            "capacity": {
                "allocated": "2GB",
                "size": "1GB"
            },
            "clone-from": "None",
            "created": "Thu Feb 23 21:58:53 2017",
            "created by VM": "Worker-1-216",
            "datastore": "vsanDatastore",
            "diskformat": "zeroedthick",
            "fstype": "ext4",
            "status": "detached"
        },
        "Labels": {},
        "Scope": "global"
    }
]

Admin cli command output on ESX

[root@sc2-rdops-vm02-dhcp-89-216:~] /usr/lib/vmware/vmdkops/bin/vmdkops_admin.py ls -c volume,datastore,capacity,used
Volume    Datastore      Capacity  Used
--------  -------------  --------  ----
vol1      vsanDatastore  10GB      8MB
vsanVolm  vsanDatastore  1GB       2GB  <<<<<<<

Did same steps on shared-vmfs datastore. 'Used' and 'Capacity' are same.
Output is as follows:
[root@sc2-rdops-vm02-dhcp-90-19:~] /usr/lib/vmware/vmdkops/bin/vmdkops_admin.py ls -c volume,datastore,capacity,used
Volume    Datastore     Capacity  Used
--------  ------------  --------  ----
vsanVolm  sharedVmfs-0  1GB       1GB

Attached logs:
docker-volume-vsphere.txt
vmdk_ops.txt

This happens only with zeroedthick and eagerzeroedthick disk format
root@photon-xVmYMbyTn [ ~ ]# docker volume create --driver=vsphere --name=vsanVolm2 -o size=3gb -o diskformat=zeroedthick
vsanVolm2
root@photon-xVmYMbyTn [ ~ ]# docker volume inspect vsanVolm2
[
    {
        "Name": "vsanVolm2",
        "Driver": "vsphere",
        "Mountpoint": "/mnt/vmdk/vsanVolm2",
        "Status": {
            "access": "read-write",
            "attach-as": "independent_persistent",
            "capacity": {
                "allocated": "6GB",
                "size": "3GB"
            },
            "clone-from": "None",
            "created": "Sat Mar  4 02:20:07 2017",
            "created by VM": "1_photon",
            "datastore": "vsanDatastore",
            "diskformat": "zeroedthick",
            "fstype": "ext4",
            "status": "detached"
        },
        "Labels": {},
        "Scope": "global"
    }
]
root@photon-xVmYMbyTn [ ~ ]# docker volume create --driver=vsphere --name=vsanVolm6 -o size=3gb
vsanVolm6
root@photon-xVmYMbyTn [ ~ ]# docker volume inspect vsanVolm6
[
    {
        "Name": "vsanVolm6",
        "Driver": "vsphere",
        "Mountpoint": "/mnt/vmdk/vsanVolm6",
        "Status": {
            "access": "read-write",
            "attach-as": "independent_persistent",
            "capacity": {
                "allocated": "204MB",
                "size": "3GB"
            },
            "clone-from": "None",
            "created": "Sat Mar  4 02:20:40 2017",
            "created by VM": "1_photon",
            "datastore": "vsanDatastore",
            "diskformat": "thin",
            "fstype": "ext4",
            "status": "detached"
        },
        "Labels": {},
        "Scope": "global"
    }
]
root@photon-xVmYMbyTn [ ~ ]# docker volume create --driver=vsphere --name=vsanVolm8 -o size=3gb -o diskformat=thin
vsanVolm8
root@photon-xVmYMbyTn [ ~ ]# docker volume inspect vsanVolm8
[
    {
        "Name": "vsanVolm8",
        "Driver": "vsphere",
        "Mountpoint": "/mnt/vmdk/vsanVolm8",
        "Status": {
            "access": "read-write",
            "attach-as": "independent_persistent",
            "capacity": {
                "allocated": "200MB",
                "size": "3GB"
            },
            "clone-from": "None",
            "created": "Sat Mar  4 02:22:49 2017",
            "created by VM": "1_photon",
            "datastore": "vsanDatastore",
            "diskformat": "thin",
            "fstype": "ext4",
            "status": "detached"
        },
        "Labels": {},
        "Scope": "global"
    }
]
root@photon-xVmYMbyTn [ ~ ]# docker volume create --driver=vsphere --name=vsanVolm10 -o size=3gb -o diskformat=eagerzeroedthick
vsanVolm10
root@photon-xVmYMbyTn [ ~ ]# docker volume inspect vsanVolm10
[
    {
        "Name": "vsanVolm10",
        "Driver": "vsphere",
        "Mountpoint": "/mnt/vmdk/vsanVolm10",
        "Status": {
            "access": "read-write",
            "attach-as": "independent_persistent",
            "capacity": {
                "allocated": "6GB",
                "size": "3GB"
            },
            "clone-from": "None",
            "created": "Sat Mar  4 02:23:42 2017",
            "created by VM": "1_photon",
            "datastore": "vsanDatastore",
            "diskformat": "eagerzeroedthick",
            "fstype": "ext4",
            "status": "detached"
        },
        "Labels": {},
        "Scope": "global"
    }
]

@ashahi1 I believe we do have a test in CI which does create "volume of diskformat type - zeroedthick on vsan datastore" .. where is the gap for not reporting this issue through automated test?

The service is using ESX disk library to get the total and allocated size. Is the allocated size including replicas as well.

The API behavior of the ESX disk library is correct for the given disk formats. The result is not intuitive, but this info helps. http://pubs.vmware.com/vsphere-65/index.jsp#com.vmware.vsphere.vm_admin.doc/GUID-4C0F4D73-82F2-4B81-8AA7-1DD752A8A5AC.html
I think we can document this somewhere.

not  bug. behaviour documented. Closing


Installation docs update

Installation docs updated
Related link breaks fixed

 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.


stats_integration_test failed

When run bazel test //test/... --config=libc++,   stats_integration_test failed because some segmentation fault.
Env:

clang 7 & libc++
Ubuntu 18.04

Ver:

1.12.2

Log:
[ RUN      ] IpVersions/ClusterMemoryTestRunner.MemoryLargeHostSizeWithStats/IPv6
[warn] evutil_make_internal_pipe_: pipe: Too many open files
[warn] event_base_new_with_config: Unable to make base notifiable.
[2020-02-02 05:22:03.632][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:83] Caught Segmentation fault, suspect faulting address 0x1b0
[2020-02-02 05:22:03.632][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:70] Backtrace (use tools/stack_decode.py to get line numbers):
[2020-02-02 05:22:03.632][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:71] Envoy version: 0/1.14.0-dev/redacted/DEBUG/BoringSSL
[2020-02-02 05:22:03.650][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #0: Envoy::SignalAction::sigHandler() [0x33e46e1]
[2020-02-02 05:22:03.650][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #1: __restore_rt [0x7fa59b683890]
[2020-02-02 05:22:03.667][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #2: evwatch_prepare_new [0x33c660f]
[2020-02-02 05:22:03.684][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #3: Envoy::Event::LibeventScheduler::registerOnPrepareCallback() [0x2feee46]
[2020-02-02 05:22:03.703][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #4: Envoy::Event::DispatcherImpl::DispatcherImpl() [0x2eea4b0]
[2020-02-02 05:22:03.721][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #5: Envoy::Event::DispatcherImpl::DispatcherImpl() [0x2ee9708]
[2020-02-02 05:22:03.738][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #6: Envoy::Api::Impl::allocateDispatcher() [0x2ee8cf2]
[2020-02-02 05:22:03.757][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #7: Envoy::FakeUpstream::FakeUpstream() [0x12bb852]
[2020-02-02 05:22:03.775][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #8: Envoy::FakeUpstream::FakeUpstream() [0x12bd274]
[2020-02-02 05:22:03.793][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #9: Envoy::BaseIntegrationTest::createUpstreams() [0x12fe29f]
[2020-02-02 05:22:03.810][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #10: Envoy::BaseIntegrationTest::initialize() [0x12fbe86]
[2020-02-02 05:22:03.826][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #11: Envoy::(anonymous namespace)::ClusterMemoryTestHelper::clusterMemoryHelper() [0x1258d04]
[2020-02-02 05:22:03.842][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #12: Envoy::(anonymous namespace)::ClusterMemoryTestHelper::computeMemoryDelta() [0x1258ad5]
[2020-02-02 05:22:03.860][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #13: Envoy::(anonymous namespace)::ClusterMemoryTestRunner_MemoryLargeHostSizeWithStats_Test::TestBody() [0x125a930]
[2020-02-02 05:22:03.878][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #14: testing::internal::HandleSehExceptionsInMethodIfSupported<>() [0x481e93e]
[2020-02-02 05:22:03.897][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #15: testing::internal::HandleExceptionsInMethodIfSupported<>() [0x48099fb]
[2020-02-02 05:22:03.917][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #16: testing::Test::Run() [0x47e1933]
[2020-02-02 05:22:03.936][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #17: testing::TestInfo::Run() [0x47e2b12]
[2020-02-02 05:22:03.954][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #18: testing::TestSuite::Run() [0x47e3a67]
[2020-02-02 05:22:03.975][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #19: testing::internal::UnitTestImpl::RunAllTests() [0x47fc835]
[2020-02-02 05:22:03.996][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #20: testing::internal::HandleSehExceptionsInMethodIfSupported<>() [0x4821c0e]
[2020-02-02 05:22:04.013][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #21: testing::internal::HandleExceptionsInMethodIfSupported<>() [0x480c67b]
[2020-02-02 05:22:04.032][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #22: testing::UnitTest::Run() [0x47fc14f]
[2020-02-02 05:22:04.054][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #23: RUN_ALL_TESTS() [0x2de25d1]
[2020-02-02 05:22:04.076][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #24: Envoy::TestRunner::RunTests() [0x2ddfb98]
[2020-02-02 05:22:04.097][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #25: main [0x2ddd4f8]
[2020-02-02 05:22:04.097][16][critical][backtrace] [bazel-out/k8-fastbuild/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:75] #26: __libc_start_main [0x7fa59b2a1b97]
external/bazel_tools/tools/test/test-setup.sh: line 310:    16 Segmentation fault      "${TEST_PATH}" "$@" 2>&1

It looks like you are running into the limit on the number of open file descriptors. Check the ulimit -n before running the test. If it something low, like 1024 you may need to make it higher to avoid this problem.

It looks like you are running into the limit on the number of open file descriptors. Check the ulimit -n before running the test. If it something low, like 1024 you may need to make it higher to avoid this problem.

Thanks for your kind reply. Infact I change the value of ulimit -n to 4096, and it still failed.


feature: GraphQL support

fixes #326
Hello. I added a basic GraphQL support for network plugin. It recognises POST api calls with "query" part in it and shows query name instead of api path in api calls list. Also, it recognises errors in api response and paints api calls in red, even if the status code is 200.
You can not like the way it is done. I thought about making a separate graphql interceptor with apollo graphql library, but graphql calls use http under the hood, so grapqhl calls will be duplicated in http interceptor. Also different clients use different versions of apollo library (2x, 3x, 4x), and it is a bad way to add a dependency only with one version of library. I thought it would be easier to parse raw request, rather then add an interceptor, but I can redo the implementation.

 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.

replaced by https://github.com/androidPluto/pluto/pull/328


[QUESTION] RTSP stream -> KVS sink not successfully re-connecting on error

Hello! I've got an RTSP stream that I am pumping to KVS sink via a Gstreamer pipeline (this is done via OpenCV videoWriter so it can simultaneously pump to an appsink.) Command is:
gstreamer_command = (
    f'rtspsrc location="{self.rtspUrl}" short-header=TRUE ! rtph264depay ! tee name=t ! '
    # Send to KVS sink for always-on recording
    f'h264parse ! kvssink stream-name="{self.kvs_stream_name}" storage-size=512 log-config=/opt/kvs_log_configuration access-key="{credentials.access_key}" secret-key="{credentials.secret_key}" aws-region="{AWS_REGION}" '
    # Also send to app sink aka openCV so we can also process frames for other purposes
    f't. ! h264parse ! avdec_h264 ! videoconvert ! videoscale ! video/x-raw ! appsink drop=1'
)

self.videoStream = cv2.VideoCapture(gstreamer_command, cv2.CAP_GSTREAMER)

This works for "some amount of time", but due to what i'm assuming is just bandwidth hiccups, at times, the stream will explode with the logging below.
Logging
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 (python3.9:1): GStreamer-CRITICAL **: 01:40:16.031: gst_event_set_seqnum: assertion 'seqnum != GST_SEQNUM_INVALID' failed
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 WARN [ WARN:0] global /opencv/modules/videoio/src/cap_gstreamer.cpp (1824) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module source reported: Could not open resource for reading and writing.
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 INFO [INFO ] [08-12-2021 00:39:42:114.250 GMT] stopKinesisVideoStreamSync(): Synchronously stopping Kinesis Video Stream 00007ff6f445d938.
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 INFO [INFO ] [08-12-2021 00:39:42:127.837 GMT] getStreamData(): Handle 0 waiting for last persisted ack with ts<PHONE_NUMBER>1260000
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 INFO [INFO ] [08-12-2021 00:39:42:258.790 GMT] getStreamData(): Indicating an EOS after last persisted ACK is received for stream upload handle 0
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 INFO [INFO ] [08-12-2021 00:39:42:258.823 GMT] postReadCallback(): Reported end-of-stream for stream<PHONE_NUMBER>2. Upload handle: 0
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 INFO [INFO ] [08-12-2021 00:39:42:258.834 GMT] Sending eos
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 WARN [WARN ] [08-12-2021 00:40:06:152.600 GMT] putKinesisVideoFrame(): Failed to submit frame to Kinesis Video client. status: 0x52000052 decoding timestamp: 0 presentation timestamp: 0
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 WARN [WARN ] [08-12-2021 00:40:06:152.619 GMT] checkIntermittentProducerCallback(): Failed to submit auto eofr with 0x52000052, for stream name:<PHONE_NUMBER>2
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 ERROR [ERROR] [08-12-2021 00:40:06:152.622 GMT] checkIntermittentProducerCallback(): operation returned status code: 0x52000052
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 ERROR [ERROR] [08-12-2021 00:40:06:152.625 GMT] timerQueueExecutor(): operation returned status code: 0x52000052
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 WARN [WARN ] [08-12-2021 00:40:11:152.645 GMT] putKinesisVideoFrame(): Failed to submit frame to Kinesis Video client. status: 0x52000052 decoding timestamp: 0 presentation timestamp: 0
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 WARN [WARN ] [08-12-2021 00:40:11:152.667 GMT] checkIntermittentProducerCallback(): Failed to submit auto eofr with 0x52000052, for stream name:<PHONE_NUMBER>2
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 ERROR [ERROR] [08-12-2021 00:40:11:152.669 GMT] checkIntermittentProducerCallback(): operation returned status code: 0x52000052
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 ERROR [ERROR] [08-12-2021 00:40:11:152.671 GMT] timerQueueExecutor(): operation returned status code: 0x52000052
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 WARN [ WARN:0] global /opencv/modules/videoio/src/cap_gstreamer.cpp (914) open OpenCV | GStreamer warning: unable to start pipeline
Dec 7 19:40:16 test-stream-d0c77bff3f-4ee16a10a0 test-stream-d0c77bff3f-4ee16a10a0 WARN [ WARN:0] global /opencv/modules/videoio/src/cap_gstreamer.cpp (501) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created

Any design considerations/constraints
I have the kvssink built into this image. Though it's been instantiated via opencv, the gstreamer pipeline should be pretty bare bones. Though I don't have restart-on-error explicitly defined, it seems to be defaulted to true, which i expected it should gracefully restart.
Note that the app-sink in this case continues to work even after the kvs-sink throws the above error and stops working, so it seems like that portion of the pipeline properly recovers.
I know this is likely due to bandwidth/network issues, so i'm less concerned with how do i make sure it doesn't happen and moreso how can i make sure i detect this issue / gracefully recover.

note that if i run without opencv (and consequently without the "tee" split to appsink), and manually trigger wifi on and off, the stream does not gracefully recover:
gst-launch-1.0 rtspsrc location="rtsp://IP_ADDRESS:554/axis-media/media.amp?videocodec=h264&fps=5" short-header=TRUE ! rtph264depay ! h264parse ! kvssink stream-name="stream-test-name" storage-size=512 access-key="KEY" secret-key="SECRET" aws-region="us-east-1"

works fine for some time, then i trigger wifi on/off to simulate a network hiccup and get:
2021-12-08 19:38:29 [140013148813056] DEBUG - postReadCallback(): Wrote 84 bytes to Kinesis Video. Upload stream handle: 0
2021-12-08 19:38:50 [140013148813056] DEBUG - postReadCallback(): Pausing CURL read for upload handle: 0
2021-12-08 19:38:51 [140013148813056] INFO - stopKinesisVideoStreamSync(): Synchronously stopping Kinesis Video Stream 000055baf2700d18.
2021-12-08 19:38:56 [140013140420352] INFO - getStreamData(): Handle 0 waiting for last persisted ack with ts<PHONE_NUMBER>2840000
2021-12-08 19:38:56 [140013148813056] DEBUG - postReadCallback(): Pausing CURL read for upload handle: 0 waiting for last ack.
2021-12-08 19:38:56 [140013148813056] WARN - curlCompleteSync(): curl perform failed for url https://s-468461da.kinesisvideo.us-east-1.amazonaws.com/putMedia with result Timeout was reached: Operation too slow. Less than 30 bytes/sec transferred the last 30 seconds
2021-12-08 19:39:05 [140013148813056] WARN - curlCompleteSync(): HTTP Error 0 : Response: (null)
Request URL: https://s-468461da.kinesisvideo.us-east-1.amazonaws.com/putMedia
Request Headers:
    Authorization: AWS4-HMAC-SHA256 Credential=ABCD/20211208/us-east-1/kinesisvideo/aws4_request, SignedHeaders=connection;host;transfer-encoding;user-agent;x-amz-date;x-amzn-fragment-acknowledgment-required;x-amzn-fragment-timecode-type;x-amzn-producer-start-timestamp;x-amzn-stream-name, Signature=e698423ffcf87dcbef7a7541609e4909c6c1e01345015ed
2021-12-08 19:39:05 [140013148813056] DEBUG - putStreamCurlHandler(): Network thread for Kinesis Video stream: matt-rtcc-stream-test with upload handle: 0 exited. http status: 0
2021-12-08 19:39:05 [140013148813056] WARN - putStreamCurlHandler(): Stream with streamHandle<PHONE_NUMBER>7672 uploadHandle 0 has exited without triggering end-of-stream. Service call result: 599
2021-12-08 19:39:05 [140013148813056] INFO - kinesisVideoStreamTerminated(): Stream 0x55baf2700d18 terminated upload handle 0 with service call result 599.
2021-12-08 19:39:05 [140013148813056] DEBUG - stepStateMachine(): State Machine - Current state: 0x0000000000000100, Next state: 0x0000000000000200
2021-12-08 19:39:05 [140013148813056] WARNING: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not read from resource.
Additional debug info:
gstrtspsrc.c(5543): gst_rtspsrc_loop_interleaved (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
The server closed the connection.

i would expect the pipeline to recover. is this not the case? i'm not sure if these are two different things i'm describing, but my overall goal is to create a pipeline that will withstand poor connections and automatically reconnect as it's able.

Hi @mattfeury, the pipeline does not recover because it receives an EOS which is not treated as an error. It closes the stream and then later it errors out with 0x52000052 which is STATUS_STREAM_HAS_BEEN_STOPPED. kvssink is behaving as intended as per the logs shared
Closing assuming answered, feel free to reopen / ask further questions if needed

understood. we are now detecting EOS and properly restarting the pipeline as a whole. this was confusing for us because appsink pipelines continue to work even after receiving an EOS, so i wonder if there is opportunity to more gracefully recover to align with how other sinks function. but fine to keep this closed


.NET Framework 4.0.3019 required for Choco

The installation script fails to execute successfully without .NET Framework 4.0.3019 installed prior to running.

https://chocolatey.org/install
Requirements

    Windows 7+ / Windows Server 2003+
    PowerShell v2+
    .NET Framework 4+ (the installation will attempt to install .NET 4.0 if you do not have it installed)

Yes, .NET 4.0.3019 is a dependency, but the flareon script doesn't install it before attempting to use choco. That's why the install.ps1 script failed for me until I installed .NET 4.0. If the machine already has choco installed, then it doesn't matter. dotpeek also requires .NET 4.5 which must be installed after .NET 4.0.


Add better support for Windows

Before this PR

java doesn't exist on windows, it's java.exe. So this plugin fails on Windows.
After this PR

==COMMIT_MSG==
Fixed an issue preventing this plugin from working on Windows.
==COMMIT_MSG==
Possible downsides?

Released 0.18.0


Mention that Dictionary.hash() can be used for equality comparisons

See #27615.
I don't know if there are plans to change how dictionaries are compared in 4.0, but I figure this is worth adding for now.

Thanks!

# The line below prints `true`, whereas it would have printed `false` if both variables were compared directly.

Shouldn't it be true and false without code format, since it's a comment in a code block?

@pouleyKetchoupp Maybe, I just got used to writing true and false when I mean the keywords (rather than the words "true" and "false").


Improve search performance

This change applies a unique ID to each badge example, and uses that to key the DOM.
Before this change, the key was the array index. While constant with the filter, it mutated as the filter changed, causing React to mutate the DOM very inefficiently. Badges were filtered out by mutating al the rows instead of simply removing the affected rows.
I first tried a version that applied a class with display: none to the hidden elements. That worked; however the implementation has a bunch of indirection, and this works nearly as well.
Fix #1314

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @paulmelnikow!

  Generated by :no_entry_sign: dangerJS

Would appreciate some testing vs https://shields.io/ and https://shields-staging.herokuapp.com/!

In my testing, https://shields.io/ is still faster, though https://shields-staging-pr-1385.herokuapp.com/ is much faster than https://shields-staging.herokuapp.com/.

1 thing i noticed that makes it feel slower is the images reloading when you remove letters:

I think that gives the display: none route an advantage IMO.

Yea, agreed, that isn't great. However I don't believe it would happen in production, where LONG_CACHE is set.

I pushed the other branch if you'd like to compare: #1393.

Closing in favor of #1393.


Is there a way to put an indicator on a UIButton?

Check List
Thanks for considering to open an issue. Before you submit your issue, please confirm these boxes are checked.

[x] I have read the wiki page and cheat sheet, but there is no information I need.
[x] I have searched in existing issues, but did not find a same one.
[ ] I want to report a problem instead of asking a question. It'd better to use kingfisher tag in Stack Overflow to ask a question.

Issue Description
What
I noticed that there is no indicatorType when using kf on a button. Am I missing something?

Have you tried:
let btn = UIButton()
let img = UIImage()
btn.setImage(img, for: UIControlState())
btn.imageView?.kf.indicatorType = .activity

I haven't verified it by compiling, but the auto-completion suggest it's there.

It's not supported to show an indicator in a button now. It's just for an image view (with Kingfisher's image view extension method.)
So you need to implement your own activity view and animate/stop it yourself. It should be not difficult to use the completion handler of the image setting method for button class.

btn.imageView? is read-only, so this won't compile.

The code compiles without problem, since it's only accessing the imageView's properties. Please refer to UIButton.imageView's documentation. However it doesn't show the result I was hoping for, yes.
@onevcat , thanks for the info. I was somehow expecting it to work since UIButton.imageView is a UIImageView and therfore has the kingfisher extensions.


Adapt the code to the changes in PendingWriteQueue

Motivation:
PendingWriteQueue creation and method names are changed
https://github.com/netty/netty/pull/12517
The code needs adaptation.
Modifications:

Adapt to the new PendingWriteQueue construction
removeAndWriteAll is renamed to removeAndTransferAll

Result:
The code is adapted to the new changes in the API.

@chrisvest @normanmaurer PTAL

Thanks!

@chrisvest thanks


helm init failed on windows (space in gcloud path)

Helm: helm-v2.3.1-windows-amd64
C:\WINDOWS\system32>C:\Helm.exe init
$HELM_HOME has been configured at .helm.
Error: error installing: Post https://XX.XX.XX.XX/apis/extensions/v1beta1/namespaces/kube-system/deployments: error executing access token command "C:\Users\MainUser\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\gcloud.cmd": exec: "C:\Users\MainUser\AppData\Local\Google\Cloud": file does not exist
Kubectl active context:
...
cmd-path: C:\Users\MainUser\AppData\Local\Google\Cloud SDK\google-cloud-sdk\bin\gcloud.cmd
....

hey @maksimru what version of gcloud are you using?
This might be related to #2249

C:\WINDOWS\system32>gcloud -v
Google Cloud SDK 153.0.0
beta 2017.03.24
bq 2.0.24
core 2017.04.24
gcloud
gsutil 4.25
kubectl
C:\WINDOWS\system32>kubectl version
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.2", GitCommit:"477efc3cbe6a7effca06bd1452fa356e2201e1ee", GitTreeState:"clean", BuildDate:"2017-04-19T20:33:11Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.1", GitCommit:"b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", GitTreeState:"clean", BuildDate:"2017-04-03T20:33:27Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
I don't have any problems with kubectl and gcloud. I think problem happens because cmd-path is not encoded with quotes in helm during auth

This should be fixed via https://github.com/kubernetes/helm/pull/2544

Yep. This works on Windows 10 with Helm v2.6.1.


Update docs to add headers and remove graphics

Coverage remained the same at 93.043% when pulling 15a2cf47452035781d937cec8db6588f6a304e55 on update-doc into 793f353bc304214c4cbf476d72460ffc0313195d on master.


ISS Tracker

Hello Kristjan, I still need your help...
to improve the monitoring of the ISS I need your expertise, in the sites that you added to the module (that of afartv) I would like to take this opportunity to thank you again for your work, the page is well done but the windows at the bottom left are very small and it is complicated to follow your passage precisely, do you think it would be possible to enlarge them, I tried but I don't see how! or otherwise I thought of another solution which would consist of using the original module of your MMM-ISS-Live and adding another module which would allow geographical tracking, I saw this site and zoomed in on the map it would be perfect...
https://isstracker.pl/en
I took a screenshot and it would be awesome to have this view, maybe I'm dreaming but it would be so beautiful

I think it could be possible to enlarge the part from the video, but I'm currently investing my time in other projects.
Using data from isstracker.pl might also be possible. Maybe ask in the forum (https://forum.magicmirror.builders/category/9/requests) if anyone is interested in building something like this.
Third option: You try to build it yourself :slightly_smiling_face:  I don't know your level of knowledge on this topic, but it's a great thing to deal with JavaScript and realise ideas with it :smiley: Many of the MagicMirror modules were created by non-programmers.

Thank you for your response, I don't have the skills to create a module, I've never tried, are there any forums that explain how to do it? I'm ready to try, if it's too complicated for me then I'll take your option number 3 😉

In the docs of MM is a section about module development: https://docs.magicmirror.builders/development/introduction.html#general-advice
If you don't have any experience with JavaScript there are a lot of free tutorials, like this one: https://www.w3schools.com/js/DEFAULT.asp
It takes a little patience, but it's worth it :smiley:

good evening kritjan, could you add this youtube stream? this will solve the tracking problem on the map, that would be really cool of you, thanks again
https://www.youtube.com/watch?v=SjfvShvQsIo

Sorry Kristjan, but this is not the right link, this one is cut every day and contains advertising, sorry

It's a pity that the link is unsuitable. The layout looks very good.
That would be the link you have to add to the config: https://www.youtube.com/embed/SjfvShvQsIo?si=6GNMcHGm0Ra2I8PJ

Thank you for your response, unfortunately these links are only functional for 24 hours, it's a shame because it really is the ideal module to follow the progress of the ISS (GPS map, planisphère and live view of the earth) :-(

hello Kristjan, can you explain something to me please? when I sent you the youtube link:
https://www.youtube.com/watch?v=SjfvShvQsIo
you sent me another link to make it work:
https://www.youtube.com/embed/SjfvShvQsIo?si=6GNMcHGm0Ra2I8PJ
How did you find this link? I would like to understand so that I can put different links on your ISS module and each time I paste a link nothing works.
thank you for your help

Here is an explaination about that: https://total.wpexplorer.com/docs/get-embed-urllink-youtube-video/ :slightly_smiling_face:

too strong !!! thank's     ;-)

Hi Kristjan, @mumblebaj has been working on the rugby module for a few weeks, he has already done a lot of work, and I saw that I had updated the module:
https://github.com/0m4r/MMM-SoccerLiveScore
I asked @mumblebaj if he could do something like you for the presentation of the league choice tables etc. he told me that for him it seemed complicated but that if you could it would be with great pleasure, his module is as follows:
https://github.com/mumblebaj/MMM-Rugby.git
I don't know if it's possible for you but it would be something great, a lot of people would like to have this module on their MM
Thanks again for updating the weather module
MMM-OneCallWeather


Swagger node is taking URL phrase as parameter

Here's my one of GET requests:
GET: /students/{id}/{name}
(id is number)
And now I wrote another request:
GET: /students/routeInfo/{id}
But the 2nd request me following error:
Expected type is number, found type string. Which clearly means 2nd request is trying to "mask" 1st request. Which I think shouldn't be.
Taking "routeInfo" as a parameter value instead of path is absolutely weird.
Am I doing something wrong or is there any other way to handle this?

@vikaskumar2299 have you tried changing the order of the 2 routes? List
GET: /students/routeInfo/{id} before GET: /students/routeInfo/{id} in your swagger.yaml


Range Slider - Possible bug

Good Morning,
Can you please consider the doc attached (with a test case) and let us know if we have encountered a bug and provide us help?
Thanks in advance for the support.
Stefano
FOS Range Slider - Bug.docx

@foex-open-source Can I get un update please? Best Regards Stefano

Hi Stefano!
We couldn't reproduce the issue, so can you please create a test case on apex.oracle.com and provide access details so we can investigate your issue.
Thanks

Hi @foex-open-source . You can mark the issue closed. We didn't realized that there was the event Range slider change. Thanks for the support!


Incorrect order of psuedoelements and classes

Psuedo elements (before/after) must come last after psueudo classes (:hover/:visited) according to spec (http://www.w3.org/TR/selectors/#selector-syntax).
Currently, no matter which order one declares elements/classes, elements appear before classes:
  val foo = style("foo")(
    &.hover.before(color(blue))
  )

generates:
.foo::before:hover { color: blue }

Should be:
.foo:hover::before { color: blue }

I'm going to try a PR for this.

Merged #40. Big thank you for the PR, @matthughes !


Saving prompt status settings

System Details

posh-git version/path: 0.7.3  ~\Documents\WindowsPowerShell\Modules\posh-git\0.7.3
PowerShell version: 5.1.17134.228
git version 2.16.2.windows.1
OS: Microsoft Windows NT 10.0.17134.0

Issue Description
My settings are not remembered upon opening new PowerShell. I read readme, and configuration options, but haven't found it...
I wanted to disable status as my IDE does it already. I use this command $GitPromptSettings.EnablePromptStatus = $false.

You need to put that line in one of your profile scripts.  Search your ~\Documents\WindowsPowerShell dir for files named *profile.ps1.  Find the one that has the command import-module posh-git and add your setting right after the import.

It indeed did the job. Let's put it in the Customizing the posh-git prompt section.

This is covered by this line in that section of the README.md:
If you'd like to make any of these changes permanent, i.e. available whenever you start PowerShell, put the corresponding
setting(s) in one of your profile scripts **after** the line that imports posh-git.

It might be nice to add subtitles in that section as it's a bit of a wall of text or add the word "save" to that sentence so it turns up easier when searching.


Images only shown in overview

http://maptime.io/salzburg/2018/10/09/OpenStreetMap/ does not show images, even though they are visibile in the main view

fixed b7933738c39c0aa54087ffc4bfb1e5054bbd953c


[Browser] UP + Keccak256 + ECDSA

Support UltraPlonk proving + verifying in browser with UP's inbuilt implementations of Keccak256 & ECDSA verification.

Duplicate of https://github.com/noir-lang/acvm-backend-barretenberg/issues/161


Can't get account data for session: . response status: 401

hello i have this error

check your query sir


⚠ Samsung has degraded performance

In 28af7ef, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 3099 ms

Resolved: Samsung performance has improved in 95bf636.


Replace Artemis codename with Snowbridge

Now that we finally seem to have settled on a name.
The output binaries are now named as follows:

snowbridge (parachain)
snowbridge-relay (relayer)

E2E tests all pass

ah awesome thanks


[JDA Gateway-Worker 1] WARN WebSocketClient - Missed 2 heartbeats! Trying to reconnect...

When I start the bot, then in log "[JDA Gateway-Worker 1] WARN WebSocketClient - Missed 2 heartbeats! Trying to reconnect..." this message comes out but my internet is not bad at all(30mbps / 10mbps) and I googled it how to fix it but all answer was internet is bad; please help me :(
I restarted too.
I'm using raspberry pi 4b 8Gb for hosting bot
and Germany internet

Converting to discussion, since you didn't fill out any of the issue templates. See #1337


[Question] How do I load Plugin that depends on another plugin

I have a WPF+Net6 solution, say:

Contract.dll (public interface IPlugin)
Plugin1.dll (WPF with xaml resources), (public abstract class Plugin1 : IPlugin)

Contract.dll
External NuGet deps

Plugin2.dll (WPF with xaml resources) (public class Plugin2 : Plugin1)

Contract.dll
Plugin1.dll

Plugin3.dll (WPF with xaml resources) (public class Plugin3 : Plugin1)

Contract.dll
Plugin1.dll

Host.exe

loads Plugin2.dll and Plugin3.dll

Problem:
When Plugin2 (which refs Plugin1), the xaml (like Plugin1UserControl) loads fine, but Plugin3 fails to find the xaml resources.
throws XamlParseException complaining about "/Plugin1;component/plugin1usercontrol.xaml" not found.
The behavior is pretty random, somethings Plugin2 gets the xaml, sometimes Plugin1.
I tried:
load all abstract plugins (ie. Plugin1 with its satellites (ie. NuGet dlls) in this case) into the AssemblyLoadContext.Default, it complains about InvalidCastException ([A]Plugin2 vs. [B]Plugin2), I also add types from Plugin1 into shared types.
var shared = ...;
var shared2 = shared;
var dlls = ...;
foreach (var dll in dlls)
{
    // tried with both config.PreferSharedTypes = true and false
    var loader = PluginLoader.CreateFromAssemblyFile(dll, true, shared, config => config.PreferSharedTypes = true);
    var assembly = loader.LoadDefaultAssembly();
    var references = assembly.GetReferencedAssemblies();
    if (assembly.GetExportedTypes().Any(p => typeof(IPlugin).IsAssignableFrom(p) && p.IsAbstract))
    {
        AssemblyLoadContext.Default.LoadFromAssemblyPath(assembly.Location);
        foreach (var reference in references)
        {
            try { AssemblyLoadContext.Default.LoadFromAssemblyPath($"{PLUGIN_DIR}{Path.DirectorySeraratorChar}{reference.Name}.dll"); }
            catch { }
        }
        // tried either with or without the next line
        shared2 = shared2.Concat(assembly.GetExportedTypes().Where(p => p.IsAbstract)).ToArray();
    } else {
        loader.Dispose();
    }
}

foreach (var dll in dlls)
{
    var loader = PluginLoader.CreateFromAssemblyFile(dll, true, shared2, config => config.PreferSharedTypes = true);
    var assembly = loader.LoadDefaultAssembly();
    var plugins = assembly.GetExportedTypes().Where(p => typeof(IPlugin).IsAssignableFrom(p) && !p.IsAbstract);
    if (plugin.FirstOrDefault() != null)
    {
        foreach (var plugin in plugins)
            try { Plugins.Add((IPlugin)Activator.CreateInstance(plugin)); }
            catch { }
    } else {
        loader.Dispose();
    }
}

but neither of the 4 combinations works.
What can I do now?
Currently I'm falling-back to NOT sharing UI classes between plugins (ie. no Plugin1UserControl classes).
Is there any other solution to this?

I am working toward similar goals, .net 6, WPF, with this plugin library.
I'm just building a simple test solution to exercise the concepts.
Mine is working, but it's slightly more simple than yours.
I'd be willing to add to mine in the hope of reproducing your problem, but I'm not sure what yours does, especially Plugin1.dll.
I have a Contracts library with just an interface file, defining a method to return a UserControl.
Two wpf libraries, each with a custom user control, and separate resource dictionary to define a style it uses. The interface implementation returns an instance of this control.
And my wpf test app that finds the two plugins, instantiates, and gets the controls to populate the UI.
So I would need to add the abstract class like you say you have in Plugin1, and any xaml defined in it.
Can you share you project or explain it further?

I am having the same problem without WPF (so you can rule that out) as the problem.  I have multiple plugins that depend on a common class. The common class is in the plugins directory. I can load the common class, but trying to cast it fails.

I can load the common class, but trying to cast it fails.

I'd don't want to commit to this library or others if I'm going to encounter issues like this later.

It's an invalid cast issue. When Plugin1 and Plugin2 are created, they have some common dependency (PluginBase). When loaded, Plugin1 loads PluginBase. When Plugin2 is loaded, it also loads PluginBase. They are considered 2 different types.
In my case, PluginBase is also part of the program LOADING the plugins (call it Main). Main has a PluginBase type, but I can't cast between any of the three.
The documentation says that this should work, so my guess is that something has changed in .NET to break this.

This is my "Main". I have a separate library for the base class and each of two plugins.
foreach (string dir in Directory.GetDirectories(pluginsDir))
{
    var dirName = Path.GetFileName(dir);
    var pluginDll = Path.Combine(dir, dirName + ".dll");
    if (File.Exists(pluginDll))
    {
        var loader = PluginLoader.CreateFromAssemblyFile(
            pluginDll,
            sharedTypes: new[] { typeof(PluginControlBase) });
        pluginLoaders.Add(loader);
    }
}

foreach (var loader in pluginLoaders)
{
    foreach (var pluginType in loader
        .LoadDefaultAssembly()
        .GetTypes()
        .Where(t => typeof(PluginControlBase).IsAssignableFrom(t) && !t.IsAbstract))
    {
        PluginControlBase pluginControl = (PluginControlBase)Activator.CreateInstance(pluginType);
        myPluginControlBases.Add(pluginControl);
    }
}

I tried to simulate what I understand you're trying to do.
It works for me. But I'm not sure I'm casting in the ways you are.
I signed my base plugin library and it still works, though I'm also not sure that simulates what you're doing thoroughly enough.
I'd be willing to try to replicate your situation more closely. Or, could you share your solution?


TabCount is less than zero error

I'm getting the following error in the following situations:

/Users/carl/Workspace/node_modules/brightscript-formatter/dist/BrightScriptFormatter.js:189
throw new Error('TabCount is less than zero for ' + JSON.stringify(lineTokens));
^
Error: TabCount is less than zero for [{"tokenType":"endSub","value":"end sub","startIndex":7322},{"tokenType":"newline","value":"\n","startIndex":7329}]
at BrightScriptFormatter.formatIndentation (/Users/carl/Workspace/node_modules/brightscript-formatter/dist/BrightScriptFormatter.js:189:23)
at BrightScriptFormatter.format (/Users/carl/Workspace/node_modules/brightscript-formatter/dist/BrightScriptFormatter.js:22:27)
at /Users/carl/Workspace/roku/VidAngelRoku/brightscript-format.js:17:20
at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:511:3)

When I have an else statement followed immediately by another if statement :

if (a) then
 some code...
else
  if (b) then
    more code...
  end if
  more code...
end if

When the function .next is called on an ifEnum object

m.top.returnString = m.someArray.next

The error "TabCount is less than zero for..." is when the formatter "closes" more indentation blocks than it opens. I would expect the following invalid code to produce that error as well.
if true then
   doSomething()
end if
end if

However, I'm sure it's a bug where the code is not properly determining when a block opens and closes.
For #2, I'll bet the bug is related to the word "next" being a keyword. I'll have to tighten up the tokenizer's regex matchers.
I'll try reproducing these locally and see if I can come up with a fix.
Thanks for passing these along!

The issue with item 1 is that the tokenizer is converting
else
    if

into
else if

Which is obviously not correct.
Similar issue with item 2. The tokenizer is identifying "next" as a keyword, when it should be an identifier based on where it's placed.
Good catches!

@crwecker I believe that I fixed both of these issues and published to npm. Upgrade to version 1.1.1 and let me know how it goes!

Worked great for the couple of files I checked. Thanks again for putting this together and for being so responsive!!

You're quite welcome. It's nice knowing someone else other than myself is using this. :D


Lost Bot when i re-listened to port

So, i had a bot on port 5888... but then i listened to some other random port... and then back again to Port 5888 it couldn't connect again...

Just wait a few minutes depending on the delay you've set.


How to validate an output file integrity

When a step fails, SoS will remove partially completed output to prevent from using corrupted output. However this clean up does not happen when eg SoS crashes or walltime is out, leaving behind corrupted outputs. Is there an easy way to verify the file signature for given output to ensure that it was successfully generated?

When I came across a problem like this, I will add a shell command to remove output directory, so output file will remain if signature checking passes, and be removed otherwise.
If this looks scary. you can move the complete output to another location after the script completes and set it as the true _output. In this way only the complete output will be generated. This is essentially the "sandbox" method but there is no systematic support for it (I think our template feature can be used here).

Thanks @BoPeng ! Another idea would be some options to generate a md5sum explicitly for each output file when completed? This may be a desired feature anyways. I'm recently sharing some analysis reuslts with colleagues. They asked me to include md5sum for integrity checks of the files I share.

So this likes a sub-feature of -s? Currently we are using time + filesize + hash as file signature and I believe we ignore hash in some cases for performance considerations. If we are generating md5, we will be generating two sets of hashes.


DM migrate the inconsistent data to downstream

What did you do?

install dm v5.3.1, create 3 upstreams, start a task(with optimistic sharding) to sync the data
execute three different ddls to 3 upsteams:
ddl1: ALTER TABLE sbtest1 modify name varchar(220)  NOT NULL;
ddl2: alter table sbtest1 modify price  varchar(64);
ddl3: alter table sbtest1 change type type1 varchar(220) NOT NULL;
then upgreade dm cluster to nightly
use query-status to check the task status, check the sub task for upstream2(ddl2)
insert data to upstream2:
insert into sbtest1 value(24, "aa", "dd", "bb");
insert into sbtest1 value(21, "aa", "100", "bb");

downstream tidb get the error data.

Only happened once.
What did you expect to see?
dm will block to migrate the data if column property is the not equal between upsteam and downstream
What did you see instead?
data inconsistent happened
Versions of the cluster
DM version (run dmctl -V or dm-worker -V or dm-master -V):
Release Version: v6.0.0-master-dirty
Git Commit Hash: 90e26a26c9f0e39b54c8343fe40746c7b21274a6

Upstream MySQL/MariaDB server version:
(paste upstream MySQL/MariaDB server version here)

Downstream TiDB cluster version (execute SELECT tidb_version(); in a MySQL client):
(paste TiDB cluster version here)

How did you deploy DM: tiup or manually?
(leave TiUP or manually here)

Other interesting information (system version, hardware config, etc):
>
>

current status of DM cluster (execute query-status <task-name> in dmctl)
(paste current status of DM cluster here)

[dm-master.log](https://github.com/pingcap/tiflow/files/8716780/dm-master.log
dm-worker.log
)


Added kadanes_without_STL.cpp

Update readme and contributors list :+1:

Hello, Anyone with write access, please review this PR and if all good merge it.

I have already updated the contributors list and there is no need to update the readme as it is only the another version of already existed solution.


Different behavior when inlining anonymous functions?

I use ADVANCED optimization and I expect both scripts to raise a warning because of bad callFn argument.
This script raises a warning:
/**
 * @param {function(number)} fn
 */
function callFn(fn) {
    fn(1);
};

var fnToCall = function (/** !Function */ arg) {
    console.log(arg);
};

callFn(fnToCall);

This does not (fnToCall inlined):
/**
 * @param {function(number)} fn
 */
function callFn(fn) {
    fn(1);
};

callFn(function fnToCall(/** !Function */ arg) {
    console.log(arg);
});

You're right, there is a bug in the old type checker; there should be  a warning in the 2nd example. This works correctly in the new type checker.
http://closure-compiler-debugger.appspot.com/#input0%3D%252F**%250A%2520*%2520%2540param%2520%257Bfunction(number)%257D%2520fn%250A%2520*%252F%250Afunction%2520callFn(fn)%2520%257B%250A%2520%2520%2520%2520fn(1)%253B%250A%257D%253B%250A%250AcallFn(function%2520fnToCall(%252F**%2520!Function%2520*%252F%2520arg)%2520%257B%250A%2520%2520%2520%2520console.log(arg)%253B%250A%257D)%253B%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_TYPES_NEW_INFERENCE%3D1%26MISSING_PROPERTIES%3D1%26PRESERVE_TYPE_ANNOTATIONS%3D1%26PRETTY_PRINT%3D1
I recommend trying out to the new one, with the flag --new_type_inf. It finds many more warnings than the old one.

Is this new type checker stable? I get many weird errors using it for my project but I couldn't reproduce them using simpler code. Is there any chance that old type checker will be fixed?

It's mature enough for projects to use it, but it's still under development. Most work that goes in the old type checker is fixing crashes (and the recent @record work). Other bugs won't be fixed.
I can probably give you some guidance to get you started with the new type checker. If you can't reproduce warnings with a small independent code sample, start a new thread here:
https://groups.google.com/forum/#!forum/closure-compiler-discuss
And post the most common warnings that you see, with snippets from your actual project. It doesn't matter that I won't be able to reproduce, maybe the snippets will contain enough information for me to give you some help.

Also, this page can help you get started: https://github.com/google/closure-compiler/wiki/Using-NTI-(new-type-inference)

I don't think it is a bug in the OTI per se.  I think that when the new short syntax was introduced the OTI is using for the type info wasn't updated as the traditional syntax works correctly:
http://closure-compiler-debugger.appspot.com/#input0%3D%252F**%250A%2520*%2520%2540param%2520%257Bfunction(number)%257D%2520fn%250A%2520*%252F%250Afunction%2520callFn(fn)%2520%257B%250A%2520%2520%2520%2520fn(1)%253B%250A%257D%253B%250A%250AcallFn(%252F**%2520%2540param%2520%257B!Function%257D%2520arg%2520*%252F%2520function%2520fnToCall(%2520arg)%2520%257B%250A%2520%2520%2520%2520console.log(arg)%253B%250A%257D)%253B%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3D1%26CHECK_TYPES%3D1%26MISSING_PROPERTIES%3D1%26PRESERVE_TYPE_ANNOTATIONS%3D1%26PRETTY_PRINT%3D1


Properly report about a  failing yahoo finance ticker. close #605

Deploy preview for landscape ready!
Built with commit 04ecb3215bb6dc1b9eda2d53a8daefeb856905eb
https://deploy-preview-607--landscape.netlify.com


webview: When zooming, the marker changes the position

When I pinch-zoom in on the mobile, the marker changes the position. When zoomed out it is south of a main street, when zooming in, north of it (whichout the device moving or position updated)

Happens also on the web app. The problem is that the marker has a tiny "nose" - which looks like that is the right position - but the position seems to be the center of the marker instead.

Position is in the center of the marker. "Nose" just shows the direction.

Ah okay thanks


每次都是报这个错

Traceback (most recent call last):
File "E:/python-wechaty/examples/ding-dong-bot-oop.py", line 7, in
from wechaty_puppet import FileBox  # type: ignore
File "E:\python-wechaty\venv\lib\site-packages\wechaty_puppet_init_.py", line 6, in
from .schemas.types import (  # type: ignore
File "E:\python-wechaty\venv\lib\site-packages\wechaty_puppet\schemas\types.py", line 23, in
from chatie_grpc.wechaty import (   # type: ignore
File "E:\python-wechaty\venv\lib\site-packages\chatie_grpc\wechaty_init_.py", line 7, in
import betterproto
File "E:\python-wechaty\venv\lib\site-packages\betterproto_init_.py", line 27, in
import grpclib.client
File "E:\python-wechaty\venv\lib\site-packages\grpclib\client.py", line 26, in
from .protocol import H2Protocol, AbstractHandler, Stream as _Stream, Peer
File "E:\python-wechaty\venv\lib\site-packages\grpclib\protocol.py", line 22, in
from h2.events import StreamReset, PriorityUpdated, PingAcknowledged
ImportError: cannot import name 'PingAcknowledged' from 'h2.events' (E:\python-wechaty\venv\lib\site-packages\h2\events.py)

You should upgrade the version of wechaty:  wechaty~=0.7dev15
Please tell me more if you have try it.

 If it is not accessible, you should contact the token provider to check the status of your token. If you use Padlocal token, you should learn to start local server  to provide local protocol service. Please refer to: https://github.com/wechaty/wechaty/discussions/1985
Second, if your endpoint is accessiable, please check the server grpc service status, so you can connect it with more happy.
If you also can't resolve your problem, you can try to restart your network, and provide more details info(token type, wechaty related package version, python version, os version, more ...) so we can help you resolve your problem.

thank you.

How to pull friends into WeChat group?

How to pull friends into WeChat group?

There are a lot of common Add, Delete features in Room, Contact, Friendship, Tag modules, and all of api name is same. You can refer to this issue, and try to write add friend into WeChat Group.
Hope you can have more compression about wechaty. If you have any problems, please feel free to tell us.

python-wechaty好像文档也没有太完善
可以添加好友，但是不知道怎么拉入群，能给一段代码示例吗？

python-wechaty好像文档也没有太完善
可以添加好友，但是不知道怎么拉入群，能给一段代码示例吗？

https://github.com/wechaty/python-wechaty-getting-started/blob/master/examples/advanced/room_bot.py

Of course, there are a lot of on going improvements  in wechaty.js.org website, which we are writing for polyglot wechaty.
Anyway,  you can refer to this code: https://github.com/wechaty/python-wechaty-getting-started/blob/master/examples/advanced/room-member-bot.py

你好，我运行这个文件结果就是把所有群的群成员打印在了控制台

async def on_ready(self, payload):
"""all of initialization jobs shoule be done here.
"""
log.info('ready event<%s>', payload)
# search contact and add them to the specific room
room: Optional[Room] = await self.Room.find(query=RoomQueryFilter(topic='room-topic-name'))
if not room:
return
contacts: List[Contact] = await self.Contact.find_all()
    for contact in contacts:
        await contact.ready()
        if contact.name == 'your-friend-name':
            await room.add(contact)

'your-friend-name':    这个是填写朋友备注呢还是什么
room-topic-name是群名称吗？

@lccnidaye your-friend-name and room-topic-name you can print the data of your friends & Room, so you will know the meaning of them.  This is a basic skill that developers must master, you should have a try.  Good luck to you.

Room find() confirm room[#0] with id=17761739330@chatroom is valid result, return it.

@lccnidaye your-friend-name，room-topic-name您可以打印朋友和房间的数据，因此您将了解它们的含义。这是开发人员必须掌握的一项基本技能，您应该尝试一下。祝你好运。

Room find() confirm room[#0] with id=17761739330@chatroom is valid result, return it.


Small format update to the exporter failure doc

This updates the configuration options sections and it's descriptions to the layout/format that is used in other parts of the documentation.
Signed-off-by: Michal Pryc<EMAIL_ADDRESS>@redhat-cop/mdt

/retest


Build failure during akaze stage

The following was run on Ubuntu 20.04 LTS.
sudo apt install \
    libgflags-dev \
    libgoogle-glog-dev
cd ~
git clone --recursive https://github.com/mapillary/OpenSfM
cd OpenSfM
git submodule update --init --recursive
virtualenv ~/.opensfm
source ~/.opensfm/bin/activate
python3 -m pip install -r requirements.txt
python3 setup.py build

[ 34%] Building CXX object third_party/akaze/CMakeFiles/akaze.dir/lib/utils.cpp.o
[ 35%] Linking C static library libvl.a
[ 35%] Built target vl
[ 36%] Linking CXX static library libgtest.a
[ 36%] Built target gtest
[ 37%] Linking CXX static library libakaze.a
[ 37%] Built target akaze
make: *** [Makefile:101: all] Error 2
Traceback (most recent call last):
  File "setup.py", line 60, in <module>
    build_c_extension()
  File "setup.py", line 54, in build_c_extension
    subprocess.check_call(
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', '-j4']' returned non-zero exit status 2.

The actual error message from make is suppressed. If you need it, please let me know how I'd get it to print out to the CLI.
I did have a look at the build folder for akaze itself and it seems to build without issue. Bizzare.
cd ~/OpenSfM/cmake_build/third_party/akaze
make -j4

[100%] Built target akaze

I was missing python3-dev from my installed packages.
For anyone else having error messages suppressed:
cd cmake_build
make -j4

You'll see the entire error message.


feat(nextra-theme-docs): primary color.lightness theme config

Why:
within theme config, we currently support tweaking color.hue and color.saturation
this PR comples by adding color.lightness support
for some hue/sat combos lightness needs to be tweaked independantly on light and dark mode for readability, ie. :

light
dark

^ some edge case scenarios
Closes #2815
Closes #2786

What's being changed (if available, include any code snippets, screenshots, or gifs):
https://github.com/user-attachments/assets/2d7756c7-f026-4d35-b859-c7697d6291c4
TAKE NOTE FOR THE FOLLOWING :
I've set the default constant as
    lightness: {
      dark: 55,     // tweaked to make it slightly lighter for legibility
      light: 45     // current default value (primary-600)
    },

and in the tailwind config file. instead of hard coding the L for all the 50~900 range. what I've done is we'll use the defined primary color.lightness + variable L
      primary: {
-       50: makePrimaryColor(97),
-       ...
-       500: makePrimaryColor(50),
-       600: makePrimaryColor(45),
-       ...
-       900: makePrimaryColor(24)
+       50: makePrimaryColor(52),   // = 97 - 45
+       ...
+       500: makePrimaryColor(5),   // = 50 - 45
+       600: makePrimaryColor(0),   // = 45 - 45
+       ...
+       900: makePrimaryColor(-11)  // = 24 - 45
      }

using the same 'why' edge case examples, we can now override the lightness for dark/light mode -- take note of the TOC active highlight

light
dark

56
75

34
59

Check off the following:

[x] I have reviewed my changes in staging, available via the View
deployment link in this PR's timeline (this link will be available after
opening the PR).

thanks @dimaMachina, I've tweaked the docs slightly to include the grey/white example -- wrote it in a way to gear towards  dark/light modes generic consideration. Also changed the theme colour intro paragraph to include lightness.


Convert into PWA

I would like to work on this! Could I be assigned? Also, I need a logo/icon to use (or I could use a placeholder for now).

Please use a placeholder icon for now.

https://github.com/thtauhid/open-profile/pull/39


Bug in ConvertSizeToBytes and ConvertSizeToBytes64 methods in utils/utils.go

Because "b" is a suffix of "kb", "mb", "gb", etc., the conversion methods match with "b" before matching with the correct suffix. One quick fix is to remove lookupTable["b"] = 0.

@kangarlou I'm working on a fix for this right now.


webdev shenanigans

Made typescript output any artifacts inside a dist directory, which is ignored by git.
Moved all the source code (except serve.js) in the src directory.
Deleted all existing artifacts (.mjs).
Added a github workflow for publishing the artifacts to a dist branch (for github pages).
You can see the deployment here.
Before merging, you will need to make a dist branch, you don't have to do anything special to it, it just has to exist.

I managed to resist the urge of including vite as well.

No. We didn't need a custom GitHub Action Deployment step before. You just added the need for it for no reason and increased the complexity of the deployment.

Also, refactoring: https://github.com/tsoding/koil/blob/b89feda19aa5dd8ced5e249febbb6ece27cf9b1e/CONTRIBUTING.md

No. We didn't need a custom GitHub Action Deployment step before. You just added the need for it for no reason and increased the complexity of the deployment.

That is the spirit of web dev, I stayed true to the PR's title.


Wrong link og:image

When I try to post an article sur facebook, it doesn't show the picture. If I look into the HTML code, there is the relative path of the picture. In my opinion Facebook can not read the relative url, it need the whole path, (www.mysite.de/img/pic1.jpg). Thanks for a fix.

This appears to be the case.  I think I can fix this issue with a site setting.

This is fixed in RC6.  Documentation to be added soon.


Custom select

Hi guys, can u recommend an approach how to use this library alongside with SlimSelect

I was trying to init SlimSelect with plugin using created event but when callback on this event is running DOM element still doesn't exists

You can create a custom input https://formkit.com/advanced/custom-inputs, you can use the context._value to show the values using their setData on prop change, and to make it set you can use their set with context.node.input.

Works almost everytime with await new Promise((r) => setTimeout(r, 50));
import SlimSelect from "slim-select";

export default function useSlimSelect() {
  const slimSelectPlugin = (node) => {
    if (node.props.type === "select") {
      node.on("created", async (payload) => {
        await new Promise((r) => setTimeout(r, 50)); // "next tick"

        if (document.querySelector(`#${payload.payload.props.id}`)) {
          new SlimSelect({
            showSearch: false,
            select: `#${payload.payload.props.id}`,
          });
        }
      });
    }
  };

  return { slimSelectPlugin };
}


Re-added bazel support

Hey it's me again the bazel guy.
I was updating my project to the latest version of EnTT (v3.3.0) and noticed it no longer worked with bazel! I see it was removed due to it not being maintained. I'll admit I hadn't been running the tests so I didn't notice that shortly after it was initially added the tests no longer worked with bazel. However my project had been running EnTT v3.2.2 just fine because the user facing target @com_github_skypjack_entt//:entt had been working.
So that brings us to this PR. This PR includes only the user facing target and no tests to make it simpler.

That's great. Since I'm not using bazel, I didn't know how to update it and things got broken quickly. Thank for making it work again. :+1:


Can not select by attribute xlink:href

When I try to select a child element in such way:
element.select('[xlink:href=someid]')

I get an exception:
SyntaxError: Failed to execute 'querySelector' on 'Element': '[xlink:href=someid]' is not a valid selector.

However, it works fine with clip-path

It's problem of querySelector syntax.
http://stackoverflow.com/questions/23034283/is-it-possible-to-use-htmls-queryselector-to-select-by-xlink-attribute-in-an


Cannot parse titles that contain "<3"

The reason for this is that we treat titles as HTML partly - this is good in many situations but obviously not all. Not immediately obvious to me how this should be treated. A band-aid is of course to have a special case for "<3".

They weren't initially, then something happened which made me want to switch but now I've forgotten what that was. Perhaps it's best to go back to the original approach and check if there's any problems.

Didn't run into any problems so closing this.


Fix minor typo

/retest

/check-cla

/check-cla

Hi @squarebracket
Have you confirmed that the email address that you're signing commits with matches the one that you used to sign the CLA?

/check-cla

Sorry, that was my bad, guess I didn't actually finish the process.


Reshaping state information into grid

I am interested in using horizontal/vertical stretches as evolvable operations, and therefore I would really like to process the state vector in a way that I can attribute to individual voxels rather than one big flat state vector.  Is there a way to lay out the voxel portion of the state vector into a tensor that includes both dimensions of the robot shape?  Specifically, from the paper:
"Then the state information of the robot
in our tasks is a (2N + 3)-D vector including the relative position of each voxel corner with respect to
the center of mass of the robot (2N-D), and the velocity and orientation of center of mass (3-D)"
I may be misunderstanding this, but (2N - D) + (3 - D) = (2N + 3) - 2D, rather than (2N - 3) - D as stated in the paper.  I think this actually supposed to be (2N) and (3 - D), and I found a variable of size 2N stepping through the code with a debugger.  However, it was not clear how to attribute each point to a particular voxel.  Is there a way to transform this representation to vectors of corner, x_init_voxel_position, y_init_voxel_position, x_pos, y_pos

I reverse engineered the representation with this code if anybody is interested.  It populates a grid with the indexes in the "coordinate_data" array generated by the following code:
original_state_vec = env.reset()
coordinate_data = original_state_vec[-2*num_coordinates:].reshape((2, num_coordinates))
def get_coordinates_of_corners(body):
loc_idx = 0
coordinate_idxs = []
#index in obs vector where each corner will be stored.  -1 if no value
index_by_corner = np.zeros(tuple(body.shape) + (2, 2), dtype=int) - 1
for y in range(body.shape[0]):
for x in range(body.shape[1]):
if body[y,x] != 0:
has_upper_neighbor = ((y-1) >= 0) and (body[y-1,x] != 0)
has_left_neighbor = ((x-1) >= 0) and (body[y,x-1] != 0)
            has_right_neighbor = ((x+1) < body.shape[1]) and (body[y,x+1] != 0)
            has_upper_right_neighbor = ((x+1) < body.shape[1]) and ((y-1) >= 0) and (body[y-1,x+1] != 0)

            if has_upper_neighbor:
                index_by_corner[y, x, 0, :] = index_by_corner[y - 1, x, 1, :]
            if has_left_neighbor:
                index_by_corner[y, x, :, 0] = index_by_corner[y, x - 1, :, 1]

            if not (has_upper_neighbor or has_left_neighbor):
                index_by_corner[y, x, 0, 0] = loc_idx
                loc_idx += 1
            if not has_upper_neighbor:
                if has_right_neighbor and has_upper_right_neighbor:
                    index_by_corner[y, x, 0, 1] = index_by_corner[y-1, x+1, 1, 0]
                else:
                    index_by_corner[y, x, 0, 1] = loc_idx
                    loc_idx += 1
            if not has_left_neighbor:
                index_by_corner[y, x, 1, 0] = loc_idx
                loc_idx += 1

            index_by_corner[y, x, 1, 1] = loc_idx
            loc_idx += 1

return index_by_corner, loc_idx


Error: unknown option '--exclude-scopes'

Helllo yar-deduplicate team. I am using the<EMAIL_ADDRESS>I noticed that in the Readme doc there is an option --exclude-scopes. However, when I try to use this option, I got error: unknown options '--exclude-scopes'. And this is what I got if I run --help:

It seems this option has been removed/not implemented yet.
I am wondering is that possible to add this option? It seems very useful in some cases, especially if we want to run the yarn-deduplicate every time before merging a PR.
Also thank you very much for this great project.

--exclude-scopes have been implemented in v4.0.0


Instant Claim

Your bot works perfectly but is there any way to instant claim characters? I had changed claim_delay value to 0.5 but there is someone still can claim before the bot claim. So what i need to change to claim faster than everyone but it won't get eaten by mudae when the mudae is slow sometimes.
I am very appreciate if you can help me

In regards to instant snipe there is but it's usually calculated in case of snipe protection are u in a server that doesn't have snipe protection ?
Sent from my iPhone

On Jul 13, 2021, at 6:56 AM, Seiso1 @.***> wrote:

Your bot works perfectly but is there any way to instant claim characters? I had changed claim_delay value to 0.5 but there is someone still can claim before the bot claim. So what i need to change to claim faster than everyone but it won't get eaten by mudae when the mudae is slow sometimes.
I am very appreciate if you can help me
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

yes, also this is the settings of the server

In the
Def snipe()
Function there is a small delay added that you can remove and it should just instant snipe the reason the delay is there is in cases where mudae says it’s no good and ignores the claim attempt
But from there if it still to slow then it’s comes down to internet speeds and computer processing speeds which are factors that can’t be controlled easily
Sent from my iPhone

On Jul 14, 2021, at 4:17 AM, Seiso1 @.***> wrote:

yes, also this is the settings of the server
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

so i just need replace time.sleep(.5) to time.sleep(0) ?

You could remove the entire line but yeah basically
Sent from my iPhone

On Jul 14, 2021, at 8:53 PM, Seiso1 @.***> wrote:

so i just need replace time.sleep(.5) to time.sleep(0) ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

ok thank you very much

i've optimized my setting to be as fast as possible but there's still a second delay between when the bot detects roll and claims any fix?


DSD-1137: Updating spacing between icon and text in the Notification component

Fixes JIRA ticket DSD-1137
This PR does the following:

Updates the spacing between the icon and text in the Notification component by reducing it from 16px (s) to 8px (xs).

How has this been tested?
Locally in Storybook.
Accessibility concerns or updates

N/A

Checklist:

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

Front End Review:

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

This PR will most likely go out soon whereas the dark mode update will go out later (since it'll probably be 2.0.0). So this feels like a quick design fix and the dark mode update is more stable.


Version change to 0.4.0

Change log:

Compatible with safe_app v0.4.0
New set of standalone API Examples Using Mock Routing
Automatically remove white spaces from appInfo vendor and name to create the .desktop files when registering the URI scheme

Add an option to allow registration of additional custom protocols in the system URI scheme.
Support for passing the bundle id in the appInfo object upon initialisation needed for OSX system URI registration

Upgrade system_uri to v0.2.3

Coverage remained the same at 83.577% when pulling 44b495ef757f6c837c31b623469438b7526718db on bochaco:version-change-0.4.0 into 9a9c1564765e4742fa4de0bbc4fdad8c56e47bdc on maidsafe:master.

Coverage remained the same at 83.577% when pulling 44b495ef757f6c837c31b623469438b7526718db on bochaco:version-change-0.4.0 into 9a9c1564765e4742fa4de0bbc4fdad8c56e47bdc on maidsafe:master.


Use bulk_fetch_cookbook_versions to reduce the number of SQL usage

Depends on https://github.com/chef/chef_db/pull/59


Update add-another-email-alias-for-a-user.md

Changed the date as the roadmap was pushed to July 21.reference - https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=Sending%2Cemail%2Cfrom%2Calias

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/5425


About the planes for test dataset

Thanks for your excellent work.
I have already trained the model but could you please provide the plane files for test dataset?
I wonder whether the planes influence the result a lot.

And do the APs listed in this GitHub, [91.71, 83.30, 80.44], belong to BEV detection? I found that it is different with the APs of 3D detection in your paper which is [89.71, 79.45, 78.67].

We don't have plane files for test. Planes are only useful in data augmentation. The APs provided are tested on R40 metrics. The original mAP provided in paper are evaluated on R11.


Performance Tweaks

Adds a number of performance tweaks to the loading process. This brings down the load for fishtornado on a Quest2 headset from ~30-40s to ~5-6s.

Okay, github doesn't let me reply to your comment directly, but:

Not sure. Is this change alone actually causing a notable perf increase? Why is that better?
In the first case, you have a cmp+jmp in the loop. But in the new code you have a load+call.
Because those are indirect calls, I'm guessing the compiler cannot go full-naked function, and still has to respect some calling conventions, hence may move stuff to specific registers, save the stack, etc. While the previous code didn't have any of that.

The answer is that branches are indeed slower. Admittedly most of the gains are from memory allocation, but branches require pipeline and cache flushes if mispredicted, and often pipeline stalls even if not. Static flows are almost always faster even with the additional memory access and instructions because those will end up in cache. On what was a 7s load, the branch removal was roughly a 1s gain, the memory allocs were the rest of the 6s.

The answer is that branches are indeed slower. Admittedly most of the gains are from memory allocation, but branches require pipeline flushes if mispredicted or lacking prediction, and often pipeline stalls even if not. Static flows are almost always faster even with the additional memory access and instructions because those will end up in cache. On what was a 7s load, the branch removal was roughly a 1s gain, the memory allocs were the rest of the 6s.

So you have measurements to back this? Branch prediction can indeed be wrong, so is speculative execution. (Since we are not at a ring boundary, I believe speculative execution is still authorized and unhindered by all the spectre mitigations and such).
Anyway, I'm definitely not an expert of micro-architectural details as they are way too complex nowadays.
What I did on my end was to keep all the PR changes (including the pre-allocation from "Speed up obj-based mesh loading"), added some timers and did multiple headless runs through perf  with 0 frames on 15_basic_material. What I compared was the PR as it is, and PR without the branch fix. Optimization enabled of course, as comparing without wouldn't make much sense.
It's on my workstation, so obviously some noise, so added the margins I observed.
With the branch fix:
page_faults  : average=54259         (+- 20662)
icache_miss  : average=1.2M          (+- 184K)
cache_miss   : average=199M          (+- 26M)
branch_miss  : average=65M           (+- 1M)
branch       : average=4B            (+- 1M)
instruction  : average=26B           (+- 4M)
model        : average=0.896s        (+- 0.020s)
texture      : average=2.742s        (+- 0.106s)

Without the branch fix:
page_faults  : average=55768         (+- 10337)
icache_miss  : average=636K          (+- 22K)
cache_miss   : average=16M           (+- 3M)
branch_miss  : average=65M           (+- 815K)
branch       : average=4B            (+- 527K)
instruction  : average=22B           (+- 3M)
model        : average=0.102         (+- 0.007s)
texture      : average=2.739         (+- 0.070s)

(Raw results in case you want to have more precision)
With branch fix (pr as is):
page_faults  : average=54259.083	(margin= 20662.000)
icache_miss  : average=1180922.500	(margin=184062.000)
cache_miss   : average=199257846.667	(margin=26665308.000)
branch_miss  : average=65546041.750	(margin=976332.000)
branch       : average=4596896371.667	(margin=907387.000)
instruction  : average=26363841984.500	(margin=4253171.000)
model        : average=0.896	(margin=     0.020)
texture      : average=2.742	(margin=     0.106)

Without branch fix (only smarter allocations):
page_faults  : average=55768.833	(margin= 10337.000)
icache_miss  : average=636745.833	(margin= 22821.000)
cache_miss   : average=16867040.500	(margin=3138835.000)
branch_miss  : average=65119469.583	(margin=815188.000)
branch       : average=4234112410.167	(margin=527591.000)
instruction  : average=22350433883.250	(margin=3907268.000)
model        : average=0.102	(margin=     0.007)
texture      : average=2.739	(margin=     0.070)

If there is a noticable performance improvement for Android, I'd like to get some of these changes in soon and worry about the specifics of the benchmarking later (assuming they're not egregious). vk_15_basic_materials takes minutes to load currently on Android and I'd like for the Android fixes to not conflict with this PR.

Yep, okay, I agree, it's not the branching. I only saw the difference in one run before, and it could've been inconsistent alloc behavior. Trying it now isolating the branching vs. functional variants, there's no meaningful net impact (seeing ~0.048-0.049 seconds for loading the shark each time regardless of approach). I think maybe losing the branches is faster on average by about ~0.001s, but it's likely not worth the code churn so I'll revert it.


cause hight cpu usage to  100%, when swipe back with gesture

when AView.sheet(BView)  with navigation。
B view is a list, with codes：
...
.onAppear {
            store.dispatch(action: TasksActions.FetchMine())
 }
...

1， touch BView's list item , navigation into  CView (just a detail view)
2， now, swipe back a little with gesture(C->B), and then cancel swipe，will  recreate this issues
when comment store.dispatch... ，it work well

I'm seeing some low frames when navigation and store.dispatch happen at the same time too. Did you fix this?

Have you guys tried the following:
.onAppear {
  DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
    store.dispatch(action: TasksActions.FetchMine())
  }
}


random choice in dataloader.get_next_batch()

hello, why random choice according to sat instead of directly choice from panorama list? are there any special rules here?

and why only feed the first satellite(aerial) image of each panorama(ground) instead of all of them? (self.train_label[img_idx][0])

Thank you for your interest. 1) There is no special rule and you can use random selection from both panorama list or satellite. I used satellite because it has a balanced GPS distribution. Each satellite image may has 0-2 positive panorama images, so the GPS distribution of  panorama may not be perfectly balanced. But this would not have much effect, you can use it if you want.
2) The first satellite is the positive (ground-truth) image for the query, the others are semi-positive images with smaller similarity. You might check this part in the paper.

I'll close the issue if there is no further question.


Fix bug preventing shoot deletion when never reconciled at least once

How to categorize this PR?

/area usability
/kind bug
What this PR does / why we need it:
Deleting a Shoot that was never reconciled at least once with gardenlet (because it was down, for example) fails because the .status.technicalID is empty:
{"log":{"controller":"shoot","error":"Could not delete Cluster resource in seed: resource name may not be empty","level":"error","msg":"Reconciler error","name":"foo","namespace":"garden-bar","object":{"name":"foo","namespace":"garden-bar"},"reconcileID":"98bbe683-487a-41c7-bfd1-75414f5d511f","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/src/github.com/gardener/gardener/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:326\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/src/github.com/gardener/gardener/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:273\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/src/github.com/gardener/gardener/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:234","ts":"2023-01-13T21:06:26.702Z"}}
{"log":{"controller":"shoot","level":"info","msg":"The `.status.uid` is empty, assuming Shoot cluster did never exist, deletion accepted","name":"foo","namespace":"garden-bar","object":{"name":"foo","namespace":"garden-bar"},"operation":"delete","reconcileID":"98bbe683-487a-41c7-bfd1-75414f5d511f","ts":"2023-01-13T21:06:24.908Z"}}

Which issue(s) this PR fixes:
Introduced with https://github.com/gardener/gardener/pull/7082 or https://github.com/gardener/gardener/pull/7189 when refactoring the shoot controller to a native controller-runtime controller.
Special notes for your reviewer:
/cc @timebertt
Release note:

A bug has been fixed which prevented `Shoot`s from being deleted if they have never been reconciled at least once.

/cherrypick release-v1.63

/cherry-pick release-v1.62


Should NVTX.jl always be active?

With CUDA.jl integrated profiler, the NVTX.jl-based detection of nsys won't work anymore. I wonder if NVTX shouldn't just be active all the time. Is 20ns that unacceptable of an overhead?
julia> using BenchmarkTools

julia> @benchmark NVTX.@mark "test"
BenchmarkTools.Trial: 10000 samples with 1000 evaluations.
 Range (min … max):  2.199 ns … 7.570 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     2.260 ns             ┊ GC (median):    0.00%
 Time  (mean ± σ):   2.258 ns ± 0.094 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

                            ▄    █    ▁
  ▃▁▁▁▁▅▁▁▁▁▃▁▁▁▁▄▁▁▁▁▂▆▁▁▁▂█▁▁▁▃█▁▁▁▂█▁▁▁▁▃▁▁▁▁▅▁▁▁▁▃▁▁▁▁▃ ▃
  2.2 ns         Histogram: frequency by time       2.31 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

julia> NVTX.NSYS_ACTIVE[] = true
true

julia> NVTX.initialize()

julia> @benchmark NVTX.@mark "test"
BenchmarkTools.Trial: 10000 samples with 995 evaluations.
 Range (min … max):  26.692 ns …  1.234 μs  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     27.949 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   30.438 ns ± 21.653 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

  █▁  ▂                                                       ▁
  ██▆▇█▇▇▆▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▄▄▄▄▅▇ █
  26.7 ns      Histogram: log(frequency) by time       166 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

Even though we could hack CUDA.jl's @profile to activate NVTX.jl, if present, that wouldn't cover the case where you attach nsys after having launched Julia.

Yes, that would seem reasonable. We could make all the functions a no-op NVTX_jll.is_available() == false


Mechanize::ResponseCodeError: 999 =>  for  -- https://www.linkedin.com/in/jeffweiner08

linkedin-scraper (2.1.1)
irb(main):001:0> require 'linkedin-scraper'
=> true
irb(main):002:0> profile = Linkedin::Profile.new("http://www.linkedin.com/in/jeffweiner08")
Mechanize::ResponseCodeError: 999 =>  for  -- https://www.linkedin.com/in/jeffweiner08

Same from me. Works well on local machine, but doesn't work on Heroku or AWS. Is anyway to use proxy or somehow fix this problem?

Same here. Looks like we need to set the user agent for mechanize.
https://github.com/sparklemotion/mechanize/issues/336

@natemcguire
"The latest version uses randomuser agent"
So I guess, it wouldn't ihelp

Need to put a proxy service like storm proxies into this so the IP resolution doesn't come back

@CodeCompiler Any suggestion PRs

@CodeCompiler, does the storm proxies work for you? I used myprivateproxy, but it doesn't work at all.

I just bought 10 proxies from instantproxies and I can't get a single valid response, whereas I can get a few responses per day without using a proxy. I'm only passing proxy_ip and proxy_port, not username and password.

I also bought a few IPs from StormProxies and I am having the same issues. I'm now using username and password on localhost - same result, 999 Mechanize error.

I created a PR, but it didn't fix my issue. If anyone has any insight into why this is occurring for me and can point me in the right direction on how to fix it, I'd really appreciate it. I can't tell if this is happening for everyone, or a small subset of people (based on the previous comments).

I have not been able to get over this issue. I'm going to attempt to use the mechanize gem without linkedin-scraper in hopes that I will be able to get it to work correctly. If I find a solution, I will come back and apply the fix to this repo.

Same error here /home/youpi/.rvm/gems/ruby-2.2.0/gems/mechanize-2.7.5/lib/mechanize/http/agent.rb:949:in `response_read': 999 Kindly help me, thanks

Hey, any updates on this ?

@iliasnaamane @rcavezza @chamnap @yatish27 @CodeCompiler @pinymax @natemcguire @washingon Has anybody been able to resolve this issue?  @Startouf and I work together and haven't found a single solution yet :/  Thanks in advance for any help you could provide!

Hi Guys,
I'm just trying to use the gem locally and after having succeeded twice, I end up with the same message: Mechanize::ResponseCodeError: 999 =>  for  -- http://www.linkedin.com/in/jeffweiner08
I thought it was a problem with my IP address so I used a VPN (betternet) to trick LinkedIn, but i still have the same error coming. Do you have any clue for me ?
Thanks a lot

Hey @borenstejn
I actually got a mail from a Proxy company that explained to me it was very hard nowadays to get a hold of proxys that work with Linkedin since they've become very aggressive.
FYI I have already tried

InstantProxies.com
stormproxies
limeProxies
shader (who reported to me what I wrote just above)

I'd be glad to have your feedback in case you find something that works, thank you very much.

Did anyone ever figure this out?  I'm getting the 999 error, it hasn't worked even once yet.  I'm running this locally.

Any update on this?

Has somebody figured this out?

This error happens to me locally with no proxy. Any idea of how to solve it?


ens-normalize installation fails with npx

I have a CLI that has ethers as a dependency which has this ens-normalize as a sub-dependency. Running the cli with npx results in the following error
npx <cli tool>

npm verb exit 1
npm verb unfinished npm timer reify<PHONE_NUMBER>473
npm verb unfinished npm timer reify:unpack<PHONE_NUMBER>873
npm verb unfinished npm timer reifyNode:node_modules/@adraffy/ens-normalize<PHONE_NUMBER>880
npm verb code 1

Using it with npm i -g works without issues

I have issue after remove node modules and reinstall
./node_modules/ethers/lib.esm/hash/namehash.js
Module not found: Can't resolve '@adraffy/ens-normalize'
https://nextjs.org/docs/messages/module-not-found
Import trace for requested module:
./node_modules/ethers/lib.esm/hash/index.js
./node_modules/ethers/lib.esm/ethers.js
./node_modules/ethers/lib.esm/index.js

Can you give me steps to reproduce this?

Can you give me steps to reproduce this?
ethers v 6.3.0 and next js 13

delete node modules and package-json.lock
run [npm i] again
run [npm run build]
=> display error

Can you give me steps to reproduce this?

I’m working on migrating to the new version, which should fix a lot of little issues that cropped up. I still have some testing to do though.

https://github.com/kirbyfly/ethers.js/blob/main/package.json, seems to be working with your latest version. Tried it myself @ricmoo

Thanks! I will update the package.json and make sure all the CI for the various environments pass. @kirbyfly were you able to verify the env tests? As long as those pass, I’ll push it out once I’ve tested. :)

Bumping this. I would also like input regarding if the latest changes fixed this issue.

It didn't pass the test on my repo, but not sure if that is related to the new package. It wasn't passing on the main repo either

Oh sorry, I forgot to get back in this issue. That latest version worked for me perfectly! Thanks for your quick turn around time. :)


Add disable-boot-entry flag to reset-command

Read the disable-boot-entry flag from ELEMENTAL_RESET_DISABLE_BOOT_ENTRY environment variable

LGTM
Out of curiosity, in which context you needed that? Or you just saw it was missing on the list?

I found this when trying to build an rpi image in the SeedImage where the elemental-register command passes flags using environment variables 👍

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (6f259ee) 73.60% compared to head (a15d4ac) 73.61%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1888   +/-   ##
=======================================
  Coverage   73.60%   73.61%
=======================================
  Files          69       69
  Lines        7332     7333    +1
=======================================
+ Hits         5397     5398    +1
  Misses       1544     1544
  Partials      391      391

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.