java.lang.IndexOutOfBoundsExceptio error on EmptyByteBuf

I am having a strange behavior that happens from nowhere.
The message below is accompanied by high use of memory;
When the error starts, the memory use starts to become higher and then, when arriving in 90% of memory existent, the system shuts down.
I am using Kafka 1.0.0 and Flink 1.6.1 together with Scala.
The only database that I communicate with is Mongo.
My version of ReactiveMongo is 0.16.0.
I do not use Netty library, just the one that comes together with ReactiveMongo.
I have a custom Failover strategy to connect with mongo.
I have this error from a long time and I do not know more what to do, I wish someone could help me to find whether is a Bug or something non-obvious to put on the connection.
[ERROR] [05/02/2019 09:30:03.048] [reactivemongo-akka.actor.default-dispatcher-3] [akka://reactivemongo/user/Connection-36] null java.lang.IndexOutOfBoundsException at reactivemongo.io.netty.buffer.EmptyByteBuf.readIntLE(EmptyByteBuf.java:586) at reactivemongo.core.netty.ChannelBufferReadableBuffer.readInt(ChannelBufferReadableBuffer.scala:41) at reactivemongo.bson.buffer.DefaultBufferHandler$BSONDocumentBufferHandler$.read(DefaultBufferHandler.scala:87) at reactivemongo.bson.buffer.DefaultBufferHandler$$anonfun$readDocument$1.apply(DefaultBufferHandler.scala:290) at reactivemongo.bson.buffer.DefaultBufferHandler$$anonfun$readDocument$1.apply(DefaultBufferHandler.scala:290 at scala.util.Try$.apply(Try.scala:192) at reactivemongo.bson.buffer.DefaultBufferHandler$.readDocument(DefaultBufferHandler.scala:290) at reactivemongo.api.BSONSerializationPack$.readFromBuffer(BSONSerializationPack.scala:40 at reactivemongo.api.BSONSerializationPack$.readFromBuffer(BSONSerializationPack.scala:13) at reactivemongo.api.SerializationPack$class.readAndDeserialize(SerializationPack.scala:36) at reactivemongo.api.BSONSerializationPack$.readAndDeserialize(BSONSerializationPack.scala:13) at reactivemongo.api.BSONSerializationPack$.readAndDeserialize(BSONSerializationPack.scala:55) at reactivemongo.core.actors.MongoDBSystem$class.reactivemongo$core$actors$MongoDBSystem$$onIsMaster(MongoDBSystem.scala:905) at reactivemongo.core.actors.MongoDBSystem$$anonfun$2.applyOrElse(MongoDBSystem.scala:6 at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170 at akka.actor.Actor$class.aroundReceive(Actor.scala:502) at reactivemongo.core.actors.StandardDBSystem.aroundReceive(MongoDBSystem.scala:1525) at akka.actor.ActorCell.receiveMessage(ActorCell.scala:526) at akka.actor.ActorCell.invoke(ActorCell.scala:495) at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257) at akka.dispatch.Mailbox.run(Mailbox.scala:224) at akka.dispatch.Mailbox.exec(Mailbox.scala:234) at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Thanks a lot! :-)

Hi,
This issue tracker is for confirmed/actionable issue. Please use the MailingList to ask question.
BTW without information to reproduce locally the issue (with all the versions, including those of the services), it's hard to have a specific answer.


Implement methods for update_call actions

Docs: https://developer.nexmo.com/api/voice#modify-an-existing-call
The endpoint for modifying an existing call is currently implemented as #update_call.
The required action parameter can be hangup, mute, unmute, earmuff, unearmuff, or transfer.
Methods corresponding to these values would be better. For example: client.hangup_call(id) instead of client.update_call(id, action: 'hangup'). Or when namespaces are implemented it would be just client.calls.hangup(id).

In lieu of the individual issues I created, I've added this issue to the Client Library Compliance project.
@timcraft please can you move the issue to the appropriate column as this task progresses so I can keep track.

I've changed my mind. Given that the library already supports all the updates we require, I'll consider it compliant and remove it from the project. I'll leave this issue open to track adding individual methods for the different actions.

I've added individual methods for the individual update actions in v5.


Remove legacy "ingress" component from Istio installer

This PR removes legacy "ingress" component from Istio installer. It focuses on the "ingress" component only, not the complete removal of Kubernetes Ingress resource support.
Specifically:

This PR removes "Ingress" component only and corresponding flags (i.e. "ingress.enabled"), branches, etc.
It does NOT remove "global.k8sIngress.*" flags.
"global.k8sIngress.gatewayName" now defaults to "ingressgateway" (i.e. the default gateway, not "ingress").
This PR does not remove "Ingress" resource templates of optional components – they create generic "Ingress" resources and do not depend on/require "Ingress" component.

As demonstrated in the Istio.io "Example" (https://github.com/istio/istio.io/pull/3498) K8s Ingress resource support is natively handled by a "standard" gateway (e.g. istio-ingressgateway installed by default) and can be optionally enabled/configured via the "global.k8sIngress.*" flags. 'Ingress' component is not a requirement for K8s Ingress support and only adds up to the confusion.
Complete removal of Kubernetes Ingress resource support is intentionally left out of the scope of this PR. If necessary this can be done separately when the consensus is reached.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: philrud
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: ostromart
If they are not already assigned, you can assign the PR to them by writing /assign @ostromart in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @philrud. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/assign @costinm

/ok-to-test

@philrud: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-simpleTests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@philrud: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-simpleTests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@philrud: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-simpleTests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-mixer-no_auth.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-mixer-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@philrud: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-simpleTests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-mixer-no_auth.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-mixer-no_auth

prow/e2e-bookInfoTests-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@philrud: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-simpleTests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-mixer-no_auth.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-mixer-no_auth

prow/e2e-bookInfoTests-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/e2e-dashboard.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-dashboard

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@philrud: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-simpleTests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-mixer-no_auth.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-mixer-no_auth

prow/e2e-bookInfoTests-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/e2e-dashboard.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-dashboard

prow/e2e_pilotv2_auth_sds.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio_auth_sds_e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@philrud: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-mixer-no_auth.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-mixer-no_auth

prow/e2e-bookInfoTests-v1alpha3.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test e2e-bookInfoTests-envoyv2-v1alpha3

prow/e2e_pilotv2_auth_sds.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio_auth_sds_e2e

prow/istio-integ-k8s-tests.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@philrud thank you

@philrud: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-integ-k8s-tests

/test istio-pilot-multicluster-e2e

@philrud: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-pilot-multicluster-e2e

@philrud: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-multicluster-e2e.sh
d2f228031d923d4c4ec1fc6313d1d4e6d8dcf729
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/assign @sdake

/assign @linsun

@philrud: GitHub didn't allow me to assign the following users: linsun.
Note that only istio members and repo collaborators can be assigned.
For more information please see the contributor guide

In response to this:

/assign @linsun

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/assign @linsun

@philrud: GitHub didn't allow me to assign the following users: linsun.
Note that only istio members and repo collaborators can be assigned.
For more information please see the contributor guide

In response to this:

/assign @linsun

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

cannot assign @linsun in some reason
@linsun could please also take a look when you have chance? thanks!

e2e-pilot-cloudfoundry-v1alpha3-v2 failure not related:
Started local etcd and apiserver!
sudo apt update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
make: *** [test/local/cloudfoundry/e2e_pilotv2] Error 100
Exited with code 2

The e2e-pilot-noauth-v1alpha3-v2 failure I've seen on several other PRs:
TestIngressGateway503DuringRuleChange - pilot
Failed
gateway "istio-ingressgateway" created
destinationrule "destination-rule-c" created
virtualservice "gateway-bound-route" created
destinationrule "destination-rule-c" configured
virtualservice "gateway-bound-route" configured
destinationrule "destination-rule-c" configured
virtualservice "gateway-bound-route" deleted
destinationrule "destination-rule-c" deleted
gateway "istio-ingressgateway" deleted
ingressgateway_test.go:258: Got non 200 status code while changing rules: map[200:499 503:1]

@duderino this ```
Started local etcd and apiserver!
sudo apt update
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
make: *** [test/local/cloudfoundry/e2e_pilotv2] Error 100
Exited with code 2

Cheers
-steve

thanks Steve, appreciate your help

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: costinm, philrud
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [costinm]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm I agree with your assumptions highlighted in the description.


feat:Add the ability to record and report on key remappings.

Codecov Report

Merging #34 (f8a5312) into main (befa799) will increase coverage by 0.01%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #34      +/-   ##
==========================================
+ Coverage   99.22%   99.24%   +0.01%
==========================================
  Files          23       24       +1
  Lines        2453     2504      +51
==========================================
+ Hits         2434     2485      +51
  Misses         14       14
  Partials        5        5

Flag
Coverage Δ

unittests
99.24% <100.00%> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

internal/print/print.go
100.00% <100.00%> (ø)

pkg/debug/collect.go
100.00% <100.00%> (ø)

unmarshal.go
100.00% <100.00%> (ø)

unmarshalvalue.go
100.00% <100.00%> (ø)

value.go
100.00% <100.00%> (ø)


fixed a regression caused by #132

Pull Request Test Coverage Report for Build 953014775

12 of 12 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 92.499%

Totals

Change from base Build 952481024:
0.1%

Covered Lines:
1714

Relevant Lines:
1853

💛  - Coveralls

Pull Request Test Coverage Report for Build 953014775
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

12 of 12 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 92.499%

Totals

Change from base Build 952481024:
0.1%

Covered Lines:
1714

Relevant Lines:
1853

💛  - Coveralls


⚠ Bofrost.lu has degraded performance

In a7d4cfe, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1298 ms

Resolved: Bofrost.lu performance has improved in 935ccec after 9 minutes.


Matching multiple fields in json powered forms

Hello,
I'm submitting a ...
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[x] support request

Angular version: 6.0.x

What is the aim?
We need to implement a set of json powered forms using ngx-formly. Therefore we need the ability to implement validators over multiple fields (like the Matching Two Fields example). Since the given features do not support that (please correct me, if I'm wrong), we need to find a solution.
Our approach is ...
to declare those validators in ngModule (just like other validators) and reference them in json. Therefore I guess we would need a validator function that takes the control and the model as parameters.
What do you think about the problem and our approach?
Please let us know if you need more information.
Thank you in advance and best regards,
Sören

Here is a example on how match multi with multi inputs. (Probably other approaches but this is one.)
https://stackblitz.com/edit/angular-qbygth?file=src%2Fapp%2Fapp.module.ts

this is a bug looks like you need to refresh the validation if you change a or b after.

see my solution https://github.com/formly-js/ngx-formly/issues/966#issuecomment-392764308

@aitboudad  Thanks
@SpindlerS  Let me know if you need any help combining what I did with what Aitboudad did.

@thorgod @aitboudad Thanks for your answers!
I will check your solution as soon as possible and give a response.


Bot published in Azure App Service don't work, locally with emulator it's fine

Describe the bug
I've been working with bot framework composer since a year and a half ago. I have a chatbot published in Azure since october 2020 that was created with composer 1.2 and since june of this year we started to develop a totally new version of our chatbot in Composer 2.0. Now we are working with Bot Composer 2.1.1 and everything was fine until we published the chatbot in azure. we tried with existing components and new components, in my corporate subscription and in my personal subscription and the result is the same: the chatbot works fine locally but after published in azure don't work in webchat either in directline.
For example the greeting message have two messages, but in webchat just show one, just the first one (image 1, 2 and 3); locally it uses Luis and QnA fine but in webchat or directline fails, as I describe in images 4,5,6,7.
Version
Version:  2.1.1
Electron: 8.2.4
Chrome: 80.0.3987.165
NodeJS: 12.13.0
V8: 8.0.426.27-electron.0
Browser

[ ] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ X] Edge

OS

[ ] macOS
[ X] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Create a Bot in Composer 2.1.1'...'
Deploy bot in Azure '....'
Test the bot locally (works fine) '....'
Test the bot in Webchat (error, don't work)

Screenshots
Image 1 Greeting Dialog Design

Image 2 Greeting Test In Emulator Locally

Image 3 Greeting Test In Webchat

Image 4 QnA Test Emulator Locally

Image 5 QnA Test In Webchat

Image 6 Luis Test Emulator Locally

Image 7 Luis Test In Webchat

thanks for your help
Samuel R.

Hi ,
I have encountered similar issue , when publishing the sample weather bot .
locally it works but after publishing it doesnt respond.
Regards
Deepak

Hi @samuelrc-test ,
Can you please go to the "Channels" blade of your published bot in Azure, and go to the Web Chat channel and see if there are any network errors that you can look at?
It seems very strange that even for the greeting you are only getting one out of the two responses, when it looks like all they do is just send some text back.

@samuelrc-test If you use Emulator and use the published/public endpoint in Azure instead of localhost (as well as the appropriate appid/password); does that behave the same? Was there any issues with publishing? You have re-published and it still persists?

Hello @dmvtech in the emulator using the published endpoint with the appropiate appid and password works fine!!! look the image. Any problem publishing? Yes, after create de resources I saw a few errors with luis app and endpoint of authoring, but finally I resolved them and I did 3 correct deployments without errors. yes, I have republished 3 times and still getting the same error

Look that the greeting it's correct but in webchat, fails
thanks for your help

Good morning: I think that the problem is between the version 2.x of composer and the last version of Azure bot component, it was named bot channel registration. yesterday I publish another chatbot, with main locale in es-mx, it published fine, but if I run the bot local or in emulator to the app id in Azure works fine but when I try by azure webchat, the bot greeting in english, ignoring de main locale "es-mx". I don't know if it will be a new version of composer or the Azure Bot service that fix this errors. by now I can't publish new chatbots because all fail.

Hello @samuelrc-test ,
I'm having trouble understanding what errors you are having now.
It sounds like:

You can publish the bot with locale of es-mx and it works
You can talk to the bot locally and remotely (using the app id + password) via the Emulator and it works
You can talk to the bot via the Azure portal, but the bot responds in English

Is all this information correct? If so, what do you mean by "I can't publish new chatbots because all fail?" Are you seeing errors in Composer during the publish? Or are you just talking about how the published bot is responding in English instead of the desired locale of es-mx?

Thanks for your response @tonyanziano. It's correct your understanding, both chatbots of this thread deploy correctly in azure, the problem is when I try to connect them through webchat, directline or MS teams, in all this scenarios both chatbots fail. The only one scenario where chatbots don't fail is where I connect to the chatbots from emulator with the appId and the password. When I say that  "I can't publish new chatbots because all fail?" I'm meaning that the fact that when I publish a chatbot I can't use it from any channel because it fails. The first one chatbot don't show all messages, don't use Luis and Qna and the second responds in a wrong locale. no one of this issues showed in the past with earlier versions of Composer and the earlier versions of Channel bot registration. In the past versions the chatbots didn't fail.

I see, so there isn't actually anything wrong with the publishing process, it's more the fact that the published bots aren't working properly when you try to contact them.
I do find it very odd that you can connect to the published bots via Emulator, but you cannot talk to them using Teams or Web Chat.
Can you try changing your language / region settings in Azure to use the correct locale and then try talking to the bot using Web Chat?

I've changed the locale and the language in azure portal and even in the browser, everything is in spanish and the test fails again, the bot just answer in english

I think I found the problem!!! In this post I am talking about two chatbots, the first one have two messages in the greeting but just show the first one and the second chatbot speak in english even I've created it in spanish. ok it seems that the problem is the same, the default language and the locale. In the emulator and in local environment I can choose the locale and the chatbot speaks good but in webchat and the DirectLine channel I can't do that. Even if I change the azure language and browser language the issue still happen. So, the question is: how can I configure the language and the locale of my chatbot for always answer in spanish??

Hi @samuelrc-test ,
That's what I was thinking as well -- that the outgoing locale is the problem.
When communicating with your bot via Direct Line (raw HTTP requests), you can specify the locale in the body of the activity:
POST https://directline.botframework.com/v3/directline/conversations/abc123/activities
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0
Content-Type: application/json

{
    "locale": "en-EN",
    "type": "message",
    "from": {
        "id": "user1"
    },
    "text": "hello"
}

If you inspect any outgoing message in Emulator, you will see that it sends the locale that you specify in the settings:

When rendering Web Chat on a custom website or web app, you can specify locale via a prop to the <ReactWebChat /> component or as an argument to the renderWebChat() method.
===
For testing the bot in the Azure portal, my understanding is that Web Chat should take the locale from your Azure settings and use it to communicate with the bot, but it seems like that is not working in your case.
@compulim maybe you can add some more insight on that.


How to calculate the execution time of an async function in JavaScript?

I'm sorry to bother you here. I've been following the question you asked on Stack Overflow in 2017: "How to calculate the execution time of an async function in JavaScript?" If you add timestamps before and after an asynchronous function, the measured time will definitely be inaccurate because it includes the execution time of other tasks in the microtask queue. May I ask if this issue has been resolved? I'm working in a browser environment rather than a Node.js environment. I would be extremely grateful if you could provide an answer. Thank you!

Hi,
Unfortunately, there's no way around that.
Let's say that the asynchronous logic is reading a file. A syscall is made to do that, and the OS is sending a "done" event back to Node.js once the file has been read. When Node.js receives that "done" event, it queues it. Otherwise, it would need to interrupt whatever code is currently running, which it would obviously never do. Therefore, by the time the "done" event is processed, other unrelated logic has been running.
So, there's no way to measure async tasks completely accurately with the Node.js event loop. The best you can do is to try to minimize the other async tasks currently ongoing, for benchmarking purpose.


fix line endings issues on Windows

Why
Currently, on the Windows, IDEs and ESLint want to reformat EOL characters across all the repository files. This is due to OS differences in handling files.

How
To fix this I have setup:

.gitattributes file with basic configuration according to - https://docs.github.com/en/github/using-git/configuring-git-to-handle-line-endings#per-repository-settings
.editorconfig file, unfortunately it was also required, .gitattributes was not enough to get rid of the warnings - RN uses the same approach in theirs repository - https://github.com/facebook/react-native/blob/master/.editorconfig . You can read amore about .editorconfig  on the official website - https://editorconfig.org/.

To ensure backward compatibility and to remove the need to reformat all the repository files I have stick to LF EOL which is a default for macOS and other Unix systems. This should not cause any problem on Win machines.
Test Plan
Tested locally on my Windows machine.
Preview after changes

@ide would you consider this to be the right way to deal with EOL on Windows?

Looks fine to me.


Proxy not handling failure to forward correctly

When forwarding aggregates downstream that result in a non-200 it seems to be swallowing the issue and not moving the aggregate into the failure store for retry.

Additionally, it's sending a 200 response to the sender, which hides the fact that forwarding failed.
Upon inspection of the proxy app logs, the following can be observed:
WARN [2023-04-21T23:40:23.061Z] [AggregateForwarder - forwardNext 3] stroom.proxy.repo.AggregateForwarder - Failed to send to feed XXX-V1.0 (Stroom Status 999 - Unknown error [Feed: XXX-V1.0, Compression: ZIP] - Server Error) 2023-04-22T09:40:27.271483843+10:00

Stroom logs the following:
WARN [2023-04-21T23:40:23.019Z] [dw-4026 - POST /stroom/noauth/datafeed] stroom.receive.common.StroomStreamException - Sending error response 500 - Stroom Status 999 - Unknown error [Feed: XXX-V1.0, Compression: ZIP] - [RemoteHost: <IP_ADDRESS>, RemoteAddress: <IP_ADDRESS>, ReceivedPath: stroom-proxy-1] Stroom Status 999 - Unknown error [Feed: XXX-V1.0, Compression: ZIP] - File Name is out of order 002.CSV


JS client-side invoke not being received on server hub

Describe the bug
I am using the Microsoft.Azure.SignalR.AspNet NuGet Package in two .NET Framework 4.7.2 applications. One is an MVC website where the client side JS runs, and the other is a Web API which contains the C# code for the hub. The website is hosted on a different domain to the Web API.
The issue I am having is that when a client attempts to invoke a server hub method, nothing is happening. The breakpoint on the method in the hub code is not hit.
Both the client and server initialise SignalR using app.MapAzureSignalR("Testing");, with my connection string stored in the web config under Azure:SignalR:ConnectionString.
In the JS code I am connecting to the hub using the following code:
var connection = $.hubConnection();
connection.logging = true;
connection.url = 'https://localhost:44311/signalr'; // the API server's domain
connection.disconnected(function() {
    connection.start();
});

var hubProxy = connection.createHubProxy('myHub');

// Listener for when hub calls context.Clients.All.testBroadcast("Hello from the server!"); This works as expected
hubProxy.on('testBroadcast', function(message){
    console.log('Received message: ' + message);
});

connection.start().done(function() {
    console.log('Connected!'); // This appears in the console
    testInvoke(hubProxy);
});

function testInvoke(proxy) {
    proxy.invoke('testInvoke', 'Testing123').done(function() {
        console.log('Test invoke successful!');  // This does not appear in the console. However, the connection logs that the invoke call is made
    });
}

This is the code I have for the Hub on the API:
public class MyHub : Hub
{
    private static IHubContext context;
    public MyHub(IHubContext context)
    {
        MyHub.context = context;
    }

    public void TestBroadcast()
    {
        context.Clients.All.testBroadcast("Hello from the server!"); // Works perfectly
    }

    public void TestInvoke(string message)
    {
        // This should be invoked but the breakpoint never gets hit
        context.Clients.All.testBroadcast($"Your message was {message}");
    }
}

The connection to the hub works perfectly and the client can receive messages from the server when setting up event listeners on the hub proxy.
I am using Google Chrome to test and I cannot see any activity in the network tab in Developer Tools when the invoke call is made.
One thing I have noticed is that after connection.start() has finished, hubProxy.connection.url is set to the Azure SignalR service's url instead of https://localhost:44311/signalr which it is set to when the proxy is first created. However, I think this is what is expected as messages from the server can still be received by the client.
Unfortunately I am not in a position to be able to switch to using .NET Core as a large codebase would need to be converted.
Am I missing a trick here? Thanks in advance for any help.
Further technical details

I am using Microsoft.Azure.SignalR.AspNet version 1.5.1 on both client and server
I am using .NET Framework 4.7.2
Client SignalR jQuery script is jquery.signalR-2.4.1.js
jQuery version being used is 3.3.1

Sorry for the late response, looks like this issue is completed missed. Is this still an issue for you?

Hi @vicancy,
That's okay, this was a while ago now so I can't remember too much about the process. It seems that I stopped using a static hub context as that was preventing the clients from receiving broadcasted messages. In my now working code, it passes in the context to the method that calls context.Clients.All.someMethod(...).
I also no longer use JavaScript to invoke the TestInvoke method, we now call it directly from C# code.
I think we had some problems after that but it was resolved by talking to Microsoft directly and they investigated the network traffic for us. Unfortunately I can't give you the details of that as it wasn't myself who communicated with them.
This might still be a problem, but as described we now have a way around it. Thanks

Thanks for the details. Please feel free to reopen the issue if you meet that again.


develop visualizations_and_metrics.py

Simple implementation is already made (in Notion)

Must contain method that save:

[ ] Graphs
[ ] Images
[ ] Videos


Can't watch replay of custom maps

Hello there. I am working with SMAC, a package that has pysc2 as a dependency. It introduces a few custom maps specialized in multi-agent RL. When SMAC users try to render a replay, an error occurs, which is described in more detail here https://github.com/oxwhirl/smac/issues/22#issuecomment-593670601. @nwayt001 has found a solution, which basically consists in ignoring the variable clip inside pysc2.lib.features, whose value is never set
https://github.com/deepmind/pysc2/blob/05b28ef0d85aa5eef811bc49ff4c0cbe496c0adb/pysc2/lib/features.py#L302-L305
I have implemented that in a fork of my own, but I don't really know the implications of this small change I have made. If someone could take a quick look at it and tell me if this could benefit others, I'd gladly start a PR.

Instead of removing if self.clip, set it to something. Take a loook at MinimapFeatures.new for an example of hard coding it to false.


Form validation does not work

Next button should only be visible once all forms on the slide are valid, currently the button is shown no matter what. Investigate and fix.

Validation seems to work, however I noticed that dropdowns can be left empty even if they are marked as required (created separate issue). Also autocomplete fields only take two character-long values if no source is provided (edge-case, wontfix).


Remove println in requireDependencies

I think this will not emit the message when loading up the build.
If someone is interested in this message, the right way to implement it is in Keys.onLoadMessage with a way of disabling it with a special setting crossProjectDisableLoadMessage. This would mean creating an sbt plugin (if there's not already one).
Fix #52.

I'm just testing the waters with this change. It's not really a solution, but I don't have time to implement the right solution. I do say how to do it in the description of the PR, though.
If this can be merged as is, I would appreciate a new release.

Just removing that line without removing requireDependencies is creating dead code in the repo. That's definitely not mergeable as is.
I think a better solution would be:

Remove the call to requireDependencies in aggregate: we don't care if aggregates don't match, the ones that match will aggregate and the others won't, period. That leaves .dependsOn() as the only call site of requireDependencies.
Remove the hasDiscard part and its computation from requireDependencies, and only print the message conditionally on hasMissing: we don't care if something we depend on has more platforms than this and they are discarded. This is a valid scenario and it should not display any info/warn/whatever.
Turn the last case (hasMissing is true) into throwing a MessageOnlyException, rather than println. This case is truly erroneous and a build will malfunction in that case. It means that a cross-project A depends on another one that does not support all the platforms of A.

@sjrd Thank you for elaborating on a way to move forward here. I don't have time to dive into the code, but I think that your actionable items will help in our next Scala Center spree at Lambda World. I hope someone gets this to the finish line.
Would you mind labeling the issue #52 as spree?

Would you mind labeling the issue #52 as spree?

I don't actually have the rights to do that. @densh needs to do it.

@jvican #52 is marked with spree label now.
@sjrd Just added you as a collaborator.

Superseded by #66.


Add extendable controller & configuration for setup

I think someone with better spring boot knowledge can shape
a better interface to create the Inngest client + CommHandler but
this is already better than manually creating a singleton and
having everything in a random controller.
Note: It might be better to not have a second adapter package and
instead have these spring boot helpers as a feature variant. But
I'll see how it goes with this PR first: https://github.com/inngest/inngest-kt/pull/27
I'm also adding a way to build the Inngest client configuration
possibly through a Builder pattern targeted to the specific
environment that the user wants to use.
The current interface (which needs better code documentation) is that a consumer application would subclass the controller and configuration as follows:
ExampleController.java
@RestController
@RequestMapping(value = "/api/inngest")
public class ExampleController extends InngestController {
}

ExampleConfiguration.java
@Configuration
public class ExampleConfiguration extends InngestConfiguration {

    @Override
    public HashMap<String, InngestFunction> functions() {
        HashMap<String, InngestFunction> functions = new HashMap<>();
        ...
        return functions;
    }

    @Override
    public Inngest inngestClient() {
        return new Inngest("spring_example");
    }
}

this is the latest code, and kotlin is not happy about something, but can't tell what it is.
https://github.com/inngest/inngest-kt/pull/27/files#diff-a53270cbe78c3842c55b0a20286bd726f41e9e697070455fb5f75c0fb73a4104R15

oh it was the Kotlin paratrooped it. 😏

yeah, I just figured it out. annoying


[docs] Improvements for Radio Group Rating Docs

Added getLabelText
Added per Icon Colors
I noticed that the labels were prepared but not used. And for a project i needed the icons to be colored. It was not as straight forward as i thought so i decided to include it in the docs.

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

Can somebody have a look at the failed test? I changed the color of the icons so the fail is expected, but i don't know how to change the test.


Issue decoding h5 files

Hello, I am building a tool to import cell tracking files, process them in Python and visualize them in Blender. I am having some issues decoding the h5 files exported by btrack.
Following the file structure from dataio.py,  I understand that the tracks 'map' array is a (K x 2) array of indexes to the 'tracks' array, and that using these indices in the 'tracks' array allows us to extract the relevant indices for the 'coords' array.
Where I am a bit lost is why there are negative integers included in the tracks array, and how they relate to the size of the dummy dataset?
For every dataset queried:
abs(np.min(tracks)) == dummies.shape[0]
For example, a sample slice of 'tracks' using 'map' indices
looks like this:
[ 1545  2335  3635  4695  5727  6774  7787  8851  9906 10983 -1252 12986 14045 15066 16124 17145 18194 19229 20264 21266 22015 -1253 24251 25261 26018 27052 28443 29478 30546 31581 32653 33688 -1254 35627 36369 37463 38801 39846 40875 41946 42986 44003]
What is strange is how the pattern of negative values is such that they are decreasing by 1 each time, until they reach a minimum value equal to the number of rows in the 'dummies' array.
Using these indices to slice the 'coords' array leads to discontinuities of the otherwise temporally continuous slices of the dataset.
For example, here is the corresponding slice from 'coords' from the tracks indices above:
[[  1.       691.25354  305.169     56.560562   0.      ]
 [  2.       690.2381   306.49524   50.862858   0.      ]
 [  3.       679.69147  315.4468    53.95213    0.      ]
 [  4.       671.06665  317.68332   55.6025     0.      ]
 [  5.       658.7258   314.58566   60.326637   0.      ]
 [  6.       654.0179   307.42856   60.498215   0.      ]
 [  7.       657.6908   306.5987    59.42171    0.      ]
 [  8.       656.00934  306.84113   60.632942   0.      ]
 [  9.       656.31055  311.1738    60.31111    0.      ]
 [ 10.       656.6334   308.63986   60.369453   0.      ]
 [237.       613.4513   564.4992    57.711514   0.      ]
 [ 12.       658.06006  307.46738   58.93825    0.      ]
 [ 13.       663.02563  307.453     59.71154    0.      ]
 [ 14.       662.3555   308.1111    59.263332   0.      ]
 [ 15.       661.60986  308.29596   59.485428   0.      ]
 [ 16.       661.6381   307.41904   59.175713   0.      ]
 [ 17.       663.1128   309.82706   59.609776   0.      ]
 [ 18.       658.50543  306.27716   60.4125     0.      ]
 [ 19.       655.3111   304.77777   58.956665   0.      ]
 [ 20.       655.0373   306.6087    59.807144   0.      ]
 [ 21.       654.80743  306.40994   60.79286    0.      ]
 [237.       402.58563  561.1381    57.830387   0.      ]
 [ 23.       655.58093  307.2614    59.981327   0.      ]
 [ 24.       662.2381   307.25714   60.95       0.      ]
 [ 25.       654.6695   309.15967   56.97815    0.      ]
 [ 26.       655.3333   310.1839    59.918964   0.      ]
 [ 27.       661.25793  312.62442   59.680317   0.      ]
 [ 28.       659.13513  313.27927   60.483784   0.      ]
 [ 29.       657.9659   310.66476   60.061363   0.      ]
 [ 30.       657.5599   307.24295   59.415318   0.      ]
 [ 31.       658.72034  307.2523    59.174316   0.      ]
 [ 32.       658.81067  305.4852    60.181065   0.      ]
 [237.       107.055176 557.10345   60.258415   0.      ]
 [ 34.       657.86707  306.13925   60.942722   0.      ]
 [ 35.       657.526    305.88962   60.46461    0.      ]
 [ 36.       657.0847   307.0904    60.579662   0.      ]
 [ 37.       658.86957  305.21738   60.6        0.      ]
 [ 38.       658.6667   307.30362   58.786633   0.      ]
 [ 39.       658.77563  307.19232   59.037018   0.      ]
 [ 40.       659.3985   304.21054   59.661655   0.      ]
 [ 41.       658.49854  306.18552   58.82       0.      ]
 [ 42.       659.33496  306.68216   57.882397   0.      ]]

Thanks in advance for any advice you can provide,

Hi @tsloan1377 - this sounds really exciting - I'd be really keen to see the output when you're done!
Re: file format - the key issue here is that the negative indices signal that these are dummies (i.e. inserted during tracking due to a missing observation etc.) - therefore they do not exist in the coords array. These numbers are indices into the tracks\obj_type_{}\dummies array, so an index of -1252 means to use the dummy from row 1251. You can see that here:
https://github.com/quantumjot/BayesianTracker/blob/f17a8701f6190b49d86faf834c3512c6d3240ae0/btrack/dataio.py#L493-L496
In case you want a simpler way to read the files, you can also use the HDF5FileHandler directly. It provides some convenience functions to enable users to easily read the files again, e.g.:
from btrack.dataio import HDF5FileHandler

with HDF5FileHandler('/path/to/file.h5', 'r') as h:
    tracks = h.tracks

# convert the first track to a numpy array
track_as_numpy_array = tracks[0].to_array()

# or convert to a Pandas compatible dictionary
track_as_dict = tracks[0].to_dict()

Hope that helps!

Great, thanks @quantumjot that fixed it perfectly.
I had suspected that's what the negative values encoded, but the "abs() - 1" was the missing element from my previous attempts.

I’ve reopened this issue as I have a followup question for decoding the h5 files when additional metrics are included, in this case regionprops.
I’m using Python with h5py to unpack the h5 files produced by Bayesian Tracker.
When the RegionProps are included with the h5 files, they can be found from the hierarchy in
# Where f is the h5py file, and prop is the regionprop of interest:
f = h5py.File(path)
f['objects']['obj_type_1']['properties'][prop]

This returns an array with the same length as the coordinates, such that:
    prop = 'area' # Or any other included regionprop
    coords = f['objects']['obj_type_1']['coords']
    props = f['objects']['obj_type_1']['properties'][prop]
    print(coords.shape[0] == props.shape[0] )

Evaluates as True.
I’m a bit confused about how to access these regioprops values, with respect to skipped values, ‘dummies’. I would like to create a 2d dataframe where each row is a cell at a timepoint, and includes its position and regionprops values.
From your previous answer, I’ve understood that the missed observation positions (inferred) are inserted as dummies, and the inserted values are contained in:
f['tracks']['obj_type_1']['dummies']
I am confused about when the regionprops are included and stored in the h5 file, whether they are inferred for the missing frames, or skipped. Do I understand well that since the length of the arrays for props and coords are the same, that there is no insertion of 'inferred' or 'dummy' values for the regionprops measurements?
I’ve included the code I built to extract the positions from the coordinates and the dummies below, to provide a bit of context for what I’m trying to do for regionprops as well.
# Creating a minimal code example for extracting tracking data from the h5 file:

# These are numpy arrays extracting from the h5 contents of the same name.
tmap = h5_data['tmap'] # f['tracks']['obj_type_1']['map']
coords = h5_data['coords'] # f['objects']['obj_type_1']['coords']
dummies = h5_data['dummies'] # f['tracks']['obj_type_1']['coords']
ttracks = h5_data['ttracks'] # f['tracks']['obj_type_1']['tracks']

coord_list = []
for i in range(tmap.shape[0]):

    this_vect = ttracks[tmap[i,0]:tmap[i,1]]
    assert len(this_vect) > 0, 'Zero length element of ttracks found.'

    if(len(this_vect) > min_pts):

        coord_slice = coords[this_vect,:]
        negs = this_vect[this_vect < 0]
        neg_ids = np.where(this_vect < 0)

        if len(negs) > 0:
            dummy_slice = dummies[abs(negs)-1,:]

            # Add the dummy slice to the coord_slice
            coord_slice[neg_ids,:] = dummy_slice

        coord_slice = np.c_[coord_slice, np.full(coord_slice.shape[0],i)] # Add index as column

    coord_list.append(coord_slice)

coord_array = np.vstack(coord_list)

h5_df = pd.DataFrame(data=coord_array,columns=['frame', 'x', 'y', 'z', '_', 'particle'])
h5_df.sort_values(['frame', 'particle'], ascending=[True, True], inplace=True)

I hope my question is clear, let me know if I can be more precise.
Thanks in advance,

Hi @tsloan1377 - the properties have the same arrangement as the objects, so there should be a 1:1 mapping between object and property. For dummy objects, there are no properties, since there is no associate measurement.  It's up to you how you want to deal with that (e.g. interpolation, using the last known value etc.)
You can also use this util function to build the table that you're interested in:
https://github.com/quantumjot/BayesianTracker/blob/ac397675a425bf4abe6d9c09fd65f80072bf4950/btrack/utils.py#L295-L324
It will take care of all of this, including adding interpolated values if you want them.

Thanks @quantumjot , that clears it up for me.


2nd attempt: flake8 --count --exit-zero --max-complexity=10

A signed replacement for pull request https://github.com/cloudviz/agentless-system-crawler/pull/58
Signed-off-by: Christian Clauss<EMAIL_ADDRESS>

[Current coverage][cc-pull] is 42.98%

No coverage report found for master at 76beb45.

Powered by Codecov. Last updated by [76beb45...ab8537d][cc-compare]
[cc-base-branch]: https://codecov.io/gh/cloudviz/agentless-system-crawler/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/cloudviz/agentless-system-crawler/compare/76beb4521dd3214f98ef5f2ed4216c8c0a51ac9e...ab8537da2fcc700753b30c66c9c68685917c4baf?src=pr
[cc-pull]: https://codecov.io/gh/cloudviz/agentless-system-crawler/pull/62?src=pr

yay. Can you put the same invocation into the dockerfile as well? Thanks!

Dockerfilee.test to be specific.


Editing an existing cohort page does not have filters on the left.

You'll notice the filters are missing.

merged to master


Fill html form select/options

And again hi :-)
If I have a xhtml template with a form that includes a select-tag and option-tag. I want to fill the options using templado. I can fill the value-attribute of an option-tag but how can I fill in the text to be displayed (the text between the option-tags)?
Example xhtml:
...
<form method="post">
    <label for="valueSelect">Values</label>
    <select name="valueSelect" id="valueSelect">
        <option property="Values" value=""></option>
    </select>
</form>
...

Is this case already coverd?
Best,
Tobi

Okay, found it in the code ^^


Getting error "Method does not override any method from its superclass" from generated output when using maps

Hey,
Thanks for creating this project!
I have a simple message definition with map types like so:
syntax = "proto3";

message ParticipantWrapper {
  map<string, Participant> participant = 1;
}

message Participant {
  uint32 id = 1;
  string name = 2;
}

When I compile it (using the Protobuf3.0-Swift2.0 branch), the generated output shows many errors with "Method does not override any method from its superclass". I don't think I've used any reserved keywords so it does not appear to be related to #34. Idea idea what the problem could be?

What version runtime library you have use?

I believe it's version 1.6 from the ProtoBuf3.0-Swift2.0 branch

This may be unrelated but I pulled the latest code and got compilation errors about overriding a superclass and the solution was to upgrade to the latest protobuf-swift protoc plugin.

hey, thanks for the info @albeebe, yeah I'm pretty sure i'm doing something wrong on my end since the latest travis build seems to be passing. Did you mean you updated the swift runtime or the compiler?
If you're talking about the runtime, which version worked for you?
I tried running it with a clean build in xcode with the latest runtime (2.4.1) and it showed these errors.

Yesterday I upgraded the runtime to the current code in the repo and I got compilation errors about overriding the superclass. It wasn't until later on in the day I upgraded to the latest version of the compiler that the errors went away. Right now I'm using the most up to date runtime and compiler and things are working.
Up until today I was using a copy of the runtime and compiler that I installed back in October.

@deepanchor I should note that I'm using the code from the master branch

hmm, interesting. Just to clarify, are you using syntax="proto3"?

no proto2 is what I'm using
On Wednesday, January 27, 2016, DeepAnchor<EMAIL_ADDRESS>wrote:

hmm, interesting. Just to clarify, are you using syntax="proto3"?
—
Reply to this email directly or view it on GitHub
https://github.com/alexeyxo/protobuf-swift/issues/109#issuecomment-175453706
.

I think you use compiler from "Proto3.0-Swift2.0" branch, but runtime library from master.
You should use compiler and library from "Proto3.0-Swift2.0" branch. Your example is working in my test project.

Ok, the problem is solved now. I think it had something to do with the cocoapods cache referring to the master branch instead of the Proto3.0-Swift2.0 branch, even though I had clearly installed the runtime from the Proto3.0-Swift2.0 branch. Very odd indeed, since I had tried clearing the cache and reloading the workspace several times.
What I ended up doing was just deleting everything related to cocoapods, clearing all cached pods as well as removing the Pods/ folder and just starting with a fresh pod install.
Thanks for all your help!


Expose the input type of named operations

For standard operations, you can use the GetSerialisedFields endpoint to get the input type of the operation. However for Named operations it is more difficult: you have to get the operation chain, extract the first operation, then look it up. It would be useful for the UI to have this information available to it in the named operation detail so the extra call wouldn't have to be made.
Something like if the first operation is:
GetElementsInRanges: {"input": "uk.gov.gchq.gaffer.commonutil.pair.Pair<uk.gov.gchq.gaffer.data.element.id.ElementId, uk.gov.gchq.gaffer.data.element.id.ElementId>"}
GetElements: {"input": "uk.gov.gchq.gaffer.data.element.id.ElementId"}
GetElementsWithinSet: {"input": "uk.gov.gchq.gaffer.data.element.id.EntityId"}
GetAdjacentIds: {"input": "uk.gov.gchq.gaffer.data.element.id.ElementId"}
GetElementsBetweenSets: {"input": "uk.gov.gchq.gaffer.data.element.id.EntityId", "inputB": "uk.gov.gchq.gaffer.data.element.id.EntityId"}

Work has been started on branch gh-1721-named-op-input-type, however I think we may want the input type information to be part of the NamedOperationDetail object.

Merged into develop.


New instance of PushManager can't restore connection when previous fail

New instance of PushManager can't restore connection when previous fail:

Create instance of PushManager
Send push notification (it is ok)
From "handleFailedConnection" stop it:
pushManager.shutdown(10000); returned
pushManager.shutdown(); is blocked.
Restore Internet connection
Create new  instance of PushManager
Send push notification
The same exception is happened.

Exception:
java.nio.channels.UnresolvedAddressException
    at sun.nio.ch.Net.checkAddress(Net.java:127)
    at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:644)
    at io.netty.channel.socket.nio.NioSocketChannel.doConnect(NioSocketChannel.java:193)
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.connect(AbstractNioChannel.java:199)
    at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1029)
    at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:496)
    at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:481)
    at io.netty.handler.ssl.SslHandler.connect(SslHandler.java:386)
    at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:496)
    at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:481)
    at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:47)
    at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:496)
    at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:481)
    at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:463)
    at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:849)
    at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:202)
    at io.netty.bootstrap.Bootstrap$2.run(Bootstrap.java:165)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:380)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:357)
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
    at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
    at java.lang.Thread.run(Thread.java:745)

We encounter this problem from time to time as well, the default value of 10 seconds TTL for negative DNS queries will result in this issue being visible for at least 10 seconds, even if the DNS outage only lastet for one query.
I think your delayed additional error messages are likely remnants of the 10 second outage then. Looks like pushy uses a ExecutorService (defaulting to single thread) to actually handle the failed connections, which results in pushy still spinning quickly; while your handler consumes the failed connection notifications more slowly. The errors will still be generated as quickly as possible but only processed/logged at one per second.
I guess the only thing that pushy could do, is to slow down when it encounters an UnresolvedAddressException; the connection will fail due to the cache for the next 10 seconds (or the configured value via system properties) anyway and there is little to gain by trying. Of course its debatable, if this behaviour should be part of pushy itself or the task of the calling application; which probably would benefit from a possibility to "slowdown" pushy reconnecting though.

slow down when it encounters an UnresolvedAddressException

Agreed; getting some kind of exponential backoff behavior for failed connections is high on our priority list right now.

It sounds like the only thing that's really going wrong here is that we're trying to reconnect to quickly and flooding the listener queue. Exponential back-off is happening in #169, so I'm going to go ahead and close this issue.


Fix broken headings in Markdown files

GitHub changed the way Markdown headings are parsed, so this change fixes it.
See bryant1410/readmesfix for more information.
Tackles bryant1410/readmesfix#1

Coverage increased (+0.3%) to 99.304% when pulling e74551b490f926eff2cd58283ab8f966e5705c7d on bryant1410:master into e09532617b05bb1064e58eccaedac17ff7495713 on vigetlabs:master.


[Zuul_Sync] Sync_201906200000_modified_by_theopenlab-ci

This file was changed by me, the envoy config is merged in [1], so we can now remove theopenlab/envoy load configuration.
and the job is still success in recent result [2], so, pls feel free to merge it.
[1] https://github.com/envoyproxy/envoy/blob/master/.zuul.yaml
[2] http://status.openlabtesting.org/builds?job_name=envoy-build-arm64


semi automatic update for /pkgs

Is your feature request related to a problem? Please describe.
I do not want to check manually whether my custom pkgs have updates.
Describe the solution you'd like
Add https://github.com/ryantm/nixpkgs-update to the configuration and maybe a litte subcommand to flk to have a simple interface to it (I plan to try it myself when I have some more time).

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

I just tried out nixpkgs-update and I think that I neither fully understand how to use it nor that it does exactly what we would need to.

This is a problem flakes could actually solve for us. We could do it right now, I just don't want to flood the inputs with a huge list of package sources, which is why I started that dicussion.
Although I guess, if it's only in the community branch, it wouldn't be horrible, if we have to.

thats actually a super cool idea.
A small down side would be that (as far as I understand it) it would only work with git repositories (i.e. not with binary releases).

IIRC, flakes now have a mercurial backend, as well as the ability to simply point to an https url with a tarball. So I think binary should be possible, you just have to handle the input differently.

this sounds better and better!


Proposal: detach file output format from output format

Use-case:
ruff is used on jenkins CI. Text output is usually read by user, but also collected and parsed JUnitXML log.
At current moment is no method to specify file output format different from stdout otput format.
Proposal:
add --output-file-format CLI option in addition to existing --output-file option

Hi This is a duplicate of https://github.com/astral-sh/ruff/issues/2388
I like the --output-file-format option.


Interoperability in the VCI

Display to VCI users useful information present in GCI curations.
Specifications captured here: https://docs.google.com/presentation/d/1erMmhF1MIMYHs4mpNcUh7ngXbxHIbDbGW6yshyFltlo/edit#slide=id.p
SP ticket: https://broadinstitute.atlassian.net/browse/CSP-113
Specified on 7/16/20
This ticket replaced https://github.com/ClinGen/clincoded/issues/2204

The VCI proxies have decided to archive the SP request for this ticket due to it's priority. Closing this for now.


HDDS-8505. ReplicationManager: Add configurable global replication limit

What changes were proposed in this pull request?
We should make it possible to configure a global replication limit, limiting the number of inflight containers pending creation. A larger cluster would be capable of having more inflight replication than a smaller cluster, so the limit should be a function of the number of datanodes on the cluster, and the limit of the number of commands which can be queued per datanode and some weighting factor.
For example, if each datanode can queue 20 replication commands, and there are 100 nodes in the cluster, then the natural limit is 20 * 100. However, that assumes that commands are queued evenly across all datanodes, which is unlikely. With a global limit we would prefer that all datanodes are not fully loaded with replication commands simultaneously, so we may want to impose a limit of half that number, with a factor of 0.5, eg 20 * 100 * 0.5 = 1k pending replications.
At one extreme this would result in all datanodes in the cluster having half their maximum tasks queued, but in practice, some DNs are likely to be at their limit while others have zero or less than half queued.
If the limits were perfectly defined, such that in a single heartbeat a datanode can complete all its queued work just at the end of the heartbeat interval, then reducing the number of queued commands by half would make the datanode busy for only half its heartbeat interval. As the datanodes will all heartbeat at different times, all the busy and non-work periods across all the datanodes would combine in a load profile that would show some datanodes are always idle, reducing the overall load on the cluster.
This PR introduces a default limit factor of 0.75, which can be disabled by setting hte factor to 0. Only inflight replications are throttled via this mechanism - delete containers are throttled by the per datanode limits introduced some time back.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8505
How was this patch tested?
New unit tests

We should add metrics to be able to track this behavior for each replication scenario separately.

Thanks @sodonnel for the patch, @swamirishi for the review.


fixing anchor links

Fixing the broken links, broken anchor and domain URLs reported by link checker
Fixes: https://github.com/prisma/docs/issues/4727

@jharrell Could you please also fix the other broken links and anchors reported in the build log?

@nilubava happy to. Should we merge this PR first and then get an updated build log?

@jharrell The log in the current build should actually display updated broken links. So you should be able to add a commit to this PR to fix the deployment guides links..

@nilubava @meletj things look good
https://vercel.com/prisma/docs/3w5xPmHnJXAe9DArpqTpZwVXohHg#L82
Let me know if this looks good to you and I'll merge

@nilubava @meletj things look good
https://vercel.com/prisma/docs/3w5xPmHnJXAe9DArpqTpZwVXohHg#L82
Let me know if this looks good to you and I'll merge

Looks great, thank Jon. Pls go ahead and merge.


crash exception from thaumcraft crafting manager

https://paste.ubuntu.com/p/C46bdVQ6G5/
lines 8187 and on a bit.

Should be realted to: https://github.com/Azanor/thaumcraft-beta/issues/1468
Downgrade forge to <IP_ADDRESS>66

i can't find a way to do that on mineos, maybe i need to update the webui, it only wants to give me the latest.

@wamc2017 now i get an operand stack overflow error on the server?

https://github.com/Azanor/thaumcraft-api/issues/49
result.


Add link to website in main menu

Okay, perhaps the app cannot do the job for a certain file. Or, maybe we are just bored. So now we want to go to the Commons website upload page. Well there in the main three bar menu there should be a link to that page. That link should simply launch a browser like Google Chrome that would take us there.

Not sure if that link should go to the commons main page, or the commas upload page. You guys decide. Also how it should be titled you guys decide also. But it should be there in the main menu because it's the granddaddy of this program you might say.

Not sure if that link should go to the commons main page, or the commas upload page. You guys decide. Also how it should be titled you guys decide also. But it should be there in the main menu because it's the granddaddy of this program you might say.

Maybe it should be called Website. Anyway there's no other way to get there, without at least three clicks, otherwise from within the app.

Maybe it should be called Website. Anyway there's no other way to get there, without at least three clicks, otherwise from within the app.

The link can be attached in the Commons Logo which appears after clicking the three-bar menu, and according to me, the link should be of Commons Main Page as it doesn't symbolize upload. Can I work over this issue?

Does the Wikipedia app has something like this? If yes, could you please post screenshots showing all steps to go from the app's main screen to the website?
Right now you can go to About, tap the earth icon, then on that website tap the Wikimedia Commons hyperlink.
@aakankshaa23 Please read https://github.com/commons-app/commons-app-documentation/blob/master/android/Volunteers-welcome!.md#developers especially the part about the "bug" label :-) Thanks!

Does the Wikipedia app has something like this?

I'm not sure. Other reporters perhaps can install it and see. My phone is off today.

Right now you can go to About, tap the earth icon, then on that website tap the Wikimedia Commons hyperlink.

Sounds rather hidden / obscure.
Like the mobile websites' highest menu level, important stuff is right there.

@nicolas-raoul we already have this feature in about option so we can close this issue now


Production/dev dependencies mixed

You have your dev dependencies mixed into your production dependencies, which stops me being able to install this via poetry, as I have a later version of pytest than this package requires.
I suggest moving these lines from your pyproject.toml
isort = "^5.10.1"
pytest = "^6.2.5"

under the heading [tool.poetry.dev-dependencies]
This will also save people shipping pytest and isort along with their production code :)
Thanks

Sure thing, here it is https://github.com/gb-libs/pydantic-geojson/pull/5

Good job @farridav , thank you.


Collaboration

Would you like to bring your project to the market??

If you're interested please contact me @<PHONE_NUMBER>3


.form-group has float and width 100%

Can someone please explain to me why we are using:
.form-group {
   float: left
   width: 100%
}

There is no requirement for this in how it is being used and it would need clearing? I think I vaguely remember this being mentioned a long time ago and cannot remember the reason why we have it. I would love a reminder as to why.

Hi Trevor,
The width is being set as there are a number of .form-control-width classes that define a percentage width for form elements.
For the percentage width to be calculated properly, I believe the parent element has to have 100% width.
It is cleared by the first line @extend %contain-floats;.
// Form group is used to wrap label and input pairs
.form-group {
  @extend %contain-floats;
  @include box-sizing(border-box);

  float: left;
  width: 100%;
  ..
}

A better solution would probably be to remove the width from here and to rely on the grid, so that each form element fills 100% with of the parent grid item (and that is then used to constrain the width of anything inside it).
I'll look into this later this week.

Hi Gemma.
I think in general the float and width is not required on .form-group. Therefore you don't need any clearing methods.
I see it only being needed for dates (.form-group-day, .form-group-month, .form-group-year) where the form groups sit side-by-side.
In this instance you would only need the clearing on the .form-date wrapper. Leaving the float and width only on the (.form-group-day, .form-group-month, .form-group-year) but not on the global .form-group.
I hope this makes sense. I look forward to seeing your solution :).

For what it's worth, I've seen that weird combination of float and 100% width on a lot of websites over the last few years. I never understood why so many devs are doing that, though. I always imagined there might be a bad but popular tutorial out there which tells people to do it for reason X.


Unable to setup RaptorX on Presto

Alluxio Version:
What version of Alluxio are you using?
2.9.0
Describe the bug
We are trying to setup RaptorX.
We have Alluxio running on Kubernetes. The set up is done using embedded configuration with a single master.
We are using Presto CLI 0.277-119fd9a version.
We refer https://prestodb.io/blog/2021/02/04/raptorx
When I change the properties described in the blog, I see that the Presto pod keeps on restarting. The error appears after adding Fragment result cache with the following logs
Normal   Pulling  33m (x16 over 93m)     kubelet, <IP_ADDRESS>  Pulling image "us.icr.io/lh-saas1/ibm-lh-presto-coordinator:v1"
  Warning  BackOff  3m47s (x357 over 93m)  kubelet, <IP_ADDRESS>  Back-off restarting failed container

I remove Fragment result cache config , I see  hdfs is not supported as the external filesystem error.
To Reproduce
Install Presto CLI 0.277-119fd9a version and Alluxio, change the config map based on recommendations here https://prestodb.io/blog/2021/02/04/raptorx
Expected behavior
Caching should work
Urgency
High
Are you planning to fix it
No, we need help with this.
Additional context
Add any other context about the problem here.

@savani-ibm we will support hdfs as external filesystem shortly. In fact with their local hack, Uber has been using HDFS as the external filesystem in production  https://www.uber.com/blog/speed-up-presto-with-alluxio-local-cache/
@HelloHorizon @beinan  FYI once the change on Presto side is ready, please notify this issue

Thanks @apc999 , I will take a look at the link. How do I fix this other issue?
 Back-off restarting failed container

@HelloHorizon @beinan Is there a timeline on when will HDFS be supported as the external filesystem?


[Type checker] Don't allow type variables to bind to dependent members.

When a type variable binds to an (unresolved) dependent member type,
it prevents us from inferring the type variable and adds no useful
information to the system. Refuse to bind type variables to dependent
member types.
Fixes rdar://problem/32697033.

@swift-ci please smoke test

@swift-ci please test source compatibility

I'll look into ConstraintSystem::checkTypeOfBinding()

(Note that the ReactiveCocoa failure was introduced on master recently; not by this commit)


Browser version fails to load XLSX file if cell contains ">"

If I try to upload the Excel file Test_with_greater_than.xlsx with the in-browser variant of xlsx-populate (e.g. here but also with the latest version available via bower), I receive an error message:

IQc is not defined

The attached Excel file is a very simple file which just contains a single sheet with a ">" (greater than) sign in the first cell. You get the same result with "<" (less than) and also "&" (ampersand). I have created it with Microsoft Excel for Mac 16.12; however, the same results can also be achieved by using xlsx-populate to write a greater-than sign to a sheet.
I tried in Firefox 59.0.2 and Vivaldi/Chrome, so I think it is not a browser-specific glitch.
Running the debugger, it says the second line of the following the source is to blame:
  function parseEntity (parser) {
    var entity = parser.entity
    var entityLC = entity.toLowerCase()
    var num
    var numStr = ''

I think this is the same issue as #115, as it also gets the "IQc" error. And in turn I think it is this issue from the sax.js repository:
https://github.com/isaacs/sax-js/issues/223
They say it was a bug in UglifyJS (mishoo/UglifyJS2#2783) and has been fixed there. So maybe it would be sufficient to re-uglify with a newer uglify?

Please try with v1.17.0. There is also a non-minified version available now.


Remove travis file

Issue Ref: None
Description:
CircleCI is now stable. Removing the duplicity with Travis and enabling the release through CircleCI.
TODOs:

[X] Ready to review
[X] Automated Tests
- [ ] Docs

we should update/add a badge at the top of the readme

otherwise /lgtm

true, I forgot the badge, let me add a new one


Alpine requires coreutils to get timestamp in microseconds

Fixes #103
The cause was that the timestamp only had a precision of seconds, not microseconds.
Debugging log statements:
step_time_us: 11
step_time_s: 0.00

The solution is to install coreutils if you are using an Alpine image.
In this PR I included a hint in the README and a check in the script if the timestamp has enough accuracy.
Not sure if the check is ok for you in the way I implemented it (checking the number of digits).

Thank you so much, looks really good.
The README has a part with the needed dependencies, I will add that also there.
Since you are using alpine: Did you install gawk, or which package did you use?

Alpine includes awk from busybox: https://wiki.alpinelinux.org/wiki/Awk
I didn't have issues so far with it. So it was not necessary to install gawk.

ty, updated


Refactor and update Infer API and InferBintr to support new Preprocessor Component

Need to add services to get/set the input-tensor-meta attribute for the GIE InferBintr - Primary only, classification is still to be supported by NVIDIA. Going to combine with the output-tensor-meta attribute, i.e both will be get/set together.
/**
 * @brief Gets the current input and output tensor-meta settings in use by the
 * named Primary or Secondary GIE.
 * @param[in] name unique name of Primary or Secondary GIE to query.
 * @param[out] input_enabled if true preprocessing input tensors attached as
 * metadata instead of preprocessing inside the plugin, false otherwise.
 * @param[out] output_enabled if true tensor outputs will be attached as
 * meta on GstBuffer.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_INFER_RESULT otherwise.
 */
DslReturnType dsl_infer_gie_tensor_meta_settings_get(const wchar_t* name,
    boolean* input_enabled, boolean* output_enabled);

/**
 * @brief Sets the current input and output tensor-meta settings for the
 * named Primary or Secondary GIE to use.
 * @param[in] name unique name of Primary or Secondary GIE to query
 * @param[in] input_enabled set to true preprocess input tensors attached as
 * metadata instead of preprocessing inside the plugin, false otherwise.
 * @param[in] output_enabled set to true to attach tensor outputs as
 * meta on GstBuffer.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_INFER_RESULT otherwise.
 */
DslReturnType dsl_infer_gie_tensor_meta_settings_set(const wchar_t* name,
    boolean input_enabled, boolean output_enabled);

Additionally, when using a Preprocessor, the Primary GIE unique_id must be set to 1... currently, the GIE generates a unique id from the name (hash) ... this needs to be refactored.

Additionally, when using a Preprocessor, the Primary GIE unique_id must be set to 1... currently, the GIE generates a unique id from the name (hash) ... this needs to be refactored.

Can you explain exactly this part?
Should target-unique-ids match config_preprocess.txt and gie-unique-id match config_inter.txt?

@youngjae-avikus my apologies for the confusing comment above. It is inaccurate.
The target-unique-ids allows you to identify which downstream target component(s) are to process the tensor meta.  What is unfortunate is that you can define a GIE's id via GST-property, but that target-unique-ids is fixed to a config file parameter; something I will bring up with nvidia.
First, to make sense of this Issue... a little DSL history.
I made the decision early on to use unique names for identification of all DSL objects vs. integer ids. And that when defining Secondary Inference components the client would provide the unique name of the Primary or Secondary Inference component to infer on. To simplify this, I decided to have DSL manage the unique id's for all inference components overriding what is defined in the config file (using the GST-property). In the initial design, DSL generated it's unique id based on a hash of the GIE's name, but that made it difficult to work with the Preprocessor so I refactored the GIE component to use a 1-based numbering scheme instead.  I recently added additional information to the Infer docs to cover this ... https://github.com/prominenceai/deepstream-services-library/blob/v0.25.alpha/docs/api-infer.md#unique-id
With DSL's Unique Id generation (with the refactoring defined in this issue), you can be assured that the first GIE you create in your application will always have id=1, and the second will have id=2 and so on.

Can I just use it as gie-unique-id=1 for now?

Yes, the changes have been merged into v0.25.alpha..  DSL will set  gie-unique-id=1 for first GIE created.


Actually describe vague "checkChunk" methods.

These are quite vague, and the profiler call is all we really have to go off of without looking deeper.
From looking around the codebase, these methods validate the entity's chunkX/Y/Z positions are correct. If the entity's last and current chunk pos are not the same, move the entity to it's new chunk (which also changes the chunkX/Y/Z values to the correct ones).
Oh and some synthetic method params while I was at it.

Ah great build failed since it couldn't grab intermediary 🤔

opps, only just noticed the branch. Will fix now

yeah, make note of outdated label before merge i guess


Dependency inject an IElementCreator into Page stacks rather than creating one internally.

Discovered while working on https://github.com/orendain/DemeoMods/pull/470.
This PR aims to remove logic from Common/UI/PageStackNavigation.cs so that instead of trying to determine which kind of environment (PC, VR, Hangouts) is currently loaded so that an appropriate ElementCreator (for creating buttons/text) is used, it instead expects an ElementCreator to be passed in directly in standard dependency injection form (i.e., in the constructor).
Since the correct ElementCreator is already known at a higher level (e.g., RoomFinder/UI/RoomListPanelNonVr.cs and RoomFinder/UI/RoomListPanelVr.cs), giving PageStackNavigation.cs what it needs is just a matter of passing down values that are already known, and not rely on it being looked-up internally.
Moving this it's own PR to make https://github.com/orendain/DemeoMods/pull/470 that much less large.

Some more info just for context and knowledge share:
We have created 3 "element creators" to help facilitate easy text/button rendering:

Common/UI/Element/NonVrElementCreator.cs
Common/UI/Element/VrElementCreator.cs
Common/UI/Element/HangoutsElementCreator.cs

It turns out that Common/UI/PageStackNavigation.cs has only been using the VR and Non-VR varients, and not the Hangouts variant (note how the code this PR removes does not reference Hangouts).  While this seems to have worked thus far, this could be considered a bug.  Up until now, buttons in "pages" (i.e., the pre-fabricated windows that hold our mods' menus) rendered in Hangouts have been treated as non-Hangouts VR buttons, and have been missing the special Hangouts "tweaks" that allow them to be compatible with Hangouts as much as possible.
This PR now expects the correct element creator to be passed in, guaranteeing that menu pages in Hangouts use the hangouts element creators passed in from the top.

Tested... This works great for main and Hangouts UI's on Steam VR and PC, and Oculus PC but NOT for Oculus VR for some reason. I still have not button interaction in HouseRules and RoomFinder there for some reason..?
Note: Whenever I tried to enter Heroes Hangout I got a black screen bug of some kind so couldn't test inside there.

Tested... This works great for the Main HouseRules menu and Hangouts UI's on Steam VR. Also works great for PC and Oculus PC but NOT for Oculus VR for some reason. I still have no button interaction in HouseRules and RoomFinder there for some reason..?
Note: Whenever I tried to enter Heroes Hangout in Oculus VR I got a black screen bug of some kind so couldn't test inside there.
Update: I finally got into Heroes Hangout and there was no HouseRules menu to be found! Weird.

This PR by itself doesn't do much - it's just pulling out a single, focused, issue from https://github.com/orendain/DemeoMods/pull/470 so that https://github.com/orendain/DemeoMods/pull/470 isn't so large.
This PR on it's own just cleans up a process, but the proper fix for getting HouseRules fully working again would be part of https://github.com/orendain/DemeoMods/pull/470 (which would build on top of this PR once merged).  Hope that makes sense, and apologies for the misunderstanding!


Edit cluster config labels cropped view missing left half of view

Internal Ref: SURE-7174
When trying to edit cluster labels when they are not editable the labels are not shown at all and the annotations display therefore looks starnge:

Steps to reproduce:

Create an EKS cluster
While the cluster is in the pending state, edit the cluster config
Labels are not shown

Tests pass on v2.9-16190ecee0aa3fb4aa570aa0fc932a36d9dcd082-head


Example of dashboard UI ?

Hello,
I can't build the card. I copied your example but I only have errors. do I need to change something in your example?
Ex: i don't have: binary_sensor.updating_shopping_list_with_grocy
Thank you.

Hello @schumi2309 , yes, you have to change things in order to adapt for you own config.
For the missing sensor, it's weird, it's a sensor implemented by the module and the integration with MQTT. Are the other sensor working as expected?

here are the 3 sensors that I had after installation. it is all I have:

I also see several script, but on your page, there is only one. where to find the others?
Thank you

here is the result of my card for the moment!!!

Hey @schumi2309 , you're on the right path, but it's weird, you should have by default 3 sensors and 1 switch:

For the scripts, they are defined in the module by itself, you can find them going in your developer tools, services:

My advice: Uninstall the module completely, restart your homeassistant, and try again. If you still don't have the same things as my screenshots above, check the logs to see if you have something about "shopping" or "grocy"
About the card, I'm using auto-entities to get all my products in a grid, and for each of them, I use a custom:button-card to display the information I need (name, location, quantity in shopping list, picture) and I define also some actions (on click, double click, long press)
Then, on a right column, I'm displaying some buttons to give me some controls (empty the list, refresh, etc.) and then the shopping list by itself, again, using auto-entities. Sometimes, the product I want to buy is out of stock, so I'm playing with the note you can add to a product in your shopping list to define an "out of stock" list, and to be able to quickly identify those.

Before deleting and re-installing, is there a possibility of backup? I have already encoded a lot of products, and I don't really want to start encoding again from the beginning, or does it save automatically?

Uninstalling Shopping List with Grocy will not erase all your products, as they're saved in your Grocy's add-on, so you should be safe

it does not change anything.
Is everything configured correctly like this?

The config looks ok to me. It's so weird you still don't have the binary_sensor update tho...
Do you have access to your MQTT server? (using MQTT explorer for example) If so, do you have that too?

Anyway, just to be clear, the binary_update sensor is not really required, your integration works like this (I can see you have already 60 products retrieved from Grocy)

Ok, no big deal for the binary sensor then...
But for the map, I can't do anything, I don't see what I have to modify in your example. I always stay with this:

I really need a hand to know what to change, and where to change.
Thank you and again sorry for your time.

Of course I'll try to help you :)
First, do you see your products in MQTT? You should find them in homeassistant > sensor > shopping_list_with_grocy_*
This will confirm you have a good setup and integration with MQTT.
Then for the yaml, please confirm you have Auto Entities Card, Card Mods Card and Custom Button Card well installed and configured
Finaly, let's go with a basic card to get all your products:
type: custom:auto-entities
card:
  type: custom:layout-card
  layout_type: grid
  layout_options:
    grid-template-columns: 20% 20% 20% 20% 20%
    mediaquery:
      '(max-width: 600px)':
        grid-template-columns: 50% 50%
      '(max-width: 800px)':
        grid-template-columns: 25% 25% 25% 25%
filter:
  include:
    - entity_id: sensor.shopping_list_with_grocy_.*
      sort:
        method: friendly_name
      options:
        type: custom:button-card
        entity: this.entity_id
        aspect_ratio: 4/3
        show_icon: false
        show_label: true
        show_state: true
        label: |
          [[[
            return `(${entity.attributes.location})`
          ]]]
        tap_action:
          action: call-service
          service: shopping_list_with_grocy.add_product
          service_data:
            product_id: this.entity_id
        double_tap_action:
          action: call-service
          service: shopping_list_with_grocy.remove_product
          service_data:
            product_id: this.entity_id
        hold_action:
          action: call-service
          service: shopping_list_with_grocy.remove_product
          service_data:
            product_id: this.entity_id
        styles:
          label:
            - z-index: 1
            - font-size: small
            - margin-top: 1vh
          name:
            - z-index: 1
            - font-size: large
            - font-weight: bold
            - margin-bottom: 1vh
          card:
            - background-image: |
                [[[
                   return 'url("data:image/jpg;base64,' + `${entity.attributes.product_image}` + '")';
                ]]]
            - background-repeat: no-repeat
            - background-position: center
            - background-size: cover
            - border-width: |
                [[[
                  if (entity.attributes.product_image)
                   return "0";
                  else
                   return "var(--ha-card-border-width, 1px)";
                ]]]
          state:
            - background-color: green
            - border-radius: 50%
            - position: absolute
            - right: 5%
            - top: 5%
            - height: |
                [[[
                  if (entity.state > 0) return '20px';
                  else return '0px';
                ]]]
            - width: |
                [[[
                  if (entity.state > 0) return '20px';
                  else return '0px';
                ]]]
            - font-size: |
                [[[
                  if (entity.state > 0) return '14px';
                  else return '0px';
                ]]]
            - line-height: |
                [[[
                  if (entity.state > 0) return '20px';
                  else return '0px';
                ]]]
          custom_fields:
            gradient:
              - display: |
                  [[[
                    if (entity.attributes.product_image)
                     return "block";
                    else
                     return "none";
                  ]]]
              - height: |
                  [[[
                    if (entity.attributes.product_image)
                     return "100%";
                    else
                     return "0px";
                  ]]]
              - width: |
                  [[[
                    if (entity.attributes.product_image)
                     return "100%";
                    else
                     return "0px";
                  ]]]
              - font-size: |
                  [[[
                    if (entity.attributes.product_image)
                     return "auto";
                    else
                     return "0px";
                  ]]]
              - line-height: |
                  [[[
                    if (entity.attributes.product_image)
                     return "auto";
                    else
                     return "0px";
                  ]]]
        custom_fields:
          gradient: ' '
        card_mod:
          style: |
            ha-card {
              height: 100%;
              height: -moz-available;          /* WebKit-based browsers will ignore this. */
              height: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
              height: fill-available;
            }
            ha-card #gradient {
              position: absolute !important;
              top: 0%;
              left: 0;
              z-index: 0;
              background-image: linear-gradient(
                0deg,
                hsla(0, 0%, 0%, 0.8) 0%,
                hsla(0, 0%, 0%, 0.79) 8.3%,
                hsla(0, 0%, 0%, 0.761) 16.3%,
                hsla(0, 0%, 0%, 0.717) 24.1%,
                hsla(0, 0%, 0%, 0.66) 31.7%,
                hsla(0, 0%, 0%, 0.593) 39%,
                hsla(0, 0%, 0%, 0.518) 46.1%,
                hsla(0, 0%, 0%, 0.44) 53%,
                hsla(0, 0%, 0%, 0.36) 59.7%,
                hsla(0, 0%, 0%, 0.282) 66.1%,
                hsla(0, 0%, 0%, 0.207) 72.3%,
                hsla(0, 0%, 0%, 0.14) 78.3%,
                hsla(0, 0%, 0%, 0.083) 84%,
                hsla(0, 0%, 0%, 0.039) 89.6%,
                hsla(0, 0%, 0%, 0.01) 94.9%,
                hsla(0, 0%, 0%, 0) 100%
              );
            }
            ha-card .ellipsis {
              white-space: normal
            }
sort:
  method: attribute
  attribute: location

Do you see your products? Do you see any errors in the logs?

I can't even connect to mqtt explorer. what should I put for the server configuration?
in HA, my sensor.yaml, I can't find anything about grocy.
how do i check the mqtt?

I finally managed to connect to mqtt explorer, but here is what I have! not easy to find your way around because no name, only numbers

Hummmm, those are not coming from this module, this is why there is no name...
Do you have any shopping_list_with_grocy_* sensors in homeassistant > sensor in MQTT?
Also, validate your configuration in https://my.home-assistant.io/redirect/supervisor_addon/?addon=core_mosquitto, you're not supposed to use the admin user. Define a real user and password, restart the add-on, try to connect your MQTT Explorer with this new user, then change Shopping List with Grocy configuration to use that user, and restart Home Assistant

Ok, I finally got there. thanks to you.
A few questions (again):
Where to put the photos? must they have a specific format?
and why don't I have my products in alphabetical order?

I have a whole part in alphabetical order, then another series in alphabetical order again

Ok, great, so it was just due to your MQTT configuration, I'm glad you were able to make it work
I saw in my emails a question about the images and how to upload them, I guess you figured out
For your question about the order, check the yaml code above ^^ the first order is by location in my case:

Then, it's alphabetical:

I strongly encourage you to read the documentation of the auto-entities module: https://github.com/thomasloven/lovelace-auto-entities
Finaly, about the out of stock, I manage that with a note on the product when it's added to the shopping cart, and then I filter out products with that comment to list them in the out of stock column. For that I will let you read the example I gave in the demo and take your time to understand it, read it carefuly :)
Since you're now able to have your products, I'll close that ticket.


Positions for head and torso

Because this is project related, we moved it to msh.
We can close this PR

makes sense to move to msh repository


Allow local signing of contract method transactions

What was wrong?
It was not possible to send transactions calling contract methods if the RPC client doesn't have access to the private key (e.g., Infura).
How was it fixed?
Add the option to pass a private key to contract.transact. If a key is given, the transaction is created locally, signed with the key and sent with eth_sendRawTransaction.
For this, I had to add pyethereum to the dependencies. If it is too heavy we could also make it optional.
Cute Animal Picture

Very cool. Could you add a first pass on the docs, too?

Done. Now it also uses estimateGas if gas is not provided (learned about that in the docs, reading them really helps!)

@jannikluhn I am not comfortable adding this functionality to web3.  If you'll take a look at the middleware API being implemented in https://github.com/pipermerriam/web3.py/pull/224 this would be the right place to implement this functionality.  I expect to get that API merged here in the coming days and then you can create this as a 3rd party package which supplies a web3 middleware which provides this functionality.
I think this is a really useful feature, but I can't accept the necessary dependencies that this introduces into the main library.

@jannikluhn I'd like to point you at the new middleware API
http://web3py.readthedocs.io/en/latest/internals.html#middlewares
If you would like to re-implement your feature as a middleware I could accept it into the core library under the following constraints.

It cannot add any new hard dependencies.
It must support a pluggable ECC signing mechanism to allow users to bring-their-own ECC as to not require a new ECC dependency in the library.
For testing you can introduce coincurve as a dependency for ECC signing.
For transaction serialization, please create a local Transaction class using rlp.Serializable rather than including the one from the pyethreum library.

Sorry for all the constraints, but I have to balance the ease of people installing this tool with the usefullness of the feature.
Alternatively, if you'd like to go-wild and do this outside of the constraints, you can now easily just write a 3rd party middleware that does that which people can install separately.

Thank you for the suggestions. I've already started working on a new package (still WIP). It provides not only the signing middleware, but also keystore handling.
I'm generally open of integrating it (or parts of it) into web3. However, I guess keystores don't fit well into the scope of web3 (and introduce even more dependencies), but signing without access to private keys doesn't make a lot of sense either. Therefore I slightly lean towards keeping the two packages separate for now.