Docker Client Requires Elevated Privileges

Describe the bug
When running any Docker commands, we get a "system cannot find file" error:
error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version": open //./pipe/docker_engine: The system cannot find the file specified.

To Reproduce

Start up Docker Desktop. If you don't have it installed, download it here.
In a PowerShell window, run any of the following commands:

$> docker version
$> docker images
$> docker pull mcr.microsoft.com/windows/servercore:ltsc2019

You should see the error message after running the command.

Expected behavior
We would expect the pull to be successful and to start seeing Docker download the image. There should be no error message.
Configuration:

Edition: Windows Server 2019
Base Image: Windows Server Core LTSC 2019
Container Engine: Docker
Container Engine Version: 24.0.2 (cb74dfc)

Background:
This error occurs when there is a mismatch between the Container Image OS and the platform OS/image OS. We most commonly see the error of "docker client must be run with elevated privileges to connect" when the Docker platform is set to Linux containers while the host is a Windows machine. By default, Docker Desktop is set to use Linux containers so you may not realize that the platform isn't compatible with your host. However, if you also change the platform to Linux containers, you won't get any error message, but will then see the error I've listed above anytime you use a docker command.
Solution:
The platform and host OS' need to be the same. If you're on a Windows host, you need to change the Docker platform to use Windows containers. Switch the platform by right-clicking the little docker icon (black whale) in the system tray. Click "Switch to Windows containers". To confirm that you have switched (there can be a 30s delay), right-click again on the icon and if you see the option "Switch to Linux containers" you know that it's now using Windows containers.


Brutally try to  kill all clustering containers after every surefire …

Lets be brutal.

Linux with security manager Build 3281 outcome was FAILURE using a merge of dcce5cfe09dcfd865fff7f6e72c132072dc28d22
Summary: Tests failed: 1, passed: 951, ignored: 292 Build time: 00:07:32
Failed tests
org.jboss.as.test.smoke.deployment.rar.tests.earmultirar.EarPackagedMultiRarDeploymentTestCase: 	at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:83)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:64)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deploy(ArchiveDeployer.java:46)
	at org.jboss.as.arquillian.container.CommonDeployableContainer.deploy(CommonDeployableContainer.java:144)
Caused by: java.lang.Exception: {"WFLYCTL0080: Failed services" => {"jboss.ra.deployer.\"ear_packaged.ear#ear_packaged2.rar\".jboss.ironjacamar.resource" => "org.jboss.msc.service.StartException in service jboss.ra.deployer.\"ear_packaged.ear#ear_packaged2.rar\".jboss.ironjacamar.resource: Failed to start service
    Caused by: java.lang.NullPointerException"}}
	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.getActionResult(ServerDeploymentPlanResultFuture.java:134)
	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.getResultFromNode(ServerDeploymentPlanResultFuture.java:123)
	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:85)
	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:42)
	at org.jboss.as.controller.client.helpers.standalone.ServerDeploymentHelper.deploy(ServerDeploymentHelper.java:55)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:77)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:64)
	at org.jboss.as.arquillian.container.ArchiveDeployer.deploy(ArchiveDeployer.java:46)
	at org.jboss.as.arquillian.container.CommonDeployableContainer.deploy(CommonDeployableContainer.java:144)
------- Stdout: -------
 [0m13:57:10,726 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 31) WFLYUT0022: Unregistered web context: /servlet
 [0m [0m13:57:10,733 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-4) WFLYJCA0011: Unbound JCA ConnectionFactory [java:jboss/name1]
 [0m [0m13:57:10,733 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-4) WFLYJCA0011: Unbound JCA AdminObject [java:jboss/Name3]
 [0m [0m13:57:10,759 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0208: Stopped subdeployment (runtime-name: complex_ij.rar) in 52ms
 [0m [0m13:57:10,759 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0208: Stopped subdeployment (runtime-name: servlet.war) in 52ms
 [0m [0m13:57:10,760 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0028: Stopped deployment new.ear (runtime-name: new.ear) in 54ms
 [0m [0m13:57:10,767 INFO  [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0002: Content removed from location /opt/buildAgent/work/a31d203e70e89f90/testsuite/integration/smoke/target/jbossas/standalone/data/content/1b/0e998d3989b3ce0e8dc65b8ed9a71118e898f0/content
 [0m [0m13:57:10,768 INFO  [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0009: Undeployed "new.ear" (runtime-name: "new.ear")
 [0m [0m13:57:10,858 INFO  [org.jboss.as.repository] (management-handler-thread - 4) WFLYDR0001: Content added at location /opt/buildAgent/work/a31d203e70e89f90/testsuite/integration/smoke/target/jbossas/standalone/data/content/78/476cd54f315b0319a91b00762a64cf7e918688/content
 [0m [0m13:57:10,862 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0027: Starting deployment of "ear_packaged.ear" (runtime-name: "ear_packaged.ear")
 [0m [0m13:57:10,881 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0207: Starting subdeployment (runtime-name: "ear_packaged.rar")
 [0m [0m13:57:10,881 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0207: Starting subdeployment (runtime-name: "ear_packaged2.rar")
 [0m [33m13:57:10,901 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-1) WFLYSRV0018: Deployment "deployment.ear_packaged.ear.ear_packaged.rar" is using a private module ("org.jboss.as.cli:main") which may be changed or removed in future versions without notice.
 [0m [33m13:57:10,901 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-1) WFLYSRV0018: Deployment "deployment.ear_packaged.ear.ear_packaged.rar" is using a private module ("org.wildfly.security.manager:main") which may be changed or removed in future versions without notice.
 [0m [33m13:57:10,911 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) WFLYSRV0018: Deployment "deployment.ear_packaged.ear.ear_packaged2.rar" is using a private module ("org.jboss.as.cli:main") which may be changed or removed in future versions without notice.
 [0m [33m13:57:10,911 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) WFLYSRV0018: Deployment "deployment.ear_packaged.ear.ear_packaged2.rar" is using a private module ("org.wildfly.security.manager:main") which may be changed or removed in future versions without notice.
 [0m [33m13:57:10,914 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-1) WFLYSRV0018: Deployment "deployment.ear_packaged.ear" is using a private module ("org.jboss.as.cli:main") which may be changed or removed in future versions without notice.
 [0m [33m13:57:10,914 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-1) WFLYSRV0018: Deployment "deployment.ear_packaged.ear" is using a private module ("org.wildfly.security.manager:main") which may be changed or removed in future versions without notice.
 [0m [0m13:57:10,921 INFO  [org.jboss.as.arquillian] (MSC service thread 1-1) Arquillian deployment detected: ArquillianConfig[service=jboss.arquillian.config."ear_packaged.ear",unit=ear_packaged.ear,tests=[org.jboss.as.test.smoke.deployment.rar.tests.earmultirar.EarPackagedMultiRarDeploymentTestCase]]
 [0m [0m13:57:10,929 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-1) WFLYJCA0007: Registered connection factory java:jboss/name3
 [0m [0m13:57:10,930 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-1) WFLYJCA0006: Registered admin object at java:jboss/Name5
 [0m [0m13:57:10,930 INFO  [org.jboss.as.connector.deployers.RADeployer] (MSC service thread 1-1) IJ020002: Deployed: file:/opt/buildAgent/work/a31d203e70e89f90/testsuite/integration/smoke/target/jbossas/standalone/tmp/vfs/deployment/deploymentb3b811c3815a198a/ear_packaged.rar-298210a2992adb80/contents/
 [0m [0m13:57:10,942 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-2) WFLYJCA0002: Bound JCA AdminObject [java:jboss/Name5]
 [0m [0m13:57:10,942 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-2) WFLYJCA0002: Bound JCA ConnectionFactory [java:jboss/name3]
 [0m [0m13:57:10,945 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-3) WFLYJCA0007: Registered connection factory java:jboss/name2
 [0m [0m13:57:10,946 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-3) WFLYJCA0006: Registered admin object at java:jboss/Name4
 [0m [0m13:57:10,947 INFO  [org.jboss.as.connector.deployers.RADeployer] (MSC service thread 1-3) IJ020002: Deployed: file:/opt/buildAgent/work/a31d203e70e89f90/testsuite/integration/smoke/target/jbossas/standalone/tmp/vfs/deployment/deploymentb3b811c3815a198a/ear_packaged2.rar-655b2ced0d540bc6/contents/
 [0m [31m13:57:10,950 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC000001: Failed to start service jboss.ra.deployer."ear_packaged.ear#ear_packaged2.rar".jboss.ironjacamar.resource: org.jboss.msc.service.StartException in service jboss.ra.deployer."ear_packaged.ear#ear_packaged2.rar".jboss.ironjacamar.resource: Failed to start service
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
	at org.jboss.as.connector.services.resourceadapters.IronJacamarActivationResourceService.start(IronJacamarActivationResourceService.java:123)
	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)

Needs more though and code.


Demo does not load in EDGE at all

Hi,
Great plugin.
EDGE does not support Spread operator for object literals. Line 105 which is:
        allChangeMapParameters = {...mapParams, ...that.options.extraChangeMapParams};

Thanks,
Venkat

Changing the above line with below at least loaded the map and slider but slider css needs fixing I guess for EDGE. It is not displaying the slider bar to begin with and will only display as you start clicking on the intervals.
allChangeMapParameters = Object.assign({}, mapParams, that.options.extraChangeMapParams);

Thanks for pointing this out. I will take a look as soon as I can and try to adapt the styles for edge as well.

@svitkin Thank you for your quick response. I want to use your plugin on my leaflet map and hoping the styles would be fixed soon. Here is link to cssportal that has good styles for input range that works on all browsers including edge. I have actually loaded that website in EDGE and see them working and thought you may be interested in it.
https://www.cssportal.com/style-input-range/
Also a JSFiddle by some one who did fix the styles for EDGE:
http://jsfiddle.net/brenna/f4uq9edL/?utm_source=website&utm_medium=embed&utm_campaign=f4uq9edL

Hey @venkatpolisetti sorry it has taken me a while to get back to this. Currently developing on a mac os, and the only version of Edge I could find for a mac os is the chromium based one Microsoft currently has in beta, which of course won't reproduce the issue. I'm going to try to find my way to a windows machine soon to reproduce the issue and try to get a fix in. In the meantime, feel free to put in a pull request if you have a fix.

Closing this for now because the plugin works with new Edge Chromium.


Add SHA-1 message digest

SHA-1 is an important message digest. E.g. it is used by git. This implementation features:

optimized standard implementation, based on a verbatim copy of std/md5.d
E.g. if compiled with -O -inline -release then there is not single function call or loop inside function transform.
if SSSE3 support is detected then a special assembler function is used. This gives a speedup of 1.4 on 32 bit and about 1.8 on 64 bit

The 64 bit implementation is a bit clumsy because of some issues with the dmd compiler (issues 6459 and 5355). Supports 32 bit Windows and 32 bit and 64 Linux. MacOS X, FreeBSD are untested, but should also work.

Ping?  Are we still waiting on anything?

Could you please rebase so we can merge this? Thanks!

Do we really want comprehensive std.crypto or just few hashes? I like this SHA1 implementation because of SSSE3 but SHA1 is old and is not recommended for current cryptography, just for backward compatibility. What about SHA 224, 256, 384 or 512?
What about polymorphism - Imagine using HMAC with a hash which is known only at run time. Static ifs are not suitable because some hashes take parameters of great aplitude.

As discussed in the newsgroups a while ago, I'm against having either of these in phobos (I know that md5 has been there essentially forever).  There is a set of import files for openssh in deimos which is a far better path, imho.  Re-invention and dealing with all the touchy security implications of having our own implementation of this sort of code is a bad idea.

This is not re-invention, just implementation of well known algorithms in D. You are probably thinking about some side-channel attacks, which are practically impossible to overcome, even in OpenSS[H|L]. D makes writing correct and safe code easy. Why not make use of that in crypto code?
Btw. I begun working on this some time ago: http://prowiki.org/wiki4d/wiki.cgi?CryptoDevel.

I'm purposely not talking about specific failure modes since there are many.  The entire category is very very hard to get right and the cost of failure is high.  There's no way our implementation of any of this category of code will receive the same scrutiny and attention as openssl will get.
For those that want to help improve things in that space, please contribute directly to openssl.  You'll get a lot more help with proving them safe and correct and more people will benefit.
Should there be a higher level, more D-like, layer on top of openssl?  Absolutely, please.  There's just about nothing friendly about openssl's api.

What about code that doesn't need to be secure?  If I'm computing the hash of a file for verification, do I care as long as the algorithm works?  Do we really want a dependency on openssl for tasks this simple?    At a quick look Java and Python seem to have these available, although they could be using openssl internally for all I know.


Added link

Added link to "SQL Server Change Stream sample using Debezium

Nice idea to link some repos, too. Merging. Thanks, @yorek!


FIX : Upgrade Version and Security Review Apply

@n4l5u0r @GuilaneDen can you please bump the version? ty ty


[NNBD] Differences in weak mode on CFE and dart2js, dartk, dartdevk and dartkp for function types

The following tests work on CFE (both weak and strong modes) but fail on dart2js, dartk, dartdevk and dartkp in a weak mode (work in a strong mode)
typedef t4(var v);

f34(Object a) {}

main() {
  Expect.isFalse(f34 is t4);
}

typedef int t3();

main() {
  Expect.isFalse(() {} is t3);
}

typedef Object returnsObject();

Map<int, List<List<List>>>? f16() {}

main() {
  Expect.isFalse(f16 is returnsObject);
}

class A {}
class A1 {}
class A2 {}
class B implements A, A1, A2 {}
class C implements B {}
class D implements C {}

typedef B t1(int i, B b, Map<int, num> m, var x, {
  required var ox, required B ob, required List<num> ol, required bool obool});

C f3(num i, A b, Map<Object, Object> m, var x, {
  required var ox, required extraParam, required A2 ob, required List ol, required Object obool}) => new C();

main() {
  Expect.isFalse(f3 is t1);
}

This is a bit confusing. f34 is t4 is true in weak mode (because dynamic* <: Object*), () {} is t3 is true in week mode (because the inferred return type of the function literal is Null), f16 is returnsObject is true in weak mode (because Map<...>* <: Object*), and f3 is t1 is true in weak mode (because of a bunch of subtype relationship holds, and required is ignored when checking subtype relationships in weak mode).
So it looks like dart2js and the other tools behave correctly, but "CFE" fails to report the errors in weak mode. So what does CFE mean in this context? Maybe the errors fail to arise simply because the CFE test is a compilation without execution?

@eernstg thank you for clarification. It seems that you are right. I'll add //Requirements=nnbd-strong to these tests. As for CFE and weak mode I don't know if tryjobs run the tests in a weak mode or simply compiles. I just see that there are no failures in CFE weak mode and output contains the following (this is the test containig the first example)
{"name":"co19/Language/Types/Function_Types/subtype_required_args_t01","configuration":"analyzer-asserts-weak-linux","suite":"co19","test_name":"Language/Types/Function_Types/subtype_required_args_t01","time_ms":74,"result":"Pass","expected":"Pass","matches":true,"bot_name":"luci-dart-try-xenial-51-tbju","commit_hash":"refs/changes/153760/1","commit_time":1594258913,"build_number":"1843","builder_name":"analyzer-nnbd-linux-release-try","flaky":false,"previous_flaky":false,"previous_commit_hash":"e3a682480aad59de0de678856a2c968d8d6665d5","previous_commit_time":1594258913,"previous_build_number":"3674","changed":true}

Is there a way to run the tests locally in a weak mode?

I think it should work to simply say it like Expect.equals(isWeakMode, f34 is t4); (where isWeakMode and isStrongMode are declared in expect.dart, so you may need to copy those declarations into Utils/expect_common.dart).
About execution: The configurations cfe-strong-linux and cfe-weak-linux do not run programs, they just compile them (cf. the --verbose output from a local tools/test.py -n cfe-strong-linux ...). So we have the explanation if that's what the trybot is running.

Thank you. Closing this issue


Can the --allowed-messages in this feegrant be set to the specified contract address?

Can the --allowed-messages in this feegrant be set to the specified contract address?
I want dapp user to be able to use money from my account for gas fee when they can use my contract.
https://github.com/CosmWasm/cosmwasm/issues/1738

This feature request makes sense. Let's follow up in  https://github.com/CosmWasm/wasmd/issues/1571. I will close this as duplicate


THRIFT-5233: Handle I/O timeouts in go library

Client: go
As discussed in the JIRA ticket, this commit changes how we handle I/O
timeouts in the go library.
This is a breaking change that adds context to all Read*, Write*, and
Skip functions to TProtocol, along with the compiler change to support
that, and also adds context to TStandardClient.Recv, TDeserializer,
TStruct, and a few others.
Along with the function signature changes, this commit also implements
context cancellation check in the following TProtocol's ReadMessageBegin
implementations:

TBinaryProtocol
TCompactProtocol
THeaderProtocol

In those ReadMessageBegin implementations, if the passed in context
object has a deadline attached, it will keep retrying the I/O timeout
errors, until the deadline on the context object passed. They won't
retry I/O timeout errors if the passed in context does not have a
deadline attached (still return on the first error).

[x] Did you create an Apache Jira ticket?  (not required for trivial changes)
[x] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
[x] Did you squash your changes to a single commit?  (not required, but preferred)
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[ ] If your change does not involve any code, include [skip ci] anywhere in the commit message to free up build resources.

@dcelasun OK the CI is "passing" now so it's ready for review. I marked the actual logical changes above, everything else are basically just for propagating context.

I think you missed the client side :)
# servicestest/container_test-remote
gopath/src/servicestest/container_test-remote/container_test-remote.go:164:42: not enough arguments in call to containerStruct0.ReadField1
	have (thrift.TProtocol)
	want (context.Context, thrift.TProtocol)
gopath/src/servicestest/container_test-remote/container_test-remote.go:190:42: not enough arguments in call to containerStruct0.ReadField1
	have (thrift.TProtocol)
	want (context.Context, thrift.TProtocol)

I think you missed the client side :)
# servicestest/container_test-remote
gopath/src/servicestest/container_test-remote/container_test-remote.go:164:42: not enough arguments in call to containerStruct0.ReadField1
	have (thrift.TProtocol)
	want (context.Context, thrift.TProtocol)
gopath/src/servicestest/container_test-remote/container_test-remote.go:190:42: not enough arguments in call to containerStruct0.ReadField1
	have (thrift.TProtocol)
	want (context.Context, thrift.TProtocol)

Fixed. Sorry I missed that one. We totally ignored those -remote directories in our build system as we don't use them.

Just realized that I also need to fix lib/go/test/tests/ 🤦 . On it.

Just realized that I also need to fix lib/go/test/tests/ 🤦 . On it.

Fixed. I think that fixed all the issues, but please do let me know if I missed anything else.

In my POV, this context argument should not be added, at least not the way it currently is.

It's a breaking change

the context argument is not really being used in the current implementation, the golang io interface does not use context neither (https://github.com/golang/go/issues/20280)

The context here in the Process method represents only the context of current processing which should be canceled right away after processing before continue (which is not)

The abortion of the connection should be treated correctly by the transport internally

Imagine that your server has a global context (which exists in the current implementation, however not really being used) which represents the lifecycle of the server, and when it's shut down, the IO operations should be finished gracefully instead of being interrupted instantly. The only thing which should affect the IO operations should be the IO timeout which should be configured inside the server or transport

@zerosnake0 I replied some of your points below. I would also suggest you to read the associated JIRA ticket, which provides slightly more background about what problem this change solves.

It's a breaking change

Unlike Go1, there's no backward compatibility guarantee in thrift library. If you take a look at https://github.com/apache/thrift/blob/master/CHANGES.md, breaking changes are added in every release.

the context argument is not really being used in the current implementation, the golang io interface does not use context neither (golang/go#20280)

It's used here, here. and here.

@zerosnake0 I replied some of your points below. I would also suggest you to read the associated JIRA ticket, which provides slightly more background about what problem this change solves.

It's a breaking change

Unlike Go1, there's no backward compatibility guarantee in thrift library. If you take a look at https://github.com/apache/thrift/blob/master/CHANGES.md, breaking changes are added in every release.

the context argument is not really being used in the current implementation, the golang io interface does not use context neither (golang/go#20280)

It's used here, here. and here.

do breaking change is only when necessary

I've already checked all usage of the context before I posted this, that's why i said "really". Furthermore, for the later two usage you wrote, i do not think that this kind of loop handling should be processed inside the protocol implementation

Resolving a real issue sounds like a fitting case of "necessary", won't you think?
In the JIRA ticket me and Can discussed how to implement it, including the alternative of doing it on transport level (TTransport). Doing it on transport level would also be a breaking change, and we made a choice to do a breaking change on TProtocol over TTransport.
On hindsight yes the loop retry fits more naturally in TTransport, but some problems of that are:

As Can described in the JIRA ticket discussion, TProtocol implementations in the wild are much rarer than TTranposrt implementations.
Adding context into TTransport.Read will make it no longer an implementation of io.Reader, which breaks a lot of other things.
In the vast majority of cases this is really only needed for the first read (vs. every read).

Resolving a real issue sounds like a fitting case of "necessary", won't you think?
In the JIRA ticket me and Can discussed how to implement it, including the alternative of doing it on transport level (TTransport). Doing it on transport level would also be a breaking change, and we made a choice to do a breaking change on TProtocol over TTransport.
On hindsight yes the loop retry fits more naturally in TTransport, but some problems of that are:

As Can described in the JIRA ticket discussion, TProtocol implementations in the wild are much rarer than TTranposrt implementations.
Adding context into TTransport.Read will make it no longer an implementation of io.Reader, which breaks a lot of other things.
In the vast majority of cases this is really only needed for the first read (vs. every read).

When i say put timeout in transport, i do not mean to put context to it.

I suggest you take a look at the golang official net/http implementation before any furthur discussion

I suggest you take a look at the golang official net/http implementation before any furthur discussion

If I may, "go read net/http" is not a productive attitude. You are arguing against a change that was already discussed, agreed to and merged. That's fine, it's even welcome. But the onus is on you to convince us there is a better way and that we should revert this. You didn't even address @fishy's first and second point.

I suggest you take a look at the golang official net/http implementation before any furthur discussion

If I may, "go read net/http" is not a productive attitude. You are arguing against a change that was already discussed, agreed to and merged. That's fine, it's even welcome. But the onus is on you to convince us there is a better way and that we should revert this. You didn't even address @fishy's first and second point.

I surely read the first point and I agree with the rarer implementation so I said nothing. Same for the 3rd point.
And why i mentioned net/http because there is something similar for this kind of issue and I'm not sure if you know it. You quote my phrase in just three word "go read net/http" when I typed such a long phrase. I apologize if there is any word misusage.

@zerosnake0 so my guess is by "net/http" you mean client.go and transport.go. Yes there are things we can learn from there, but there are also a lot of key differences between thrift's transport and http transport:

In http a transport is a connection pool. It's not only a connection pool to a single server, it's a connection pool to all servers. It's safe for concurrent uses, and is multiplexed so that they can use a lot of channel selections to handle timeout. In thrift a TSocket is a single connection. It's not safe for concurrent use, and every I/O operation is blocking. You can't just create a new goroutine for every blocking I/O operation so that you can throw it away when timeout happens, without a centralized pool management (like in http) that will cause a lot of goroutine leaks if the socket timeout is configured too high (or even not configured at all).

In thrift a TTransport is an abstract layer. It could be a remote I/O (TSocket), It could be some additional feature wrapping a remote I/O (TFramedTransport + TSocket). It could also be something completely in memory (TMemoryBuffer). TProtocol implementations, in general (with certain exceptions), don't make any assumption on the underlying TTransport and works with all situations. The actual client/server code also almost never interact with TTransport directly, and they only call the TProtocol code. To do something similar to http library does, TProtocol needs to pass an additional deadline/timeout into every call to the TTransport. This can be done by either:
a. Add ctx to every TTransport read/write functions
b. Have an additional function to set the deadline/timeout before every TTransport read/write function call.

Both options are breaking changes to TTransport, both options were already discussed in the JIRA ticket, and the reason we picked the current implemented option over them can be found there as well.
If we completely rewrite the whole thrift go library now, we probably will choose an implementation similar to how http library does over something we have right now. But we are not doing that complete rewrite and the current implementation is the least breaking one, as far as we could tell.
If you have a better approach, I would love to see something more concrete from it (e.g. code/PR, or some more detailed design on how to do it).
The connectivity check change happened before this change, and is not depending on this change, btw.

@zerosnake0 so my guess is by "net/http" you mean client.go and transport.go. Yes there are things we can learn from there, but there are also a lot of key differences between thrift's transport and http transport:

In http a transport is a connection pool. It's not only a connection pool to a single server, it's a connection pool to all servers. It's safe for concurrent uses, and is multiplexed so that they can use a lot of channel selections to handle timeout. In thrift a TSocket is a single connection. It's not safe for concurrent use, and every I/O operation is blocking. You can't just create a new goroutine for every blocking I/O operation so that you can throw it away when timeout happens, without a centralized pool management (like in http) that will cause a lot of goroutine leaks if the socket timeout is configured too high (or even not configured at all).
In thrift a TTransport is an abstract layer. It could be a remote I/O (TSocket), It could be some additional feature wrapping a remote I/O (TFramedTransport + TSocket). It could also be something completely in memory (TMemoryBuffer). TProtocol implementations, in general (with certain exceptions), don't make any assumption on the underlying TTransport and works with all situations. The actual client/server code also almost never interact with TTransport directly, and they only call the TProtocol code. To do something similar to http library does, TProtocol needs to pass an additional deadline/timeout into every call to the TTransport. This can be done by either:
a. Add ctx to every TTransport read/write functions
b. Have an additional function to set the deadline/timeout before every TTransport read/write function call.

Both options are breaking changes to TTransport, both options were already discussed in the JIRA ticket, and the reason we picked the current implemented option over them can be found there as well.
If we completely rewrite the whole thrift go library now, we probably will choose an implementation similar to how http library does over something we have right now. But we are not doing that complete rewrite and the current implementation is the least breaking one, as far as we could tell.
If you have a better approach, I would love to see something more concrete from it (e.g. code/PR, or some more detailed design on how to do it).
The connectivity check change happened before this change, and is not depending on this change, btw.

Sorry I didn't specify which file to look yesterday, I mean more to server.go, in the readRequest method the approch is more like the 2.b that you pointed. Personally I think 2.b will be more reasonable because we need to push deadline every time the IO reads/writes something.
Another reason is that currently the only reason cancels the context is the disconnection, which will surely affect all your IO operations after.
I will try to work something out and let you know

Another reason is that currently the only reason cancels the context is the disconnection

This is not true. The feature this change implemented is mainly for clients to use (servers don't care about read timeouts unless they don't intent to support long connections/client pools). It's very common for clients to set a timeout in the context object.

@fishy I have a couple of clarification questions about the expected behavior of the timeouts. Sorry if I misunderstood something.

The logic handles only the retries? What about canceling the reads that are taking longer than the deadline?
For example:

If I set a context deadline of 1 second and i/o timeout appears, before that, a read will be retried. Correct?
If the context deadline set to 1 second, but read takes 5 seconds, it will not be canceled after 1 second and will not be retried later. Correct?

Is the logic applied only to the ReadMessageBegin? What about Read and ReadMessageEnd?
For example:

Context deadline is set to 5 seconds and i/o timeout happens after 1 second of ReadMessageBegin, so it will be retried. Right?
Context deadline is set to 5 seconds, and ReadMessageBegin succeeds in 1 second, but the further Read fails with the i/o timeout in 1 more second (so 3 seconds left until the deadline). Will it be retried?

This logic was added to the TBinaryProtocol, TCompactProtocol, THeaderProtocol but not to the TJSONProtocol, right?

Thanks!

@Trane9991

Yes for both
This is because the way the library/framework works, you would only get io timeouts on the first reads (ReadMessageBegin). For client side write (server side read), if you look at TStandardClient's implementation, we always call WriteMessageBegin, Write, WriteMessageEnd, Flush without delays between them (https://github.com/apache/thrift/blob/a8c041dd580ff37f3e32b0eaafed542f496d5d58/lib/go/thrift/client.go#L44-L53). For server side write (client side read), it's the same in the compiler generated Process functions. The only "delay" that could cause io timeouts are the delaye before calling WriteMessageBegin. For server writes those delays are just the actual handler handling the request and generating the response. I described that in the jira ticket.
Right.


Support update payloads for arm64-usr

At the moment, Nebraska simply assumes that every update payload is for amd64-usr.
So amd64-usr is hard-coded in places like https://github.com/kinvolk/nebraska/blob/16e843900344bee0c3ac43880457ab6afff85181/pkg/syncer/syncer.go#L242.
Also the Packages struct does not have any field about architecture. It has only Version:
https://github.com/kinvolk/nebraska/blob/16e843900344bee0c3ac43880457ab6afff85181/pkg/api/packages.go#L35
As a result, uploading multiple update payloads for the same version, one for amd and the other for arm, will simply fail, because the server already has the payload for the same version. upload_package script will simply fail like Payload with version 2345.99.0 already present. Skipping upload....
To fix that, we probably need to add a new DB field Arch to Packages.
We should figure out how to support both amd64-usr and arm64-usr.

Updated the description to mention that we need to add Arch field to Package.

Hey Dongsu,
Just letting you know this is in my radar and it's an important enhancement.
I will check with @krnowak next week about this issue so we can fix it ASAP. Thanks for reporting.


Props are always null when passed into component (.NET Core 3.1)

Thanks for filing a bug! To save time, if you're having trouble using the library, please check off the items you have tried. If you are just asking a question, skip right to the bottom.
Please verify these steps before filing an issue, and check them off as you go

[ X] The relevant native JavascriptEngineSwitcher library packages are installed (such as JavaScriptEngineSwitcher.V8.Native.win-x64)
[ X] The VC++ 2017 runtime is installed
[ X] The value of SetUseReact and SetUseBabel is correct in ReactConfig.cs or Startup.cs
[X ] I've looked at the sample projects in this repo to verify that my app is configured correctly

I'm using these library versions:

ReactJS.NET: 5.1.2
JavaScriptEngineSwitcher: ChakraCoreJsEngine (3.3.0)
react and react-dom: (N/A if using bundled react, or version number)
webpack: (N/A if using bundled react)
node: (N/A if using bundled react)

Runtime environment:

OS: (Mac, Windows, Linux flavor. Include 32-bit/64-bit and version) Windows 10 Pro
.NET Framework or .NET Core Version: .NET Core 3.1

Steps to reproduce
@Html.React("Test", new { myVal = "123" })
The prop is always being passed in as null/blank.  This was working in .NET 4.7 until I upgraded, I need assistance.
https://stackoverflow.com/questions/60013968/react-net-net-core-3-1-not-passing-props-into-component

A few things to try:
Different JSON serialization defaults might be changing the casing from PascalCase to camelCase on you. render() { return <span>{JSON.stringify(this.props)}</span> } might help show what's getting passed in. If that's the case, it can be customized via SetJsonSerializerSettings
The webpack sample in this repo is a .NET Core 3.1 project, you could look at that to see what's different with the app you just updated.


test: use the default key value for Esti local credentials

By using the default key value for Esti local credentials flag we enable easy local development for running the Esti tests as part of our local environment.
The system test will be enable to access to locally configured your lakeFS environment or using the the docker-compose without extra configuration.

Thanks closing this one for now, until we can align when we verify what is a valid key value


rtp media pay fix

Correction of rtp packet processing, packets in which there is no media data should not be processed

thanks


Closes #2152 update install instructions

Thank you for your Pull Request! We have developed this task checklist from the Development Process Guide to help with the final steps of the process. Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.
Please check off each taskbox as an acknowledgment that you completed the task or check off that it is not relevant to your Pull Request. This checklist is part of the Github Action workflows and the Pull Request will not be merged into the devel branch until you have checked off each task.

[x] Place Closes #2151 into the beginning of your Pull Request Title (Use Edit button in top-right if you need to update)
[x] Code is formatted according to the tidyverse style guide. Run styler::style_file() to style R and Rmd files
[x] Updated relevant unit tests or have written new unit tests, which should consider realistic data scenarios and edge cases, e.g. empty datasets, errors, boundary cases etc. - See Unit Test Guide
[x] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[x] Update to all relevant roxygen headers and examples, including keywords and families. Refer to the categorization of functions to tag appropriate keyword/family.
[x] Run devtools::document() so all .Rd files in the man folder and the NAMESPACE file in the project root are updated appropriately
[x] Address any updates needed for vignettes and/or templates
[x] Update NEWS.md under the header # admiral (development version) if the changes pertain to a user-facing function (i.e. it has an @export tag) or documentation aimed at users (rather than developers)
[x] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[x] Address or fix all lintr warnings and errors - lintr::lint_package()
[x] Run R CMD check locally and address all errors and warnings - devtools::check()
[x] Link the issue in the Development Section on the right hand side.
[x] Address all merge conflicts and resolve appropriately
[x] Pat yourself on the back for a job well done! Much love to your accomplishment!

do we need to update the DESCRIPTION file with remotes so they get the latest and greatest from the helper packages?

@bms63 if we make an update that depends on a dev version of the helper packages, then we should add Remotes: to the DESCRIPTION. Otherwise, we should just keep it as is.

do we need to update the DESCRIPTION file with remotes so they get the latest and greatest from the helper packages?

@bms63 if we make an update that depends on a dev version of the helper packages, then we should add Remotes: to the DESCRIPTION. Otherwise, we should just keep it as is.

Could we document this somewhere?
Would it harm to add Remotes: even if currently the devel version does not depend on devel versions of dependencies? Adding and removing Remotes: looks cumbersome to me and most likely we will forget it.

We'll never forget to add Remotes: when it's needed because our tests should fail when there is a breaking change in an upstream package.
We'll never forget to remove it, because CRAN will reject us if we submit with a Remotes: in the DESCRIPTION

I'll make a note to update in the prog docs - as none of us were aware of this Remotes stuff until you came along Daniel.


Fix docfx.json

Docs Build status updates of commit a8e7b8c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docfx.json
:white_check_mark:Succeeded

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


Issues with Docker on Windows Server 2019

What trouble are you having?
A clear and concise description of what you're stuck on.
Have you tried with the sample files?

[Yes/No]

Have you tried the steps in the troubleshooting guide?
https://github.com/danecreekphotography/node-deepstackai-trigger/wiki/Troubleshooting

[Yes/No]

Log entries
Please copy and paste all the log messages from the Docker output
Installation details

OS: [e.g. Mac, Windows 10]
Docker setup [e.g. sample docker-compose.yaml, Portainer, UnRAID, etc]

Additional context
Add any other context about the problem here.

A clear and concise description of what you're stuck on.

Error raised when running docker-compose up:
docker-compose.yaml:
version: "3.8"
services:
trigger:
volumes:
# Change d:/myfolder/myimages to point to the folder that will have the images
# to analyze. Only change the local path that is before the :/aiinput portion.
# Don't change the :/aiinput part.  For a list of valid timezone values
  # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
  # The value to use is in the "TZ database name" column.
  - TZ=Europe/London

ports:
  # This port is used by the local web server when annotated images are enabled.
  # If you change the port used by the local web server in the settings.json file
  # this also has to change to match.
  - 4242:4242

# ------------------------------------------------------------------------
# Don't change anything below this line unless you know what you are doing
secrets:
  - triggers
  - settings
image: danecreekphotography/node-deepstackai-trigger:latest
restart: always
depends_on:
  - deepstack-ai

deepstack-ai:
image: deepquestai/deepstack:latest
restart: always
volumes:
- localstorage:/datastore
environment:
- VISION-DETECTION=True
volumes:
localstorage:
secrets:
settings:
# This should point to the location of the settings.json configuration file
file: ./settings.json
triggers:
# This should point to the location of the triggers.json configuration file
file: ./triggers.json
settings.json
{
// Leave this line alone. It enables Intellisense when editing this file in Visual Studio Code.
"$schema": "https://raw.githubusercontent.com/danecreekphotography/node-deepstackai-trigger/main/src/schemas/settings.schema.json",
// This is the default uri for Deepstack when deploying using the docker-compose.yaml file
// provided in this sampleConfiguration folder. If you have another deployment of Deepstack
// running elsewhere change this setting to point to the correction location.
"deepstackUri": "http://deepstack-ai:5000/",
// Set this to true to enable annotated images for use in trigger handlers.
// There is a performance penalty to using this, leave it off unless
// you really want to see the annotated images.
"enableAnnotations": false,
// Set this to true to enable the internal web server for remote access
// to processed and annotated images.
"enableWebServer": false,
// Enables verbose logging. Useful when setting up the system to ensure
// everything is running correctly.
"verbose": true,
// Set this to true if your images are stored in a remote folder that's
// mounted as a network share and then mapped to the Docker image.
"awaitWriteFinish": false,
// Provides the configuration details for your MQTT server. To enable
// mqtt set the uri, username (if required), password (if required),
// and set enabled to true.
"mqtt": {
"uri": "mqtt://xxxxxxxxxxx:1883",
"username": "xxxxxxxxxxxxxxx",
"password": "xxxxxxxxxxxxxxx",
"enabled": true,
"retain": true
},
// Provides the configuration details for Telegram bot messages.
// Set the botToken and enabled to true to use Telegram.
"telegram": {
"botToken": "insert bot token here",
"enabled": false
},
// Provides the configuration details for Pushbullet notifications.
// Set the accessToken and enabled to true to use Pushbullet.
"pushbullet": {
"accessToken": "access token here",
"enabled": false
},
// Provides the configuration details for Pushover notifications.
// Set the apiKey, userKey, and enabled to true to use Pushover.
"pushover": {
"apiKey": "api key here",
"userKey": "user key here",
"enabled": false
}
}
triggers.json
{
"$schema": "https://raw.githubusercontent.com/danecreekphotography/node-deepstackai-trigger/main/src/schemas/triggerConfiguration.schema.json",
"triggers": [
{
"name": "Dog detector",
"watchPattern": "/BlueIris/capturedImages/Dog*.jpg",
"enabled": false,
"threshold": {
"minimum": 50,
"maximum": 100
},
"handlers": {
"webRequest": {
"triggerUris": ["http://localhost:81/admin?trigger&camera=Dog&memo={{formattedPredictions}}"]
},
"mqtt": {
"messages": [{ "topic": "aimotion/triggers/dog" }]
},
"pushover": {
"userKeys": ["1"]
},
"telegram": {
"chatIds": [1],
"annotateImage": true
}
},
"watchObjects": ["dog"]
},
{
"name": "Office detector",
"watchPattern": "/BlueIris/capturedImages/office*.jpg",
"enabled": true,
"threshold": {
"minimum": 50,
"maximum": 100
},
"handlers": {
"mqtt": {
"messages": [{"topic": "aimotion/trigger/office"}]
}
},
"watchObjects": ["person","bicycle","car","dog","motorcycle","truck"]
}
]
}
Have portainer installed which shows that the "nodedeepstackaitrigger_deepstack-ai_1" container has been created and is running.
OS: Windows 2019 Server Standard.
Docker EE which is part of Windows 2019.
Docker version 19.03.11, build 0da829ac52
docker-compose version 1.27.3, build 4092ae5d

Closed in error

Does D:/BlueIris/capturedImages exist on your computer? The error says it doesn't.

Hi,
Yes that folder does exist, and I have double checked it.
I copied the path from the File Explorer address bar and pasted it into the file.
Peter.
From: danecreekphotography<EMAIL_ADDRESS>Sent: 20 September 2020 16:18
To: danecreekphotography/node-deepstackai-trigger<EMAIL_ADDRESS>Cc: peterbeeston<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Subject: Re: [danecreekphotography/node-deepstackai-trigger] Issues with Docker on Windows Server 2019 (#375)
Does D:/BlueIris/capturedImages exist on your computer? The error says it doesn't.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdanecreekphotography%2Fnode-deepstackai-trigger%2Fissues%2F375%23issuecomment-695798833&data=02|01||2c5f244592fc42da7efd08d85d785a4c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637362118770933693&sdata=RoM3PrBiMqUclKldwM6Wu0sChQY4%2BvEMZrsqIRdTO2A%3D&reserved=0, or unsubscribehttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACPGV5UP5Q6R5LQ525NDADLSGYMKHANCNFSM4RTVSZ7Q&data=02|01||2c5f244592fc42da7efd08d85d785a4c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637362118770943687&sdata=6IQm4wLvib4bWwHrvFTjMqoQhxzr5nl%2FhFCemgie1T0%3D&reserved=0.

Are you running this in Portainer? Or just straight from a Windows command line using docker-compose?
Is Windows running natively on the machine? Or is Windows in a virtual machine?

Hi,
The machine is running native Windows 2019 Server Standard, with the built-in Docker-EE engine.
This was run in a Power Shell (Admin) session.
I have installed other docker containers this way and have had no issues, as is shown in that the DeepStackAI container is running.
Docker is also running Portainer and Portainer-Agent.
Thanks for the quick reply.
Peter.
From: danecreekphotography<EMAIL_ADDRESS>Sent: 21 September 2020 13:31
To: danecreekphotography/node-deepstackai-trigger<EMAIL_ADDRESS>Cc: peterbeeston<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Subject: Re: [danecreekphotography/node-deepstackai-trigger] Issues with Docker on Windows Server 2019 (#375)
Are you running this in Portainer? Or just straight from a Windows command line using docker-compose?
Is Windows running natively on the machine? Or is Windows in a virtual machine?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdanecreekphotography%2Fnode-deepstackai-trigger%2Fissues%2F375%23issuecomment-696083270&data=02|01||3bdd06f3e76a457c755e08d85e2a4126|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637362882852488464&sdata=5rEgBlugF2RDW%2FpGoF45KhWyDLP8jieJf0IoKrN5dQA%3D&reserved=0, or unsubscribehttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACPGV5TQ5RL37FVLKSHQEG3SG5BRZANCNFSM4RTVSZ7Q&data=02|01||3bdd06f3e76a457c755e08d85e2a4126|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637362882852498457&sdata=1iSeHTWwExIlysKqTRcLPle%2BbVs%2BtTKQl%2BfXrjAQeTM%3D&reserved=0.

Is the folder local to the machine or is it a mounted shared drive?

What happens if you do a dir D:\BlueIris\capturedImages from PowerShell?

Hi,
The drive is a local disk and the dir command returns:
PS C:\Windows\system32> dir D:\BlueIris\capturedImages
Directory: D:\BlueIris\capturedImages

Mode                LastWriteTime         Length Name

-a----       21/09/2020     14:32              0 Test.txt
This file is just there so that there is something to return.
Peter.
From: danecreekphotography<EMAIL_ADDRESS>Sent: 21 September 2020 14:19
To: danecreekphotography/node-deepstackai-trigger<EMAIL_ADDRESS>Cc: peterbeeston<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Subject: Re: [danecreekphotography/node-deepstackai-trigger] Issues with Docker on Windows Server 2019 (#375)
What happens if you do a dir D:\BlueIris\capturedImages from PowerShell?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdanecreekphotography%2Fnode-deepstackai-trigger%2Fissues%2F375%23issuecomment-696109173&data=02|01||2397a119023f463ed45a08d85e30ec40|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637362911493005766&sdata=bAf8GpqTwBf3qUvsa9GzL4dkhoNe9xAmPlOREZrCCFs%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACPGV5XUXAF4GYIXRVBUVIDSG5HEZANCNFSM4RTVSZ7Q&data=02|01||2397a119023f463ed45a08d85e30ec40|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637362911493015762&sdata=LAPhjE9sw%2BwIGvxXMsN9%2FwsP7hvh3Hm2tZi47YeCD%2BM%3D&reserved=0.

Unfortunately I'm out of ideas :( This is purely a Docker issue and nothing to do with any of the stuff I wrote. Perhaps you can try asking on StackOverflow, although all of the threads on this error I saw there were related to things you say are not applicable in your case.

Hi,
I agree, I think that this is a 2019 specific issue, but was hoping that you may have heard something.
I have an inkling that it may be a PS/Docker-Compose/Windows folders issue, so I an going to try the CMD prompt instead on PS. If I find anything I will let you know.
Peter.
From: danecreekphotography<EMAIL_ADDRESS>Sent: 21 September 2020 14:46
To: danecreekphotography/node-deepstackai-trigger<EMAIL_ADDRESS>Cc: peterbeeston<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Subject: Re: [danecreekphotography/node-deepstackai-trigger] Issues with Docker on Windows Server 2019 (#375)
Unfortunately I'm out of ideas :( This is purely a Docker issue and nothing to do with any of the stuff I wrote. Perhaps you can try asking on StackOverflow, although all of the threads on this error I saw there were related to things you say are not applicable in your case.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdanecreekphotography%2Fnode-deepstackai-trigger%2Fissues%2F375%23issuecomment-696125061&data=02|01||a658ada9d43545db958e08d85e34b6fb|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637362927779721629&sdata=WGKe7Fx9U9Zkj01%2FFUb%2BslA%2BxZIGaS20Bfca5fQ41fQ%3D&reserved=0, or unsubscribehttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACPGV5Q4M6JE3CHX2S6ZILLSG5KKRANCNFSM4RTVSZ7Q&data=02|01||a658ada9d43545db958e08d85e34b6fb|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637362927779731624&sdata=DfXD73BdiOqB9jW%2FNFJR%2BEW2REF1FPbL6yVu2Oji%2BmE%3D&reserved=0.

Other things to try:

A different folder name entirely
Install Docker Desktop (sounds like you are using something else built in to Windows server?)


make.sh improved, and 2-stage build

make.sh modified to:

perform some additional checks
glide install
generate a "build" image from golang
generate a lightweight "run" image from alpine

That makes 2 dockerfiles, and an extra helper script.

I like the idea of a 2 stage build, but I think just handling it in the Dockerfile.build simplifies things quite a bit.
Also retrieving the binary via a volume causes the binary to be owned by root and causes the chmod fail. Catting the file and redirecting it works around the issue.
Thanks for the contribution. I'll see about using this new process for the automated travis-ci builds and release deployments too.

Ow, right about the binary owner. My bad.
Concerning the double-build:

I basically did it this way because of my lack of golang knowledge.
I also wanted to play with the various degrees of "staticness".

The goal would be to create the "run" container "from scratch".
But it currently fails, and I didn't find what it needs to make it work.
Thanks for your support! Glad you liked my contribution!


evaluate issue

Thans for your excellent work! But i have some question about calculating fid on mscoco.
Firstly, how do you randomly sample text from coco2014 validation set? I think there are two ways, one is sampling 30k images from 40k images then sample one captions for each image,  the other is sampling 30k captions from 200k captions in coco2014 validation set. The first way will get better fid because only one caption will be sampled for each images.
Secondly, after getting 30k generated images, i am confused about whether the coco2014 train set or validation set are used for calculating fid, especially the best fid 8.12 in you paper. Using train set to calculate will get a better fid.
I am going to cite your paper, for a reasons of fairnessI, i want to understand your evaluation method totally. i would be very appreciate if you could answer my question.

You can see how the text are sampled from dataset.py.
In our code, you can use calc_metric.py and set --data to be training or validation set, which is the dataset to be compared with, --test_data to be the set that the text is sampled from. The 8.12 are calculated v.s. training set, it is around 0.1 better than comparing with validation set.

Thanks a lot!


Dead armies walking…

I had a few armies testing to capture the fragment mine from the mercenaries. A few of my armies died by going down to zero military unit in them. But once I won the battle, I had all of the armies leave the battlefield. It looks like, even the dead armies can come out if the battlefield and you can move them around on the map.

Will leave open but should be fixed in my latest PR

should be fixed once #1127 is completed

Will close as this hasn't been happening again


DDBoost Backup Promotion

Related to this item: https://github.com/olahallengren/sql-server-maintenance-solution/discussions/702

Great catch @fabiopennisi. I'm seeing this same issue with DDBoost backup promotion which makes the solution hard to recommend/use without this. @olahallengren Any change to review and merge into the code?

Really nice these could solves a lot of issues that we have with some of our customers. Thanks @fabiopennisi for this discovery.
@olahallengren  as @bbigg8886 it would be helpful to merge it with the code.


{{tags}} placeholder gets tags with #-prefixed --> messes-up meta data

Current behavior
When using the {{tags}} placeholder in the meta section, tags get put in the #-sign prefixed; This causes obsidian to render the meta data invalid an e.g. the graph view not to catch on to the tag.
---
title: ...
url: ...
tags: [{{tags}}, pocket-note]
excerpt: >
---

results in
---
title: ...
url: ...
tags: [#tag1, #tag2, pocket-note]
excerpt: >
---

leading to

and

Nevertheless, I understand that {{tags}} used in the notes body need the #-sign to be captured by obsidian as such.
Current fix (manual): remove the leading #-signs.
Proposed behavior
Option 1
Change the {{tags}} behavior to return the comma-separated list without #-sign, add a {{tags#}} placeholder to put in the tags with leading #-sign.
Caveats: this will break templates, using the {{tags}} placeholder in the note body.
Option 2
Add a {{tags-no-hash}} (or similarly named) placeholder that returns the comma-separated list without #-sign

thanks for raising this. I didn't realize that tags behave differently between front matter and body. Thanks for the clear description and proposed behavior. I think that I'll go with Option 2, as it would be the least disruptive.

You can get this functionality now by updating the plugin via the Obsidian app.


[nrf fromtree] manifest: hal_nordic: Pull nRF Wi-Fi removal

Pulls PR that removed nRF Wi-Fi.
Signed-off-by: Chaitanya Tata<EMAIL_ADDRESS>(cherry picked from commit e512151474ca964302de2e9f8d25ecf13e3bcb16)

The following west manifest projects have been modified in this Pull Request:

Name
Old Revision
New Revision
Diff

hal_nordic
https://github.com/zephyrproject-rtos/hal_nordic/commit/54bde38c6f6ffb3780b26ae728cf79426184384e
https://github.com/zephyrproject-rtos/hal_nordic/commit/ce87268bb5610b7e90acce3efa5c511e95aeeeae
<EMAIL_ADDRESS>

Note: This message is automatically posted and updated by the Manifest GitHub Action.

removed milestone

why is there an empty file ?

why is there an empty file ?

Oops, forgot to pull in the fix for this from upstream, it's fixed now, thanks.

Part of https://github.com/nrfconnect/sdk-zephyr/pull/2300


Fideslang taxonomy migrations for version 2.0.0

In order to support the GVL taxonomy as needed for TCF v2.2, we'll need to map all of the GVL purposes to FidesLang data uses. CK, MB, and I did this exercise and, as a result, we need the following data use updates:
https://ethyca.atlassian.net/wiki/spaces/PM/pages/2740027499/Taxonomy+updates#Data-uses%3A

@Kelsey-Ethyca  this is a duplicate of #141 in the fideslang repo. Can I close this one?

Work in Fideslang is happening here

@ThomasLaPiana should this ticket be closed?

@Kelsey-Ethyca it'll get closed when we finish the migration PR

testing

moving to done.


The desktop createDistribution task should be able to target any platform

At the moment it isn't possible to build a distribution or uber jar for another platform.
Since it entails including a native library it shouldn't be a problem to provide the cross platform version.
I would suggest it even be possible to include all libraries and choose the correct one at startup.

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Need to review labels for transaction list

Need to adjust all "mining" references to "staking", label stake rewards as "generated", and combine multiple outputs.

resolved with commit 167e4c032bb7564e1ac0d56f6b5b510b5c4a6afd : update transaction page with POS information


flux is not pulling the newly built image

The system described in this repo worked for my first few commits, but then I needed to request more memory and CPU for my app because it was having an error related to running out of memory. I made the following change to manifests/deployment.yml:
Before:
...
        resources:
          requests:
            cpu: 250m
          limits:
            cpu: 500m

After:
...
        resources:
            cpu: 500m
            memory: 1024M
          limits:
            cpu: 1000m
            memory: 2048M

Since my build.yml does not trigger on commits to the manifests directory, I also made a non-significant change (added a space to a line that was commented out) in a file outside that directory, to trigger GitHub Actions.
My image was rebuilt and pushed but Flux did not pull the image and redeploy my pod. The Flux log ends as follows:
$ kubectl logs flux-6df96947dc-frrzt --namespace=flux
...
ts=2019-12-29T06:13:52.279663558Z caller=images.go:23 component=sync-loop error="getting unlocked automated resources: scanning multidoc from \"manifests/deployment.yml\": yaml: line 28: did not find expected key"

Line 28 is the line in the resources section saying memory: 1024M. I'm not sure which key is missing or expected. I added this request based on the documentation:
https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/#meaning-of-memory
Any ideas?

I think this was my bad, I forgot the requests key under resources.


Updated desc to include time delay for hub menus

Update the description to include the time delay when updating a hub site menu.

Docs Build status updates of commit f06f6d1:
:clock10: Full build: the average full build time is 11 min(s) 57 sec(s), this is based on the last 755 build(s) for this repository.

Docs Build status updates of commit f06f6d1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-pnp/Add-PnPNavigationNode.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@Jenny-Neal - thank you for the proposal and PR. The PnP cmdlet references are a little different than the rest of the references. The PnP 'source' for the reference actually lives in the cmdlet code itself and each release the reference content is copied over here so it is rendered alongside the rest of the Office cmdlets. The source file for this particular cmdlet is located here: https://github.com/SharePoint/PnP-PowerShell/blob/master/Commands/Navigation/AddNavigationNode.cs  The repo is community driven and maintained and I know they would very much appreciate your contribution. I am going to go ahead and close this and let me know if you have any questions or need me to help or research anything on the PnP side.


Add vue-ts

Hello, i like the work. Is there any chance that vute-ts stack can be added?

Thank you, @JensvandeWiel!
Sorry for the delayed response.
Unfortunately, I haven't had the opportunity to learn any vue, so I currently don't have have any plans to add a vue-ts option.
Thanks again.


Sonoff camera GK-200MP2C support

Are you considering support of GK-200MP2C camera ?
The PTZ works fine for my GK-200MP2B camera, but the same config doesn't work for 2 different GK-200MP2C version cameras.
Thanks

No plans for this model


Friends segment events

I can use the get_activities method to return an array of my activities, though each one seems to have a None segment_efforts attribute.  However, calling method get_activity for each array member using the activity attribute id will expose my segment_efforts within each activity.
This same process does not seem to work for get_friends_activities; when I call get_activity for each of the activities returned by get_friend_activitives, the segment_efforts attribute always comes back None.
How can I gain access to my friend's segment efforts?

It looks like you cannot retrieve segment efforts for your friends.  Specifically, from the documentation:  (Note that "Detailed" representation is what you can see about your own data, vs. "summary" which is what you can see about other's data.)
Summary representation attributes
The summary representation of the activity object is the same as the detailed representation, except it does NOT include these attributes:

    calories
    description
    gear
    segment_efforts
    splits_metric
    splits_standard
    best_efforts
    photos

I will look at the segment_efforts being None on actitivies; it is likely that this is only available when fetching an activity explicitly/directly (rather than in the list); however, we typically try to handle the remote query under the hood for things like this. It seems reasonable that we could do that here too -- i.e. if you are dealing with an activity from a list, we could go ahead and lazily fetch the full activity detail if/when you try to access the segment_efforts property.  I will investigate further.

Appreciate the quick and thoughtful reply, I too noted the reference to the
Activity segment_efforts attribute removed from summary listings after I'd
posted this question.  Seems odd (which you seem to concur with) as the web
/ mobile apps both readily support viewing your follower's activities and
segment efforts.
Appreciate any update you can provide.
Brad Hontz
mTAB Evangelist Emeritus
Email<EMAIL_ADDRESS>Web: http://www.mtabsurveyanalysis.com
On Thu, Oct 1, 2015 at 12:39 PM, Hans Lellelid<EMAIL_ADDRESS>wrote:

It looks like you cannot retrieve segment efforts for your friends.
Specifically, from the documentation
https://strava.github.io/api/v3/activities/: (Note that "Detailed"
representation is what you can see about your own data, vs. "summary" which
is what you can see about other's data.)
Summary representation attributes
The summary representation of the activity object is the same as the detailed representation, except it does NOT include these attributes:
calories
description
gear
segment_efforts
splits_metric
splits_standard
best_efforts
photos

I will look at the segment_efforts being None on actitivies; it is likely
that this is only available when fetching an activity explicitly/directly
(rather than in the list); however, we typically try to handle the remote
query under the hood for things like this. It seems reasonable that we
could do that here too -- i.e. if you are dealing with an activity from a
list, we could go ahead and lazily fetch the full activity detail if/when
you try to access the segment_efforts property. I will investigate further.
—
Reply to this email directly or view it on GitHub
https://github.com/hozn/stravalib/issues/59#issuecomment-144825768.


[WIP] Lazy ast

This was a hacky POC originally. We should definitely keep the old code around and make "lazy parsing" another optional mode for this plugin (in addition to current supermassive modes).


Sometimes, it's ok to share opinions <3

Sharing your in a minimal box

Just do it!
Done.

Just do it!
Done.


GGPO_ERRORCODE_PREDICTION_THRESHOLD after every ggpo_add_local_input

I apologize if this might be a stupid question, but I am having troubles in implementing this library in a sample project of mine.
While running the vectorwar demo, everything seems to work fine, without issues. I can compile and execute the game without troubles and the synchronization via GGPO works flawlessly.
However, when I try to implement GGPO in my own project, after the connection between the players has been established (GGPO_EVENTCODE_RUNNING has been issued), whenever I call a ggpo_add_local_input command, it always fails with the above return value (GGPO_ERRORCODE_PREDICTION_THRESHOLD).
Is there any step I have to perform between the first time I receive a GGPO_EVENTCODE_RUNNING and the first ggpo_add_local_input / ggpo_synchronize_input that I am missing?
If not, what could be the cause of this error?
To summarize:

I start the session with ggpo_start_session (result = GGPO_ERRORCODE_SUCCESS)
add the two players with ggpo_add_player (result = GGPO_ERRORCODE_SUCCESS)
call for ggpo_advance_frame (result = GGPO_ERRORCODE_SUCCESS) at 60fps. Otherwise, call ggpo_idle
the two players connect and I get the events GGPO_EVENTCODE_SYNCHRONIZED_WITH_PEER, then GGPO_EVENTCODE_RUNNING
after this, whenever I call ggpo_add_local_input, it fails with result GGPO_ERRORCODE_PREDICTION_THRESHOLD, thus preventing synchronization between the clients.

The above issue happens even when running two instances of the game on the same machine, on different ports.

Found the issue, it was due to me calling ggpo_advance_frame right after the input update even if the ggpo_add_local_input was unsuccessful.


Exist a way to do pc -> Android?

[ ] I have checked that a similar feature request does not already exist.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Mirroring my pc screen/audio to my android
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Not scrcpy.


Bumping to snapshot versions: 1.0.0-rc2-SNAPSHOT, 0.15.1-SNAPSHOT

Codecov Report

Merging #296 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #296   +/-   ##
=========================================
  Coverage     70.83%   70.83%
  Complexity      341      341
=========================================
  Files            68       68
  Lines          1814     1814
  Branches        148      148
=========================================
  Hits           1285     1285
  Misses          464      464
  Partials         65       65

Continue to review full report at Codecov.

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

LGTM


replace documentation link by the readthedocs one

Not really, but we need to invest time to build a new one.


Update form flickers when submitting

When I submit the update form on http://autoform.meteor.com/updateaf, the form flickers (disappears and reappears). Is it possible to disable this flickering and instead just make the update and keep the form appearing even after submitting the form?
Besides, it scrolls to top on the page when it is submitted which confuses the user. Am I using it wrong when I use
{{> quickForm collection="Meteor.users" id="updateForm" type="update" fields="profile.firstName,profile.lastName" doc=user}}

since it flickers and scrolls to top?

I'm guessing this is related to #846.  I'm having the same problem.  The form is actually removed and re-drawn in the page when it's updated.


Provide a LSP object validation layer

I noticed several traces of Notification handler 'textDocument/publishDiagnostics' failed with message: message must be set in debug console log. Unfortunately, i'm unable to find which language server is publishing diagnostic without message. it would be nice to provide more information. For instance: the uri, the error code, the Language server id if available, the range

This would be something we now could generate from the meta model.


feat: added support for streaming stdout when --progress=plain

fix #7057

logs in real CI. (no idea the color lost issue)

I think this makes sense :tada: I'm really not familiar with how frontend.go works though.
To me, it feels confusing that the logic for adding new views/etc is really complex - ideally, we'd have an interface that a new view would be able to implement. Then the fancy new progress view and the plain one would all just be implementations of that interface.

There were still some color issues (particularly in the summary that's still printed at the end), so pushed a fix for that (the extra WithTTY calls can be removed once https://github.com/vito/progrock/pull/14 is merged and updated).

I'd like to do some further refactoring of this later, but for now, this fixes the issue, and it would be awesome to include this in v0.11.1, so going to approve now, and I'll happily iterate on this after the release.

@jedevc spanName may empty.

it could safe fixed by  https://github.com/dagger/dagger/pull/7069/files#r1559461303

@morlay can you share an example of where span is empty?

@morlay can you share an example of where span is empty?

this first 6: in that image.
It logs before span emitted.

Right, yeah, I meant, do you have a publicly-available example I can run to get this?
I'm trying to understand why this can happen.

To me, it feels confusing that the logic for adding new views/etc is really complex - ideally, we'd have an interface that a new view would be able to implement. Then the fancy new progress view and the plain one would all just be implementations of that interface.

This view is fundamentally different so it makes sense to me. Normally we're rendering into a viewport and dynamically redrawing parts of the screen, TUI style. This one just needs to print output directly without any funny business and let it go into the scrollback infinitely, skipping past all those moving parts and disregarding screen size and all that.
In the end they're both implementing an interface, just perhaps a lower level one than you might have expected (OpenTelemetry span/log exporter).

Already is - if you pass -vvv (verbosity level 3) it'll show everything. Probably need that in our docs. :)

but with it, the final reporter is too noisy. 😂
May some option could define the should show.

but with it, the final reporter is too noisy. 😂
May some option could define the should show.

I'd prefer to avoid a bunch of flags, but feel free to make it a param or var instead of a const, if you're using this code directly.


why do you use Redis Pubsub

Hi, I am reading your project and I love this project
I have a question, why do you choose Redis Pubsub in your project instead of others like RabbitMQ or Kafka, are there any special features that others dont have it. Can you share me it. I am wondering when I should choose Redis Pubsub instead of others like RabbitMQ or Kafka

Hello, this is good question. I had good reasons why i chose redis over kafka or rabbitmq. Kafka and RabbitMQ store published events on disk to ensure that if listener(subscribed) server goes down and misses some published events those servers will be able to receive missed messages after they will be alive again this is one big difference between redis and Kafka, RabbitMQ. redis does not store events on disk if you want short living messages than you should go with redis.
In my case i wanted to distribute messages across servers and did not care about if some clinets will miss some messages if they will disconnect.
If you want some complex routings and persistent messages you should go with rabbitmq.
If you want shored lived messages(events) you should go with redis.
While if your application has large amounts of data, then Kafka would be a better option.
Also there is one concept how you receive events for example: when you publish event to broker rabbitmq will send this event to all subscribed servers but in kafka things are little bit different kafka uses concept called long pulling for instance clients will make request in every 10 millisecond to kafka to retrieve any new events.
If you have any other questions let me know.


[Feature Request] Generate numeric enums

odata2ts version: 0.31.1
Hi, i'm new to both odata and this library.
In our project, we use a DB First approach and we have a bunch of enums that map to ids in the DB. I wanted to manage the enums in one place and have odata2ts generate them so I can use them in the front.
But it seems that the generated enums are always string enums. It would be useful for my use case to have them generated with the numeric value that maps to de DB Id.
For this EnumTypes in my metadata
<Schema>
  <EnumType Name="Status">
    <Member Name="Pending" Value="1"/>
    <Member Name="Enqueued" Value="2"/>
    <Member Name="Sended" Value="3"/>
    <Member Name="Failed" Value="4"/>
    <Member Name="Canceled" Value="5"/>
  </EnumType>
  <EnumType Name="ContactType">
    <Member Name="VIDEO" Value="1"/>
    <Member Name="PHONE" Value="3"/>
    <Member Name="EMAIL" Value="7"/>
  </EnumType>
</Schema>

the generated enums are as follows:
export declare enum Status {
    Pending = "Pending",
    Enqueued = "Enqueued",
    Sended = "Sended",
    Failed = "Failed",
    Canceled = "Canceled"
}
export declare enum ContactType {
    VIDEO = "VIDEO",
    PHONE = "PHONE",
    EMAIL = "EMAIL"
}

The expected for my need would be:
export declare enum ContactType {
    VIDEO = 1,
    PHONE = 3,
    EMAIL = 7
}

Thanks for your time.

Hi @pablopaz,
thanks for bringing that up, I think I neglected enums for a while now...
But you're right on track: Numeric enums are much more in the spirit of OData enums.
The problem for me there was, that the UnderlyingType prop may be any integer and thus also Edm.Int64. However, this might be larger than a number and could be represented by bigint, which then wouldn't work with numeric enums...
After some consideration, I think that using Edm.Int64 is an edge case which can be neglected or, respectively, handled when someone brings up a good use case...

Hi @pablopaz,
so I've implemented that (not released yet), but there's a show stopper:
const model: EditablePersonModel = {
      user: "williams",
      firstName: "Heinz",
      // favoriteFeature: FeatureModel.Feature1, // <= here is how it's used today
     favoriteFeature: FeatureModel[FeatureModel.Feature1] // users would need to do that at every corner
};

The thing here is, that in OData you send and get back strings for enums, not numbers.
Also, within the query you need to use a string:
GET {{baseUrl}}/People?$select=FirstName,Gender&$filter=Gender eq 'Female'

In short, while the representation as numeric enum would be more in alignment with the OData spec, it's utterly unpractical to use numeric enums.

Please explain your use case a bit more. You are only interested in the models, not in the full OData client, right?

Hi,
it makes sense that OData uses the name to send and get back the enums, and i understand it may be unpractical.
As for our use case, in fact we are not using enums in the queries, as the models generated have number type.
const model: EditableUser = {
      LastName: "williams",
      FirstName: "Heinz",
      UserTypeId: UserTypeEnum.Admin // The field is not an enum in the OData model, it would be a number.
};

There would be a UserType table in the DB, and UserTypeEnum.Admin would match the appropriate id in that table.
And we do the queries comparing the id:
GET {{baseUrl}}/People?$select=FirstName,UserTypeId&$filter=UserTypeId eq 3

In this case, without changing the EF model generation, the only other solution i can think of is to have the enums definition duplicated, both in the Back-End and the Front-End. I thought that maybe we could take advantage of odata2ts generation to manage the enums mapping to the ids in only one place.
We are more interested in the models, as we are not using the full client right now, but may consider using it in the future.

Thanks for this insight. Now it makes more sense.
But to be sure, you're making no use at all of enums within your data model, meaning that neither any EntityType nor any ComplexType is referencing these enums directly? Or do you have multiple use cases?
If you're using enums differently, then it will become more complicated..
In general I see two approaches here:

Introduce an extra config option to generate numeric enums
Generating numeric enums and introducing a proper enum converter which works with strings instead

But actually I have to ponder more about this...

But to be sure, you're making no use at all of enums within your data model, meaning that neither any EntityType nor any ComplexType is referencing these enums directly?

Correct, the enums are not referenced in the model.

For me later: TS implementation hint for QEnumPath

Hi @pablopaz,
so this feature has finally landed with<EMAIL_ADDRESS>
You need to activate it though: numericEnums: true (it's a base option)

Took quite some time to refactor internals to get an improved enum support including numeric enums (that is, for the full odata client). However, all of this work has nothing to do with your use case. Hence, I'm going to close this issue right away. Please reopen if stuff doesn't work.

Hi @texttechne,
Sorry for the late reply. I just tried it, and it seems to be working fine for my use case.
Thanks!


Publish plugin zips to maven repo

Description
With existing setup the plugin jars are only published to maven repo, but not the generated plugin zips.
Related META issue
https://github.com/opensearch-project/opensearch-build/issues/1916
Current Behavior
Existing all maven publications target the jar files to publish to maven, but not the generated distribution zips.
Expected Behavior
Along with plugin jars, plugin zips should also be published to maven repo with right maven coordinates, so user can download these plugins using dependancy model.
Steps To Reproduce

Run the gradle assemble task that outputs jar and zips.
Using build setup the jars are published to local staging maven repo.
Zip's are just added to distribution's folder during build runtime.
Finally once build is done, just the jar files are added to local maven repo and updates to the manifest file, but not the zips.

Proposed solution
A custom gradle plugin solution that can create the publication task for the zips to get published to local staging maven repo with right maven coordinates.
Add/Configure the custom gradle plugin openseearch.pluginzip to the gradle project and test the generated plugin zip's to upload to local maven repo.
More details on how to use the Plugin:
https://github.com/opensearch-project/opensearch-plugins/blob/main/BUILDING.md#opensearchpluginzip

@vamshin  Can you please make the necessary changes as listed on the document to support publishing your zips to Maven?

Closing this issue as PR: https://github.com/opensearch-project/k-NN/pull/400 with this feature is merged.


facet wrap

Rebased #332 against main. Also avoided changing the exposed value of the fx and fy scales, though it still feels awkward to me. Like, when you turn on facet wrapping, you still want to specify fy options potentially, even though there isn’t really an fy scale…

Thank you! Yes it's hard to decide if this should be represented externally by 1 scale (or projection: facet name to 2-d position), 2 scales (facet name to x, facet name to y), or three scales (facet name to rank, rank to x, rank to y). The main question is reusability (using the scales from one chart in another chart). I guess if we can only salvage the domain it should be fine?

2 scales (facet name to x, facet name to y)

Actually, that’s a thought. Maybe two scales fx and fy makes the most sense here. But I’d have two requirements:

Both fx and fy should have the same domain (like fx does now in the working example).
Neither fx nor fy is invertible (because they map multiple values to the same position).

This sort of scale would not be expressible as a band scale but would be expressible as an ordinal scale.
I still don’t know how this would be “round-trippable” as fx and fy scales though. This definitely isn’t ready to merge—there are some conceptual things to work out first about the meaning of the facet scales and where you can set options.

Note to self: another option would be to substitute the logic in facetTranslate(kx). There would be only one kx, but fx (or fxy) would affect both coordinates of the translate.


Switch to mihomo, support available preview for cpus and mem

Since lots of web services only support new protocols, this PR changes the backend of clash to mihomo. It also includes many other changes.

feat: switching backend to mihomo
fix: support multiple arguments in 'other' option for sbatch
feat: record the slurm jobid and hostname in job folder
feat: support showing availibility of cpus and mem

Plan to add some more features for improved accessibility. So I will not step into the next version immediately after merging this PR.


FIX: fix the bud -> when check pod pending delete it, main process blocked && format project

for issue #436
fix the main process blocked bug.
The following are the detailed triggering reasons

if the watch for khcheck cr any change, we'll k.RestartChecks()
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/cmd/kuberhealthy/kuberhealthy.go#L183-L199

but in k.StopChecks() it will wait for c.Shutdown()
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/cmd/kuberhealthy/kuberhealthy.go#L115-L140

int c.Shutdown(),trigger ext.shutdownCTXFunc() , and wait for ext.wg.Wait()
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/pkg/checks/external/main.go#L1216-L1240

if we run a check, the func (ext *Checker) RunOnce() error {} it will waitForPodStart
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/pkg/checks/external/main.go#L619-L631

the ext.waitForPodStart will run ext.wg.Add(1)
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/pkg/checks/external/main.go#L938-L1015

but ,in the waitForPodStart() function, if the pod deleted before p.Status.Phase == apiv1.PodRunning || p.Status.Phase == apiv1.PodFailed || p.Status.Phase == apiv1.PodSucceeded, the for e := range watcher.ResultChan() for loop will blocked.
so the k.StopChecks() will blocked, the k.RestartChecks() will blocked.
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/cmd/kuberhealthy/kuberhealthy.go#L183-L199
we can watch for delete pod event here and return err.
I also saw a method func (ext *Checker) watchForCheckerPodShutdown(shutdownEventNotifyC chan struct{}, ctx context.Context)
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/pkg/checks/external/main.go#L597-L599
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/pkg/checks/external/main.go#L374-L415
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/pkg/checks/external/main.go#L460-L500
but the func (ext *Checker) waitForDeletedEvent(eventsIn <-chan watch.Event, sawRemovalChan chan struct{}, stoppedChan chan struct{}) do nothing.
https://github.com/Comcast/kuberhealthy/blob/3309e2b740e635f00bcd257c5ba0be5209ddaed2/pkg/checks/external/main.go#L469-L494
if a check pod create, it's status will be pending first, and the waitForDeletedEvent will return if it's status be 'pending', because it's a watch.Modified, the case watch.Deleted: never run. Because we can't delete a pod before it pending.
I haven't carefully observed whether this method has any other effect, so I didn't modify the logic here, or left it as it is. Just in waitForPodStart() watch for the delete event.

@jonnydawg
PTAL, thanks.
This bug bothers me so much, I worked for it all day.

@calmkart seems like we can't reproduce the bug? I tried applying this deployment configuration https://github.com/Comcast/kuberhealthy/blob/master/deploy/kuberhealthy.yaml and as soon as the deployment check comes up as pending, I delete the deployment checker pod and I see a lot of this in the kuberhealthy logs:
time="2020-04-24T18:37:20Z" level=info msg="4246412f-1e52-433a-889b-49d8b9b672cb kuberhealthy/deployment: [Last report time was: 0001-01-01 00:00:00 +0000 UTC vs 0001-01-01 00:00:00 +0000 UTC]"
time="2020-04-24T18:37:20Z" level=info msg="4246412f-1e52-433a-889b-49d8b9b672cb kuberhealthy/deployment: [have not yet seen pod update since 0001-01-01 00:00:00 +0000 UTC]"```

Which is expected since it can't find the checker pod that was deleted. However, once the check hits its timeout interval, another check gets provisioned and completes successfully. Have you tried waiting until the timeout interval instead of the run interval for the check to run again? Also, let me know if there's something else I'm missing in order to reproduce this!

I'm not sure if I'm able to reproduce this bug yet -- still checking out. I'm getting a lot of
time="2020-04-24T18:12:23Z" level=info msg="dfaf914c-f3f7-4f90-b6a6-b8f53abbee53 kuberhealthy/deployment: [pod state is now: Pending]"
time="2020-04-24T18:12:23Z" level=info msg="dfaf914c-f3f7-4f90-b6a6-b8f53abbee53 kuberhealthy/deployment: [got an event while waiting for pod to start running]"
time="2020-04-24T18:12:23Z" level=info msg="dfaf914c-f3f7-4f90-b6a6-b8f53abbee53 kuberhealthy/deployment: [pod state is now: Pending]"
time="2020-04-24T18:12:29Z" level=debug msg="Starting a watch for khcheck object changes"
time="2020-04-24T18:12:30Z" level=debug msg="khcheck monitor saw an added event"
time="2020-04-24T18:12:30Z" level=debug msg="Change notification received. Scanning for external check changes..."
time="2020-04-24T18:12:30Z" level=debug msg="Scanning khcheck CRD kuberhealthy/deployment for changes since last seen..."
time="2020-04-24T18:13:10Z" level=info msg="khState reaper: starting to run an audit"
time="2020-04-24T18:13:10Z" level=info msg="khState reaper: analyzing 1 khState resources"
time="2020-04-24T18:13:10Z" level=debug msg="khState reaper: analyzing khState deployment in deployment"
time="2020-04-24T18:13:10Z" level=debug msg="khState reaper: deployment == deployment && kuberhealthy == kuberhealthy"
time="2020-04-24T18:13:10Z" level=info msg="khState reaper: deployment in kuberhealthy is still valid"
time="2020-04-24T18:14:10Z" level=info msg="khState reaper: starting to run an audit"
time="2020-04-24T18:14:10Z" level=info msg="khState reaper: analyzing 1 khState resources"
time="2020-04-24T18:14:10Z" level=debug msg="khState reaper: analyzing khState deployment in deployment"
time="2020-04-24T18:14:10Z" level=debug msg="khState reaper: deployment == deployment && kuberhealthy == kuberhealthy"

how to trigger this bug
video
This log is very important
Waiting for background workers to cleanup...

but never get shutdown
https://github.com/Comcast/kuberhealthy/blob/0e4d57a10cefed3e816f630197afaca0178b219a/pkg/checks/external/main.go#L1216-L1240
the reason why ext.wg.Wait() blocked was Already written on the main post.
@joshulyne @jonnydawg @

I've been able to reproduce the bug, thanks for the video! I've also been testing your changes and they look good so far -- I'm going to continue some testing for a bit.


feat: add Weitzmann Regions for all Tonnetz

[x] Add agumented chord for all Tonnetz
[x] Add to CHORD_TYPE object  "aug", "augmented"
[x] Add Weitzmann Regions for all Tonnetz (map structure, but perhaps it is enough to return a matrix)

[x] Add OctaTowers
[x] Add Boretz Regions
[x] Fix problems with conditionals in PLR functions. Some triads did not transform as expected, for example: [9,1,4] P => [9,2,4] when it should be [9,0,4]. Adding the modulo to the conditional resolves it well.


Add a hbox debugging tool

Fixes #515
Use it like this in your hbox’s output routine:
SILE.outputter.debugHbox(self, self:scaledWidth(line))

Coverage decreased (-0.05%) to 95.463% when pulling 3add048a4bc4150d820e142d6dd5ef21e2e00968 on alerque:515-debug-box into 501b372ffefa62d9f344a252195d666b30738e49 on simoncozens:master.

I thought I commented on this PR again, but apparently it didn't send or I was sleep walking or something.
I would hold of merging this until it's documented. I was looking at the debug docs and think not only the flag I added but a couple others that are missing could fit well in this PR.

Merged to devel.


Dropbox files updated remotely are not updated in Brackets

Prerequisites

[X] Can you reproduce the problem with Debug -> Reload Without Extensions?
[X] Did you perform a cursory search to see if your bug or enhancement is already reported?
[X] Did you read the Troubleshooting guide?

For more information on how to write a good bug report read here
For more information on how to contribute read here
Description
Dropbox files updated remotely are not showing up as updated in Brackets, although Dropbox has properly updated the files on disk.
Steps to Reproduce

Open Brackets, point to an empty Dropbox folder.
Create several files in Brackets, add some information.
Close Brackets.
On a remote device (I used Byword on an iPad), add more content to one of the files created in Brackets.
Save the file, allow Dropbox to update.
Open a Terminal window, cd to the Dropbox folder, and cat the changed file to verify the local Dropbox has the latest changes.
Start Brackets and open the updated file.

Expected behavior: Changes made remotely should show up in Brackets. The file content should match what is displayed in the Terminal window from step 6.
Actual behavior: The file is truncated in Brackets, as if Brackets is pulling an older copy from an internal cache. Quitting and restarting Brackets makes no difference, nor does Debug -> Reload Without Extensions. Sometimes, making changes on the local hard drive prompts Brackets to refresh its view of the file, but not always. I have not yet found a reliable workaround.
Versions
Brackets: Release 1.11 build 1.11.0-17524 (release 86b5e2d4e)
Host OS: MacOS X 10.11.6
Dropbox: v38.4.27

@larrykollar We will look into this.
@navch @boopeshmahendran  Will either of you be able to look at this issue?

@nethip Sure I am taking this up.

@larrykollar Thanks for reporting this issue. We are trying to reproduce this issue on our side.

Hi @larrykollar,
We tried reproducing the issue at our end and are not able to reproduce it. The changes made remotely to the files are reflected in brackets as well.
Can you try opening the same set of file in another code editor and check whether the files appears to be updated there or not ?

Yes, they are. I used cat at the shell prompt and opened it with Vim.
Maybe leave Brackets open (on another file) while editing the file remotely?


There is no pull request in your second link

I'm getting this message from the evaluator saying that -  there is no pull request in your second link, the link should lead to a GitHub page that says, “Update the game over message” and have a purple button labeled “Merged” under it.

Hi @Vaibhavghugretkar
You need to complete the github training as part of your technical onboarding. Re-visit the technical onboarding instructions and Complete the github training. At the end, Complete the exercises and you need to submit a link that shows you made your first pull request merged, and that will be purple..