[DO NOT MERGE][LETS DISCUSS FIRST] Getting rid of all the screen scraping for Xen domain status

So admittedly this is a bit premature (since I wanted to get a bit more time to think how we can do an equivalent of kubernetes/docker liveness check across the board) but since we seem to be running into xl info screen scraping coredumping on weird xl info output -- here it is.
So on one hand -- this is exactly what it is -- just fixing all the brittle screen scraping Go code with more robust screen scraping shell code (although I haven't really tested it -- so if we decide to pull it in as-is -- I need a bit of time to run some basic sanity checks).
However, it is also an invitation for a discussion of how we can do the liveness check for all the different tasks that are running on EVE.
The proposed idea here is that just like Kubernetes with https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ or Docker with https://docs.docker.com/engine/reference/builder/#healthcheck statement in a Docker file we will allow our tasks to have a declaration of "here's how I want my fine grained state to be probed".
And therein lies the rub -- we have a choice to make. On one hand we can follow Docker/k8s example and simply make it a here's the executable -- run it and get me the result OR we can actually use the filesystem approach so that whatever is running in the container will write locally to the /dev/status file and then the EVE infrastructure will pick it up from there (likely via the bind mount).
So that's choice #1. Choice #2 is standardizing on keywords (right now we return running|paused|halting|broken) but may be we need more or less of those.
@deitch @eriknordmark lets discuss where do we take this tomorrow.

Don't know whether we want a separate "failed" state for this and have "broken" be about crashed/device model crashed

Yes. There should be a difference between "I tried, I broke" and "I couldn't even start". Of course, if there is no "broken" other than "broke at start time", then it is the same.

What I wonder about is catching exit codes/reasons for containers. I asumuming exit(0) vs. non-zero is something folks care about today but I could be wrong.
With that assumption, do we have a way to get that exit value.
If we do, then would it make sense to put that in a /dev/exit-reason file (similar to your /dev/status)?

Definitely do. Do we even have a similar concept for full-on VMs? Sure, their "init command" is the kernel and then the init, but do we have some concept of "and once you boot up, run this command"? Or is that opaque to us, since one might do nothing, another might use systemd, another might have a custom init, etc.?
I think this is a broader discussion (but we should start here narrow): is there a concept of a "core" or "primary" process and a method for it to flag desired errors/exit? For containers it is easy, as there is an explicit ENTRYPOINT and CMD. For VMs it is harder, because your init process can have many children, and which one is important, and is it opaque, and should it be? It is a much harder problem to solve, but worth spending time on separately, I think.

On one hand we can follow Docker/k8s example and simply make it a here's the executable -- run it and get me the result OR we can actually use the filesystem approach so that whatever is running in the container will write locally to the /dev/status file and then the EVE infrastructure will pick it up from there (likely via the bind mount).

Two problems with the filesystem approach:

That requires people to change their builds, possibly their apps, does it not? Take the simple nginx example. nginx doesn't really have a way to update a file and say, "I am fine. I am fine. I am fine..." every 30 seconds or whatever. It can be built in, but that is overhead, and it is a cross-cutting concern, and then you have to pass frequency, and... I expect people will be resistant to change their apps, and many will use standard containers, and at the least expect those that work with other orchestration.
Do we want to swim against the tide? If people expect the common style, then unless we have something with very obvious advantages, do we want to go against it?

The two most common methods are:

network endpoint, http/tcp/udp (supported by k8s as listed above, AWS ELB, etc.)
command to execute

This is just what people expect.
If we also want to add support for a file that gets updated, we can, but that is additional work to support and maintain it.
Either way, if we actually were to ask people to change their apps, wouldn't we just want them to add a file to execute or a network endpoint?

However, it is also an invitation for a discussion of how we can do the liveness check for all the different tasks that are running on EVE.

Suppose we wanted to take the verifier and run it as a separate task, then we need to support two things to provide the same functionality as today:

the verifier process exits. We use the pid file for this today with watchdog wataching; as a task the task would presumably exit.
the verifier process runs but some event loop/goroutine is stuck. We use zero or more .touch files for this today to check liveness.

For EVE tasks we could continue to use files for #2, or switch to something else with the same flexibility of zero or more liveness indicators per task.

Suppose we wanted to take the verifier and run it as a separate task

I thought this discussion was about customer workload liveness?

Suppose we wanted to take the verifier and run it as a separate task

Hmm, so rather than a long-running verifier, we would just have a dispatcher? And that dispatcher would kick off verifier when it saw such a task? And the verifier process would be short-lived?

Sort of a FaaS/Lambda architecture?

I thought this discussion was about customer workload liveness?

I interpreted @rvs text as also wanting to think about EVE's microservices in this discussion.
Note that they can still be long-running tasks as now, but if we have an approach to detect exit and lack of liveness it means that we can easily run them as separate tasks with isolation between them; just need to set up the bind mounts for each agent with the correct RW/RO permissions.

Anything that simplifies it has my vote.

But if xl create fails in xen-start we shouldn't bail "Couldn't find domain " but instead immedaitely mark it as broken.

This is effectively what's going to happen with #1249 now @eriknordmark
A somewhat bigger question is how do we attach a string explaining the failure to a domain that was declared broken. As we've discussed yesterday -- I plan to push in the direction of our magic /dev/status file for now (but I'm going to do it in a separate PR -- so keep an eye on it today).

Then we can have domainmgr use state==broken to post an error in DomainStatus.
[Don't know whether we want a separate "failed" state for this and have "broken" be about crashed/device model crashed, but that is a detail to me right now.]

Yeah, that's the other bit you and @deitch convinced me about -- let me document all the existing states as-is (I'll do it as part of the original wiki proposal) and then we can decide whether we're missing any or not.

What I wonder about is catching exit codes/reasons for containers. I asumuming exit(0) vs. non-zero is something folks care about today but I could be wrong.

Honestly, it seems that in the container-native world everything is assumed to be asynchronous and while exit code can be a useful hint -- typically you just rely on logging and telemetry to make sense of the system. In fact, the exit code most of the time is not even visible to the end-user but gets handled by container orchestration framework as a hint of whether to restart a container, etc.

With that assumption, do we have a way to get that exit value.
If we do, then would it make sense to put that in a /dev/exit-reason file (similar to your /dev/status)?

Yup. That's the plan for now. Expect that other PR soon (/dev/thanks-for-all-the-fish -- but maybe that is too long ;-))

If all of those assumptions and conditions apply for containers, then for kvm/xen we could also put a string (such as the xl create failure output) into that /dev/exit-reason. Plus if kvm/xen can tell the difference between a shutdown/poweroff vs a kernel panic it could also go to the same place.

Agreed. But that'd be a subject of much further set of improvements (once we agree on the basic infrastructure for how to capture these things).

And if the cgroup doesn't have sufficient resources to start a container do we get some distinct exit code or error from containerd? If so we could provide a more specific error than "exit code 1" in this /dev/exit-reason

I don't think containerd is of much help here. In fact, IIRC most of cgroups mechanics is expecting the caller to make sure that resources add up. In that sense it is unlike xl -- if you specified more memory than Xen has available xl will fail -- cgroups on the other hand would happily allow you to put a caps in that add up to more than physical memory on the box.
There may be one exception to that rule -- which is cgroup hierarchy -- so it would be something to consider.
Long story short, I think we need to rely on task introspection to make sure we get the correct reason of failure.

But as you say, first let's figure out what makes sense for containers, and then decide how much work do to for xen/kvm.
But getting the resource errors out for xen and kvm would be useful since we don't do any resource checks before spawning the task.

+1

Hey @deitch wanted to follow up on a few things here:

I think this is a broader discussion (but we should start here narrow): is there a concept of a "core" or "primary" process and a method for it to flag desired errors/exit? For containers it is easy, as there is an explicit ENTRYPOINT and CMD. For VMs it is harder, because your init process can have many children, and which one is important, and is it opaque, and should it be? It is a much harder problem to solve, but worth spending time on separately, I think.

I think we can unify the backchannel between containers and VMs quite easily -- but both of these require active participation from whatever is running inside of the VM (you can lead the horse to water, but you can't make it drink so to speak ;-)). I feel like a good mid point here (which I'm going to bring onto eve-tsc@ shortly) is to simply agree on what kind of a channel will that be. A magic /dev/status /dev/exit-note seems to be a good starting point.

Two problems with the filesystem approach:
That requires people to change their builds, possibly their apps, does it not? Take the simple nginx example. nginx doesn't really have a way to update a file and say, "I am fine. I am fine. I am fine..." every 30 seconds or whatever. It can be built in, but that is overhead, and it is a cross-cutting concern, and then you have to pass frequency, and... I expect people will be resistant to change their apps, and many will use standard containers, and at the least expect those that work with other orchestration.

While that is true, it is certainly WAY easier in my book than running a process inside of a VM (in fact, unlike containers you simply CAN'T do that with VMs -- so that leaves only network endpoint -- see below).

Do we want to swim against the tide? If people expect the common style, then unless we have something with very obvious advantages, do we want to go against it?

I was thinking exactly along the same line until the lightbulb went on during our chat -- since we need to collect postmortem information from tasks that have exited -- we are really stuck with having some kind of a communication channel that is effectively push (from the task point of view) AND can survive domain dying. Neither execing the process nor hitting an HTTP endpoint (and such) inside the task satisfy that criteria. Hence we need to do magic /dev/X anyway. And once we do -- we may as well use it for other purposes.

Either way, if we actually were to ask people to change their apps, wouldn't we just want them to add a file to execute or a network endpoint?

Lets start small -- lets solve the issue in front of us (that seems to require /dev/X anyway) and then we can open it up for more ways of communicating extra status.
Makes sense @deitch ?


Add remote read write

Expose only the url of the remote-read/write configuration.

LGTM. Please run gofmt on the source code for formatting.


  In order to remove the workarounds, VS will need to address their issues first.
Example:
RUN `
    # Workaround for issue with 32 bit assemblies from .NET Framework 4.8 SDK being 64 bit ngen'ed
    \Windows\Microsoft.NET\Framework64\v4.0.30319\ngen uninstall "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\SecAnnotate.exe" `
    && \Windows\Microsoft.NET\Framework64\v4.0.30319\ngen uninstall "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\WinMDExp.exe" `
    `
    && \Windows\Microsoft.NET\Framework64\v4.0.30319\ngen update `
    `
    # Workaround VS installer/ngen issues
    && \Windows\Microsoft.NET\Framework\v4.0.30319\ngen uninstall "C:\Program Files (x86)\Microsoft Visual Studio\2019\TestAgent\Common7\IDE\VSWebLauncher.exe" `
    && \Windows\Microsoft.NET\Framework\v4.0.30319\ngen uninstall "C:\Program Files (x86)\Microsoft Visual Studio\2019\TestAgent\Common7\IDE\CommonExtensions\Microsoft\Editor\Microsoft.VisualStudio.Diff.CommandLineSwitch.pkgdef" `
    && \Windows\Microsoft.NET\Framework\v4.0.30319\ngen uninstall "C:\Program Files (x86)\Microsoft Visual Studio\2019\TestAgent\Common7\IDE\CommonExtensions\Microsoft\Editor\Microsoft.VisualStudio.Diff.pkgdef" `
    `
    && \Windows\Microsoft.NET\Framework\v4.0.30319\ngen update

@Mthalman, We should take inventory of the remaining uninstalls and ensure there are active product issues to address the underlying problems.

The following files are uninstalled from the ngen queue to workaround issues:

[ ] Microsoft.Tpm.Commands.dll (bug link [MSFT internal])
[ ] SecAnnotate.exe (bug link [MSFT internal])
[ ] WinMDExp.exe (bug link [MSFT internal])
[ ] VSWebLauncher.exe (bug link [MSFT internal])


v21.1.0-beta.5 release notes

Follow up to PR https://github.com/cockroachdb/docs/pull/10356 / issue https://github.com/cockroachdb/docs/issues/8938. (No issue was created for 21.1.0 beta 5+.)

This change is

Preview URL is https://deploy-preview-10419--cockroachdb-docs.netlify.app/docs/releases/v21.1.0-beta.5

@jseldess Thanks in advance for merging this on my behalf today. Currently pending:

@taroface's approval of my implementation of his edits.
@jordanlewis's approval of the updated text here (already included in the release notes PR).


ADD: cursor: pointer in option of the Guess the singer page.

🚀 Feature
there is no cursor: pointer effect in the Guess the singer page. that may confuse the user who uses it.
I would like to add cursor: pointer property to options when the user hovers it.

Add relevant screenshot or video (if any)
(Add here)

Please look at this issue and assign it to me.

/assign


add appveyor

ha ha...I too added an appveyor PR just now.

You can drop this one and merge mine as it does a few more useful things, for example it tests from sdist to make sure the distribution is good to go. Here is the script I use and more details about it: https://github.com/harendra-kumar/package-test

ha ! the coicidence. are you behind me or something ? ;)
happy to drop it, I've copied the .yml from foundation, your .yml looks a bit more elaborate indeed.

I added code to get context switch stats using getrusage and wanted to check if it works on mingw as well, appveyor was needed because I do not have a windows machine.
The same script works for appveyor and travis, but the travis stuff is already working so I did not change that. It can report coverage as well to coveralls.io. I can set it up if you like, will take 5 min.

I was changing some windows code path too; I've got a windows machine for testing, but I prefer doing change on unix and having a safety net like appveyor :)


App rework

Entire restructuring of the code and app layouts
Added SMD capacitor calculator
Update app logo and added monochrome logo
Lots of bug fixes

Still need to update feature graphic before release and update the store listing on the developer console

Capacitor Observations (7/25):

New app icon foreground seems a little small
Common codes title should be title case
Home: calculator buttons text should be sentence case (? - unsure about this)
Ceramic: since pF is assumed make sure pF shows in capacitance text even when no units selected
SMD: with invalid code should N/A in SMD capacitor


Update/Fix documentation

The state of Mio documentation has fallen behind. This is due to the API being in flux. This issue is to track the work that is needed to get the documentation to a good state. Documentation issues will be linked for reference.

[ ] Document Poll
[ ] Update tutorial to use Poll instead
[ ] Fix automated doc building (#319, #329)
[ ] Fix out of date docs (#403, #323)
[ ] Document points of confusion (#380, #358)
[ ] Document configuring sockets (#442)
[ ] Interest options (#443)

https://crates.fyi/crates/mio/0.5.1/ seems to be working as a working subsitite to the current one. It does seem to have the fix for #319 as I can view EventedFd in it.


Enable duplicate values

Feature idea:
It would be great to enable duplicate values when multiselect is enabled.
Scenario: having the input and I want to add custom DSL: example: apple and dog and cat.
Each of the words should be a token (and is a "reserved" word) what I could parse on server side. for this scenario I would need an option to enable duplicate tokens and keep the order of tokens.
thank you very much in advance

This was fixed in 4.0, you should be able to use duplicate ids now and it should work relatively well.

@kevin-brown how do we use this option? Or can you let us know the commit that fixed this?

It should work out of the box for a standard select.
http://jsbin.com/zarexequpu/1/

It's clear to me that it is not working in the standard select. Try to add orange two times and it dissapears. :( http://jsbin.com/zarexequpu/1/

Hi,
Using your example, how can I set the select2 to allow input like "Orange, Orange, Rose"?
Thank you for your help.
https://jsfiddle.net/cubitus81/p76fsgp9/1/

@kevin-brown Could you please help us understand how to enter "Orange", "Apple", "Orange" using Select2 v.4.0?
Currently Select2 quietly ignores duplicate input - closes the pulldown and does not add the new "Orange". Or when I choose from the dropdown it actually removes the previous "oragne", which is even worse.
I will appreciate your help.

is there some answer for this ?

I would also like to know how to configure my select2 for duplicate values!

Yes, need this feature please

Me also. Let us know!

I need to know how to use this feature also.

It has been mentioned by kevin-brown here that this is possible only with extra code and not out of the box.

It would really be helpful if some information or hint on that extra code could be linked. That lin to #3958 does not have any.

Maybe here: https://github.com/select2/select2/issues/3341#issuecomment-101382547

@kevin-brown Need this feature. Kindly guide on how to enable it as the default behavior is as stated by @versusnja :

@kevin-brown Could you please help us understand how to enter "Orange", "Apple", "Orange" using Select2 v.4.0?
Currently Select2 quietly ignores duplicate input - closes the pulldown and does not add the new "Orange". Or when I choose from the dropdown it actually removes the previous "oragne", which is even worse.
I will appreciate your help.

For a workaround, see NSDont's answer at https://stackoverflow.com/questions/14976099/select2-multiselect-duplicates-values

did this ever get added?  NSDont's answer does not work for me at all.  If I have a pre-populated list, I cannot reselect.  i feel like a simple class type that allows this optionally would be great.

Hi all,
This would be a nice feature. Need it.


Cannot add more than one certificate for an IdP in plain text using the IdP REST APIs

Describe the issue:
Currently IS supports adding more than one certificate for an IdP. The IdP object has an array attribute named certificateInfoArray to store the ceritifcates and a string attribute named certificate to store a string formed by appending the cerificate values from certificateInfoArray. When stored to the DB, a JSONArray is formed from the certificateInfoArray and the object is stored in BLOB format.
When adding the certificates through the Management Console, the certificates are base64 encoded before calling the backend and hence the JSONArray contains encoded certificate contents.
However, the REST API supports adding certificates in plain text format as well (pem certificates starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----). Then, the JSONArray will contain the pem certificate's plain text content without the BEGIN CERTIFICATE and END CERTIFICATE parts. Hence, when the IdP is retrived from the database, the IdP object's certificate string attribute contains a plain text without BEGIN/END parts. When trying to add a second certificate in the plain text per format, the second certificate is appended to the certificate string attribute [1]. The 'certificateInfoArray' is formed using this certificate string attribute [2]. The logic of forming the 'certificateInfoArray' from certificate string checks if the certificate string attribute starts with -----BEGIN CERTIFICATE----- [3], but the check returns false as that part is removed when stored to the DB [4]. Hence, the logic cannot split the certificate string and extract the plain text certificates one by one. Due to this issue, we cannot add more than one certificate in plain text format.
Further, if one certificate is added in base 64 encoded format, and another is added in plain text, the certificate string will contain both the values appended together. The current logic cannot extract the certificates from this string as part of it is a base 64 encoded vertificate whereas another part is a certificate in plain text. Therefore, we cannot add certificates in both formats - plain text, and base 64 encoded for a single IdP.
As a workaround, the IdP Rest API is modified to convert input plain text certificates to base 64 encoded format [5]. However, the identity provider backend functionality should be modified to address this issue.
[1] https://github.com/wso2/identity-api-server/blob/861ec0a826aece8fce230a8342e4c5b4ee374a62/components/org.wso2.carbon.identity.api.server.idp/org.wso2.carbon.identity.api.server.idp.v1/src/main/java/org/wso2/carbon/identity/api/server/idp/v1/core/ServerIdpManagementService.java#L2676
[2] https://github.com/wso2/carbon-identity-framework/blob/e09a4e009f22b5958053c7cec5a91d493180c8b8/components/application-mgt/org.wso2.carbon.identity.application.common/src/main/java/org/wso2/carbon/identity/application/common/model/IdentityProvider.java#L513
[3] https://github.com/wso2/carbon-identity-framework/blob/e09a4e009f22b5958053c7cec5a91d493180c8b8/components/application-mgt/org.wso2.carbon.identity.application.common/src/main/java/org/wso2/carbon/identity/application/common/model/IdentityProvider.java#L543
[4] https://github.com/wso2/carbon-identity-framework/blob/e09a4e009f22b5958053c7cec5a91d493180c8b8/components/application-mgt/org.wso2.carbon.identity.application.common/src/main/java/org/wso2/carbon/identity/application/common/model/IdentityProvider.java#L675
[5] https://github.com/wso2/identity-api-server/blob/861ec0a826aece8fce230a8342e4c5b4ee374a62/components/org.wso2.carbon.identity.api.server.idp/org.wso2.carbon.identity.api.server.idp.v1/src/main/java/org/wso2/carbon/identity/api/server/idp/v1/core/ServerIdpManagementService.java#L2676
How to reproduce:
Try to add multiple certificates using IdP REST API patch request.
[
    {
        "operation": "ADD",
        "path": "/certificate/certificates/1",
        "value": "<PEM certificate in plain text inclusinf BEGIN and END parts>"
    }
]

After adding more than one, the response will not contain the correct certificate array.
Expected behavior:
Should be able to add more than one certificate in plain text format, or should not allow adding plain text certificates at all.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Avoid crashing when an RDS replica is in creation

Objective
Avoid crashing when an RDS replica is in creation
Why
The exporter is crashing because DescribeDBLogFiles() returns DBInstanceNotFoundFault error when an RDS instance replica is in creation.
How

Handle DBInstanceNotFoundFault exception as empty log files

Release plan

[ ] Merge this PR

#sre


Improve rendering time of package cards in attribution view

When scrolling through the list of package cards in the attribution view, the package cards are displayed with a large delay (it's a virtualized list). This behavior feels rather unpleasant and worsens user experience.
The goal of this ticket is to identify the reason of the performance issue and to fix it, if possible.
The issue can be tested by loading input_from_ort.json.gz.
Example:

From the following resources:

https://github.com/bvaughn/react-window
https://github.com/bvaughn/react-virtualized/issues/1327#issuecomment-463167513
https://web.dev/virtualize-long-lists-react-window/
https://stackoverflow.com/questions/43700938/react-virtualized-list-is-flickkering-lagging-when-scrolling

I gathered that a static style argument needs to be passed to the row of a List. Thus, I made the following change to test things:
Previously

What I tried (based on the internet suggestions)

Result: I could not get rid of the flickering issue by this method.


psycopg2-ctypes fixes

Don't skip Cancellation test on psycopg2-ctypes
Try to import psycopg2ct if psycopg2 isn't available

I pushed 8b8b243 and reworked the skip test for cancellation tests. I also had to mark one more test as skipped with psyopg2ct, but now the entire test suite works with only psycopg2ct installed.
Thanks!


Proper Microsoft.NET.Sdk detection

Description
Apparently we currently don't detect project files starting like:
<Project>
<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.props" />

Those are valid project files, just like
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

I discussed this with @sharwell and he replied:

The project system looks for <TargetFrameworks?\b
Regular expression
It totally ignores that this is xml

yes.
also
<Import Project="$(something)\Microsoft.NET.Sdk.props" />

i dont remember the right, but is described in https://github.com/Microsoft/msbuild/issues/1400

The project system looks for <TargetFrameworks?\b

oO

The project system looks for <TargetFrameworks?\b

this is wrong, because i can add that in an imported project (like a .props file) or conditional

@enricosada I'm not sure which part you refer to. I double checked the internal implementation for how Visual Studio knows to open a project file in the new project system, and it's essentially the following on the content of the csproj file:
if (file.Contains("<TargetFramework>") || file.Contains("<TargetFrameworks>"))
{
  // use new project system
}
else
{
  // use old project system
}

@sharwell I can confirm that loading these two files into VS15.5.0 Preview2 will trigger the OLD Project System:
Directory.Build.props
<Project>

  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>

</Project>

dotnet-test.csproj
<Project Sdk="Microsoft.NET.Sdk">
  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json">
      <Version>10.0.3</Version>
    </PackageReference>
  </ItemGroup>
</Project>

@sharwell nice to know.
but like that miss some scenario, like TargetFramework is defined in an imported .props file, or by env var. Not really common, i must admit :D
Maybe we are just too strict with detection, but i think trying to find if Sdk is used, is better (and doesnt add a lot burden)

Tbh I think that's pretty common in our company.
Am 30.10.2017 10:12 schrieb "Enrico Sada"<EMAIL_ADDRESS>
@sharwell https://github.com/sharwell nice to know.
but like that miss some scenario, like TargetFramework is defined in an
imported .props file, or by env var. Not really common, i must admit :D
Maybe we are just too strict with detection, but i think trying to find if
Sdk is used, is better (and doesnt add a lot burden)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/2863#issuecomment-340384958,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADgNM3zqbHlwkdG9sShsM4a3ZbOddtJks5sxZMSgaJpZM4QDKHp
.


[UNR-4453] Implement Routing worker CrossServer RPCs

Description
Implementation of the reliable CrossServer RPCs using a routing worker.
Read in commit order to not be overwhelmed.
TLDR :

New RPC endpoints
Launches an additional worker, integrated into the SpatialNetDriver, that only does routing work.
Implementation selected through a setting (the legacy implementation is still accessible).

Overview of the system :
Each actor has 4 new components. A sender, a receiver, and two other write the corresponding ACKs respectively.
The sender/receiver components are like regular ring buffer RPC components, with an additional array used to reference the target/sender of an RPC as well as it ID.
The ACK component is an array of ACK items which contains the sender and RPC ID. This is needed because the published RPCs can be received/acked in any order.
An actor has authority over its Sender and ReceiverACK component.
It is able to publish RPCs to its sender component to be executed on a target Actor.
It is able to acknowledge reception of RPCs sent from another Actor by publishing an ACK to its ReceiverACK component.
The routing worker is authoritative over all the Receiver and SenderACK components.
It transfers RPCs published on the Sender to the target Receiver.
When the Receiver has ACKed the RPC, its writes and ACK to the sender.
When the Sender has cleared the RPC from its components, the SenderACK and Receiver are cleared.
The routing worker runs as a new worker type. It does not execute any part of the UE stack, it just uses the SpatialNetDriver to get its connection to SpatialOS.
NB : Right now, overflowed RPCs are dropped. The overflow mechanism in the SpatialRPCService need a big refactor before that can be properly handled.
Release note
WIP
Tests
Added unit tests for the communication between CrossServerRPCService and SpatialRoutingSystem, and tested with the existing ServerToServer gym.
Documentation
Primary reviewers

Yes, the counterpart is the other entity in a sender/receiver scenario.

Done a quick pass, overall looks good but I don't have a lot of context on the details


feat(CX-2611): improve "Generating insights" while saving artwork modal logic

This PR resolves CX-2611
Description

Added the logic to display "Generating market data" only when MarketPriceInsights are available. If not available - show inly "Saving artwork" text.
https://user-images.githubusercontent.com/36167539/174878171-5a1ef719-14ca-4929-8139-c5ace5c47812.mp4
PR Checklist

[x] I tested my changes on iOS / Android.
[x] I added screenshots or videos to illustrate my changes.
[ ] I added Tests and Stories for my changes.
[ ] I added an app state migration.
[ ] I hid my changes behind a feature flag.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

improve saving artwork modal logic -daria

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

One of the requirements of this ticket is to write tests for visual clues
I have not done this in this PR, because there is an issue with the way we reset the globalStoreTestUtils
I will create a separate ticket for this and work separately in order not to block the main task

Niice


Add the client IP address to each message if requested in the configuration

Requires an update to the Lumberjack server (see https://github.com/stanhu/logstash-forwarder/tree/add-client-address) to pass along the address. I'm not quite sure how to tie the server version to the input filter version.
I considered putting this functionality in the Lumberjack server itself, but it seems like the input filter should decide this here, just as the TCP input filter does.

Given this protocol uses TLS for authentication, it seems like it would provide more accuracy to use the client's SSL certificate subject instead of the client ip (because the real client address would be obscured by folks using proxies, etc). Thoughts?

I think there is still value in getting the IP address, even if proxies get in the way. Right now I have to workaround this by having each logstash-forwarder node perform an external IP lookup. Someone else also ran into this issue on Stack Overflow.
Are SSL client certificates being used here? If they are not, how would the server get the client's SSL certificate subject?

@stanhu you can also set any arbitrary field you wish in the logstash-forwarder config. This would easily allow you to, on every node running lsf, set a special field that includes an IP, a name, or anything.

@jordansissel, thanks, I did see that. As far as I can tell, the key/values must be statically configured in the logstash-forwarder configuration. Since many of the machines I use have ephemeral IP addresses, having 100 different configuration files that need to kept up-to-date doesn't work so well.

having 100 different configuration files

Apologies if this sounds like a rude question, but why not use configuration management to solve this for you? Generate your config files based on the system and everything will be groovy :)

We do use Ansible and it could populate the forwarder with the right info, but that's another moving piece that we have to get right. I'd rather have logstash just take care of it in one place.

we have to get right

Well, someone has to get it right, somewhere. The purpose of the 'fields' setting in logstash-forwarder was for exactly these scenarios where you need to ship additional data along with events (perhaps cluster name, datacenter name, region name, application name, or other identification information).

Yes, it's useful for doing that, and we do use the extra fields for those kinds of things. The one challenge is that across machine reboots, ephemeral IP addresses may change, and so the configuration has to be be updated each time to reflect that and require a restart of the forwarder process.
In any case, an application may want to know that exactly which IP address from which the SSL server received the data. The data is readily available by the socket, and it should be made available. As you mentioned, there may be proxies that may be changing what the actual IP address is seen by the server. This may be another use case for this PR.

It feels like we're both standing here saying "I don't want to do any work" to each other :\

I'm open to adding IP source, but I'm not sure about the implementation here. I would prefer exposing everything we can know about the connection (certificate, etc) rather than focusing specifically on just one attribute like IP.

:) I like that idea. Another alternative I considered was to have the callback use the SSLSocket instance, but that potentially gives the input filter the ability to close/open a new connection.
We could whittle down the callback to a map of client data. Looking at the SSLSocket interface, I see a number of things that could be sent:

Address family (e.g. INET/INET6/UNIX)
Source IP
Cipher
List of client CAs
Peer cert
Peer certificate chain

Anything I missed?

Jenkins standing by to test this. If you aren't a maintainer, you can ignore this comment. Someone with commit access, please review this and clear it for Jenkins to run; then  say 'jenkins, test it'.

is this supported yet? Why is this not merged


Practice fix bug

When respawning at a checkpoint the gamemode and speed will change and deleting the checkpoint causes you to respawn at the checkpoint you deleted. The only fix i cloud find was to exit practice mode and try again

Hmm. Don’t use the integrated practice fix ig. I’m away in Greece atm so I’ll fix it in a week or so when I get back. As an alternative you can use the one in MHV7 or Figs here: https://github.com/FigmentBoy/Checkpoint-Fix


 Thanks for making it!
I was wondering whether you're planning to add the rest of the commands for auto-completion? I think it would be a great addition. I would love to do it, but I'm just learning shell programming, so I'm bound to screw it up. Thanks!

See PR #11

Closed by #11

Fixed by https://github.com/ccarpita/kvstore/pull/11


KAFKA-12252 and KAFKA-12262: Fix session key rotation when leadership changes

Addressed KAFKA-12252 and KAFKA-12262.

To address KAFKA-12262, all workers now track key expiration instead of just the leader.
To address KAFKA-12252, a conditional check is added in the herder tick thread to only cut rebalance polling short for key rotation if the worker is the leader.

Unit tests for the distributed herder are added for both bugs. The first ensures that if a worker becomes the leader after reading a session key from the config topic, it wakes up from polling for rebalance in time for key rotation. The second ensures that if a worker loses leadership, it stops taking key expiration into account when calculating the time to poll for rebalance.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@gharris1727 @ncliang would either of you like to take a look?

Thanks @gharris1727; I've tried to address your comments. Let me know what you think.

Ah whoops, the PowerMock::verifyAll broke the unit tests. Patched them up; should be good to go now.

@rhauch ping 🙂
This has been waiting for a while and the only concern that's been raised is unrelated to the fix at hand. Can you take another look?

I've also filed https://issues.apache.org/jira/browse/KAFKA-12474 and https://issues.apache.org/jira/browse/KAFKA-12476 as follow-up items, since they are unaffected by and unrelated to the bug being addressed here.


Define exportParts for gross-payment-chart component

Let's identify which CSS parts would be ideal to add as @exportParts to the GrossPaymentChart component.
It likely doesn't need very many, but some ideas would be:

Bar color
background color?
Tooltip color
Tooltip font color ?

This will be tackled in our component CSS refactor, otherwise when it comes up as a customer ask


Add some validation.

Work towards issue #3
Fields validated:

hostname
TTL

Types validated:

A
AAAA
ANAME
CNAME
MX

Thanks, this looks good but there's a merge conflict (not sure why). I'll take a look this evening and see if I can resolve it.

Rebased on master. Merge conflict was due to both patches being independently based on the same upstream branch.


The profile picture is not loading and getting access denied error.

Hi Team,
Able to read the user profile details. But the profile picture is not loading and getting below
exception. Have set the readbasic and read properties as well.
Code: ErrorAccessDenied
Message: Access to OData is disabled.
Please help to figure it out.
Thanks,
Anuraj Rajagopal

Which version of the graph API are you using? v1.0 or beta? What kind of account are you using to sign in? Personal, or Work or school account?


Bug: bad argument #2 to 'form at' (number expected, got nil)

Issue Description
Bug Report
Describe what happened (or what feature you want)
On running :Octo pr list and selecting a PR.
Error executing
 vim.schedule lua callback: ...site/pack/packer/start/octo.nvim/highlights.lua:30: bad argument #2 to 'form at' (number expected, got nil)

I am using the same config, which was given in README.md, and ran PackerInstall and PackerCompile after setting it up

Describe what you expected to happen
Supposed to open the PR description, this actually does happen but after the error was produced.
How to reproduce it (as minimally and precisely as possible)

:Octo pr list and select any random PR
Open it

Tell us your environment
It is a https://github.com/python-discord/bot environment

Thanks for reporting the issue. Can you send me the output of :hi Normal in your system?

Here @pwntester

Hi @Shivansh-007 it should be fixed now, let me know if it works for you

New bug 😬

Unfortunately, that error is not very verbose. Is that everything that appears in :messages?

Umm, that doesn't seem to happen anymore, but the previous error is still not resolved and there is a new one :D

Are you opening a PR in a public repo? If so, can you share the repo and PR number?

Nope, I doing it locally, give me a minute, I will upload it on my dotfiles.

Okay, pushed, https://github.com/Shivansh-007/dotfiles/tree/main/.config/nvim

In the error, it seems like you were listing the issues or PRs of a repo. What was the full command you entered before getting the error?

:Octo pr list and clicking any random PR.

Thanks, what is the repo you are currently listing the issues for? I need it to reproduce the issue

Thanks, what is the repo you are currently listing the issues for? I need it to reproduce the issue

https://github.com/python-discord/bot/pull/1234

Thanks, can you try again. It seems like the GH API was missing some data as the reviewer requested when its a team

Ah Alright, works perfectly! Thanks ❤

Cool, will keep an eye on the GraphQL API to see if/when GH fixes the issue


Texture descriptions, Texture2D, 3D, etc.

Texture descriptions have now been added, needs finalizing and also doesn't support texture arrays, texture3d etc


Commenting ranges remain after leaving review mode

Issue Type: Bug
Testing https://github.com/Microsoft/vscode/issues/64262.

Create a PR using the extension
Open a file that's part of the PR (and make it stick)
Open the overview page of the PR
Merge the PR on the overview page
Hit the Exit Review Mode button
Switch to the editor from step 2)
-> Commenting range indicators are still there.

Extension version: 0.3.1
VS Code version: Code - Insiders 1.30.0-insider (fa87e67ebfd6b8014ba697ddbc6c2d6c0e2cb970, 2018-12-04T09:26:33.257Z)
OS version: Darwin x64 18.0.0

Review state is not getting cleaned up when the branch you switch to doesn't have an upstream


Review and update 'Email alerts not sent' page

Clarified that these instructions are useful for both investigating Icinga alerts and responding to user queries
Split out into two sections; one for specific troubleshooting for Travel/Drug/Medical alert emails, and one general troubleshooting guide
Keeps line length consistent
Cuts down duplicate references to<EMAIL_ADDRESS>and encapsulates these instructions in the Icinga alerts section
Reorders URLs A-Z

3:27pm merged. Now 4:27pm, not seeing the changes yet:
https://docs.publishing.service.gov.uk/manual/alerts/email-alerts.html

This project is re-deployed by a production Jenkins task every hour between 9am and 7pm (to pick up external changes). It is hosted on S3.

Going to dig into why this hasn't deployed yet.

Going to dig into why this hasn't deployed yet.

Tijmen's been making some changes to the govuk-developer-docs deployment process, I believe it's still broken at the moment.


Start bit in motorola signals from Vector dbc files

Hi
I noted in Vector dbc files (opened as a txt file) the start bit field is the real start bit when signal is intel byte order, but is the 'end bit' when signal is motorola byte order. Have you seen this? How do you handle that (because storeSignal and extractSignal must receive both the real start bit position)?
Thanks
Laercio

I've found the way here
setMsbStartbit

you are right, the dbc motorola start bit is a bit wired.
As this library is related to canmatrix, you can use canmatrix to get the right start bit.
I also wrote something about the start bit issue: https://github.com/ebroecker/canmatrix/wiki/signal-Byteorder
If you need some C implementation you can use this code: https://github.com/ebroecker/SocketCandecodeSignals/blob/master/datenbasis.c#L112
eduard

Thanks Eduard


Explain how to write docs for bundler.io

Thanks so much for the contribution!
To make reviewing this PR a bit easier, please fill out answers to the following questions.
What was the end-user problem that led to this PR?
The problem was...

When trying to add documentation for bundler.io, I was confused as to what files I should exactly add my changes.

What was your diagnosis of the problem?
My diagnosis was...

I asked around in Bundler's slack what file I should edit to make doc changes for bundler.io.

What is your fix for the problem, implemented in this PR?
My fix...

I added documentation that explains how editing .ronn files from bundler/bundler is all you need to update documentation about primary commands and utilities on the bundler.io site. I explained how it's not necessary to touch files from bundler/bundler-site.

Why did you choose this fix out of the possible options?
I chose this fix because...

Hopefully this will alleviate some confusion surrounding how to contribute to bundler's documentation, and how exactly .
Addresses one of the bullet-points from Issue #5026, specifically the "mention how the different doc files map to bundler.io and bundle help"
Refer to Issue #4987 for more in-depth context

Awesome! 👍

@bundlerbot r+


Get Function Return Value

Hey, i have yet another question xD
So i have been playing around with the library, working great but im wondering about the function calling.
Lets say i have this function in my class TestFunction:
public function getWeather()
{
    $weather = 'Sunny';
   echo $weather;
   return $weather;
}

In the above code, everything works fine and the bot will trigger the echo statement.
But lets say i want the bot to use the returned value, or atleast tell the user it has used the function.
Right now it will run the function, and the echo statement will show 'Sunny'. What approach would i take to make the bot reply with the returned value? Which is 'Sunny' in this case.  So for example bot reply would be 'Today its sunny outside!'. But the bot would choose the words to use.
Im using QuestionAnswer class to test this btw. I did notice the Message class has a static function called functionResult, where would this be stored?
I have been looking into the functions that make the function run, but im stuck on this atm.
Note: im testing on simple php website, nothing dynamic etc no javascript, i simply load the page to interact with the chatbot

Hey @samuelgjekic , you can use something like :
You can use generateTextOrReturnFunctionCalled so you can call manually the function yourself
$stringOrFunctionInfo = $this->openAIChat->generateTextOrReturnFunctionCalled($prompt);
if ($stringOrFunctionInfo instanceof FunctionInfo) {
        // $toolResponse can be a very long string
        $toolResponse = FunctionRunner::run($stringOrFunctionInfo);

You can parse the FunctionInfo yourself and decide to do whatever you want with it before calling other functions.
You can have a look in AutoPHP folder, I use it a lot.
Did it help you?

Hey @MaximeThoonsen thanks for your fast reply! I found the generateTextOrReturnFunction yesterday, but i did not know i had to run the function when checking the instanceof, thank you it works perfect.


Make SyntaxHighlighter.highlight! to return partially colorized string in case of error.

Feature Request
Currently, the crystal highlighter (Crystal::SyntaxHighlighter::Colorize) present two functions, highlight that colorizes a code or raises on error, or highlight! that colorize or returns the original uncolored code. This former behavior is not very useful if used in a REPL, because it will uncolorizes all the code in case of partial string. See below:

I propose to modify the function in order to return a partially colorized string in case of error, which in this case lead to better results:

I see three possibilities:

Modify highlight! for that return partially colorized string on error, and if anyone want the old behavior it could do it simply with highlight(code) rescue code. However it's a breaking change.
Add the feature in a new function like highlight_or_partial! (naming could be better).
Doing nothing, but the shard like reply have to monkey patch the highlighter to fix the behavior.

For consistency, I propose to apply the change also for (Crystal::SyntaxHighlighter::HTML).
I also prepared a PR for this, I will just wait which possibility we decide it's the best.

I'm not sure if this needs a change in SyntaxHighlighter A full implementation of partial syntax highlighting is very complex and not really necessary for this use case.
Instead, I think it would be a better option to handle this directly in the REPL. If highlighting the full code fails, it can just re-use the previously successful highlighting for the beginning substring.

If for 'partially' we actually mean 'colorized until the error, then uncolorized after'
the implementation is not very complex.
We only have to add a member @pos on the lexer and incrementing it every time the lexer goes forward.
Then in case of error we can just append the part after @pos to the already colorized string.
As follow:
Crystal::SyntaxHighlighter
  @pos = 0

  def highlight
     ...
    @pos = lexer.current_pos
    token = lexer.next_token
    ...
  end
end

class Crystal::SyntaxHighlighter::Colorize < Crystal::SyntaxHighlighter
  def self.highlight!(code : String)
    String.build do |io|
      new(io).highlight!(code)
    end
  end

  def highlight!(code : String)
    highlight(code)
  rescue
    @io <<<EMAIL_ADDRESS>  end
end

However I hadn't consider your idea of 'just re-use the previously successful' but this could be fine too, thank!

This definition of partial fits well for the interpreter's REPL, but for a general implementation it wouldn't be very great. Think of use cases such as an IDE or code examples on a website.
So I think it's better to implement an improvement specific to the REPL and do that directly at the place where it's used.

In an IDE you might also have partial input. I think there's no point in not doing this if it's easy.

I would generally expect from a syntax highlighter to highlight all the code that can be highlighted, and not break at the first syntax error, leaving everything behind without highlight.
Example:
class Foo
  def initialize
    @
  end
end

Note that the end keywords are highlighted. With the proposed implementation of partial highlighting, they wouldn't because the parser breaks at @.

With the proposed implementation of partial highlighting, they wouldn't because the parser breaks at @.

Aside from the proposed implementation, do you think it's a good idea to support this? I've been playing around with REPLY and having the syntax be colored even if there are errors would greatly improve the experience.

Yes, certainly! It's definitely a good and very useful improvement, even if it doesn't cover partial edge cases. All I'm saying since https://github.com/crystal-lang/crystal/issues/12689#issuecomment-1295913489 is just that I'd prefer to implement the logic for partial highlighting in the interpreter's REPL, and not make it a generic feature of SyntaxHighlighter.


Changed git clone Statement

Fixes #35 .
@deshraj @RishabhJain2018 @spyshiv

Codecov Report

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

@@           Coverage Diff           @@
##           master      #73   +/-   ##
=======================================
  Coverage   64.17%   64.17%
=======================================
  Files           7        7
  Lines         134      134
  Branches        8        8
=======================================
  Hits           86       86
  Misses         46       46
  Partials        2        2

Continue to review full report at Codecov.

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


What license does this crate use?

Is it MIT or another permissive license?

It's MIT, I had that set in the Cargo.toml but I didn't have a license file (until just now): https://github.com/expenses/goth-gltf/blob/4411edc0aa9157f68bc9f80fdb499e861f225354/Cargo.toml#L5


How to make Nuitka standalone fully statically linked

Is it trivial to make the standalone from Nuitka fully statically linked? Ie. statically include glibc?

That is not supported, since glibc ties to the kernel installed. We absolutely have to use the system glibc. For it to not be to old, build on the oldest system you want it to run on, so your binary doesn't require the new ones.


Upgrade thanos

What this PR does / why we need it:
Upgrades thanos helm chart and consequently the thanos application version.
Also adds the ability to use application credentials when using the swift storage backend.
Which issue this PR fixes:
fixes #1023
Public facing documentation PR (if applicable)
Special notes for reviewer:
Didn't add any migration guide for this as I didn't find anything necessary.
The same rules for when updating the object storage config still applies as before, where you need to manually rollout the pods that interacts with object strorage so that they load the latest secret version.
Add a screenshot or an example to illustrate the proposed solution:
Checklist:

[x] Added relevant notes to WIP-CHANGELOG.md
[x] Proper commit message prefix on all commits
[ ] Updated the public facing documentation
Is this changeset backwards compatible for existing clusters? Applying:

[x] is completely transparent, will not impact the workload in any way.
[ ] requires running a migration script.
[ ] will create noticeable cluster degradation.
E.g. logs or metrics are not being collected or Kubernetes API server
will not be responding while upgrading.
[ ] requires draining and/or replacing nodes.
[ ] will change any APIs.
E.g. removes or changes any CK8S config options or Kubernetes APIs.
[ ] will break the cluster.
I.e. full cluster migration is required.

Chart checklist (pick exactly one):

[ ] I upgraded no Chart.
[x] I upgraded a Chart and determined that no migration steps are needed.
[ ] I upgraded a Chart and added migration steps.

Pipeline config (if applicable)
If you change some config options (e.g. add/rename variable or change the default value) you may need to update the config used by the pipeline in pipeline/config.

did you check if we need to update the prometheus rules and alerts and grafana dashboards?

in my case after the upgrade receiver distributor went into oom for quite a long time.
did you have similar issues? maybe we can increase the memory limit

in my case after the upgrade receiver distributor went into oom for quite a long time. did you have similar issues? maybe we can increase the memory limit

I seem to have set the memory limit to 1Gi
thanos:
  receiveDistributor:
    resources:
      limits:
        memory: 1000Mi

so I would assume that I ran into the same issue as you, but I'll try running an upgrade again to see if it happens again

so I would assume that I ran into the same issue as you, but I'll try running an upgrade again to see if it happens again

Did not encounter this in my latest test.


Should Kubernetes have semantics for traffic profiles?

As part of the CN-WAN presentation in KubeCon NA, we raised the question: "Should Kubernetes have semantics in general for traffic profiles?".
Our motivation for asking this question comes from our experience with CN-WAN. We have found really helpful to have annotations that specify the traffic profile for an application (i.e. the type of traffic that the application generates or consumes). In the CN-WAN case, those traffic profiles help the CN-WAN components to optimize the application traffic over the WAN connection. We wonder if the model could be generalized and apply to Kubernetes applications in general, so that application traffic can be optimized not only on the WAN but in any network (e.g. cloud, DC, campus, etc) based on the traffic profile.
We would love to hear opinions on this idea, so we are opening this GitHub issue to collect the thoughts from the community.

Pinning this.
From a technical perspective, a CRD named TrafficProfile would be introduced and the CN-WAN Operator would implement a controller that reconciles them.

From a technical perspective, a CRD named TrafficProfile would be introduced and the CN-WAN Operator would implement a controller that reconciles them.

Yes, that's one way we could look at this. I'm curious on how the community sees this and which other approaches we should consider.


Transient issues spinning up servers related to pod reflector errors

Context
We often get support tickets along the lines of "can't spin up a user server" that appear to be transient in nature. Upon inspection of the logs, we see pod reflector errors which can be caused either by a k8s master API outage, or a race condition in the hub.
I have opened an issue in the jupyterhub/grafana-dashboards repo to ask for the k8s master API stats to be included since this will help us debug these types of issue: https://github.com/jupyterhub/grafana-dashboards/issues/34
Deleting the hub pod and allowing it to be recreated should help things if it was a race condition in the hub too.
Specifically, the pilot-hubs cluster is zonal, not regional, which means it's k8s master API is not highly available and is therefore more prone to these issues. See https://github.com/2i2c-org/infrastructure/issues/1102
Actions and updates

[ ] Resolve https://github.com/2i2c-org/infrastructure/issues/1055
[ ] Check whether this solved our problem (which will probably require just noticing whether this behavior pops up over time)

I've bounced (aka restarted) all the hub pods on the pilot-hubs cluster with this line:
kubectl get ns | choose 0 | rg -v aup | xargs -L1  kubectl  delete pod -l component=hub -n

choose is an awesome alternative to cut or awk, and rg is ripgrep an awesome alternative to grep. I skipped aup because I had already restarted that hub pod, and didn't want to do it again.

In this case, I think restarting the hub was the right call - I think we were just seeing https://github.com/jupyterhub/kubespawner/pull/525 again. I see the following line in the log:
[C 2022-03-15 03:26:39.979 JupyterHub spawner:2222] Pods reflector failed, halting Hub.

But the hub does not halt :)
I think what happened is:

k8s api had some downtime / latency issues
hub's reflectors failed multiple times during this, causing kubespawner to decide it needs to shut itself down
This triggers https://github.com/jupyterhub/kubespawner/pull/525, leaving the hub in a zombie state.

Restarting the pods fixes this, and upgrading to latest z2jh (which has https://github.com/jupyterhub/kubespawner/pull/525 in it) will fix this for good.

I think upgrading z2jh will help fix this.

Just noting that this issue is tracking upgrading Z2JH / JupyterHub to 2.0 (though maybe you're suggesting we upgrade to a later 1.x branch?

https://github.com/2i2c-org/infrastructure/issues/1055

@choldgraf nope, 2.x should fix it.

@yuvipanda awesome, I've updated the top comment to clarify the next steps here

Just noting that we have another incident related to this issue:

#1135

It looks like we can't solve this for good until z2jh 2.0 is released. Since this has become a fairly common problem, as a stopgap maybe we can share the actions that often resolve this problem in the top comment of this issue (or somewhere else?)
It seems like the easiest thing is to restart the hub pod, and it then works ok when it comes back. Is that right?

It seems like the easiest thing is to restart the hub pod, and it then works ok when it comes back. Is that right?

Yes

@choldgraf we don't need to wait for z2jh 2.0 (which will involve other work to upgrade) to get this fixed, as there's a released version of kubespawner with the fix. https://github.com/2i2c-org/infrastructure/pull/1137 should fix this.


Fields not being created in other object

We are setting up person accounts
logging:
Submitted Values: {Birthdate__c=1987-12-10, CommunityNickname=mike qattest3<EMAIL_ADDRESS>FirstName=Mike, LastName=Cleaver, Marketing_Optin__c=true, MobilePhone=002211, confirmPassword=HIDDEN, password=HIDDEN}
Record Id found was: null
About to create new Person Account
Person Account to create: (Account:{RecordTypeId=012Mn000000byhxIAA, FirstName=Mike, LastName=Cleaver, Marketing_Optin__c=true})****
I can't work out why the extra fields aren't being mapped. email, mobile are the important ones. We're also missing the marketing opt in (which is the same API name in both object).
what i can see in the code is https://github.com/SalesforceLabs/Configurable-Self-Registration-for-Experience-Cloud/blob/b247d4d477adad2c0861f1a36081429c34148f39/Configurable Self Registration LWC/Custom Registration/force-app/main/default/classes/SiteRegistrationController.cls#L261
this checks if the field exists on the account object, which it doesn't; mobile and email are personmobile and personemail so my understanding is the code never assigned those values. I don't understand why the marketing optin fields doesn't map as that exists the same in both account object and user. Community nickname also doesn't save in the user record.
1.88, clean install.

the logging shows the mapping of marketing optin happened but the record doesn't have the checkbox set

I have worked around the person account fields not populating, however, I would still like to know if the communitynickname can be correctly populated in the user record, currently it is defaulting the siteuserXXX value

All the fields are on the account object. so the __c mapping should be fine.
As for the mapping, won't the checkfieldexists return false because the account doesn't have email or mobile?
I used whatever metadata was supplied for the email and mobile.
i have added, as part of my PR, a code change to allow entering of the community nickname

I'll look back at the previous appExchange release (v1.8) before all of the passwordless and latest changes as I could swear this was working previously!

For the field check, the 'Email' > 'PersonEmail' field was actually outside of the checkExists() method call! So I've broken that...

There was never the same for mobile so that is new, but the same change applies to get it working again I think. It should also be 'MobilePhone' as the field name it looks for.

it's from the package and is mobilephone, so that's already correct I think
**

**

I've done some more testing this side.
In the latest version, I definitely broke the logic for mapping the packaged metadata fields to a Person Account. As you mentioned, the code was checking for 'Email' and 'MobilePhone' against the Account object which don't exist. They are called PersonEmail and PersonMobilePhone when using Person Accounts. So the logic for mapping the packaged fields to the appropriate Person Account fields never happens. It's an easy fix by moving the logic outside of the checkfield exists... The change is:

I've also tweaked the logic so that it references 'MobilePhone' and not 'Mobile'.
For the checkbox called Marketing Opt In mapping issue. It's likely to be permission related. I managed to reproduce it in my environment. The code is stripping inaccessible fields after it logs the "Person Account to create" so what you see there isn't necessarily what gets mapped if your guest user doesn't have access to the Marketing Opt In field...
SiteUtilities.messages.add('Person Account to create: ' + newPersonAccounts);
SObjectAccessDecision securityDecision = Security.stripInaccessible(AccessType.CREATABLE, newPersonAccounts);
srList = Database.insert(securityDecision.getRecords()[0], false);

To fix it, check that you have added the read/edit access to the "Custom Self Registration - Guest Access" Permission Set and ensure that is assigned to the site's guest user. I will add some logging into the custom object so its obvious that's what its doing and update the documentation.

I've checked in v1.89 branch with the changes mentioned in this issue. It'll go on the AppExchange soon but available here.


@dhutaryan/ngx-mat-timepicker" has an incompatible peer dependency to "@angular/material

Using package manager: npm
Collecting installed dependencies...
Found 64 dependencies.
Fetching dependency metadata from registry...
Package "@dhutaryan/ngx-mat-timepicker" has an incompatible peer dependency to "@angular/material" (requires "^17.0.0", would install "18.2.5").

Hey, what timepicker and material version do you use?

Hope you fixed that by using a correct version. Closing this issue


[refactor] use Ternary operator

By using the ternary operator, we can make the nesting shallower.

thanks


[Bug]: "Internal server error while processing request" error is displayed while forking any template

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When the user tries to fork any template then '''Internal server error while processing request" error is displayed on the screen.
Steps To Reproduce

Go to this url:- https://release.app.appsmith.com/applications
Click on the "Templates" button at the top
Now on templates page select any template
Click on "Fork this template" button and observe the error

Actual Result
Internal server error is displayed while forking the template.
Expected Result
User should be able to fork the template without any issues.
Note
Please refer to the attached video:- https://www.loom.com/share/08540f95963c4c0abf5aa810471e2b9b
POST https://release.app.appsmith.com/api/v1/app-templates/621c6c6589659f362e07f7b3/import/63318266a263271357401314 returns 500 with following response
{
  "responseMeta": {
    "status": 500,
    "success": false,
    "error": {
      "code": 5000,
      "message": "Internal server error while processing request"
    }
  }
}

Public Sample App
No response
Version
cloud v1.8.3

Closing. This seems to have been a temp issue. It is working now.


Error truncating DATABASECHANGELOGLOCK table in Hive, when running as a maven plugin

Hi,
First of all I would like to say well done to you for creating this extension - it's a great step forward in automating db management in Hadoop warehousing world.
I've been experimenting a bit with liquibase-impala on our testing cluster and I bumped into a following issue:
When running liquibase for Hive as a maven plugin - via mvn liquibase:do_sth (which may or may not have something to do with my issue), liquibase fails to execute liquibase:update goal with locking turned on, due to issuing a malformed TRUNCATE sql statement on databasechangeloglock table. TABLE keyword is missing after TRUNCATE. The following message appears:
[Cloudera][HiveJDBCDriver](500051) ERROR processing query/statement. Error Code: 40000, SQL state: TStatus(statusCode:ERROR_STATUS, infoMessages:[*org.apache.hive.service.cli.HiveSQLException:Error while compiling statement: FAILED: ParseException line 1:9 missing TABLE at 'DATABASECHANGELOGLOCK' near '<EOF>':17:16,
This is due to the fact that TruncateGenerator is selected instead of HiveTruncateGenerator, despite both of them supporting that particular call.
Closer inspection reveals that indeed the TABLE keyword is missing from TruncateGenerator. See https://github.com/eselyavka/liquibase-impala/blob/99c46ef487a4714f5cc02d7df6a4851b5efe3d83/src/main/java/liquibase/ext/metastore/sqlgenerator/TruncateGenerator.java#L39
A quick fix could be to add the missing keyword to TruncateGenerator. It shouldn't break anything since the extended syntax of 'TRUNCATE TABLE' is supported by both Hive and Impala. However, perhaps the real fix would be to adjust priorities of these generators or even remove HiveTruncateGenerator altogether after applying that SQL syntax fix? I can submit a pr, when we agree on the right way to resolve this issue.
What do you think @eselyavka ?

Hi,
Thanks to finding my plugin useful, feel free to open any PR which you think improve the plugin itself. I am totally agree to delete HiveTruncateGenerator and add missing keyword to TruncateGenerator.


IsConsecutiveComment validation not working with comments inside classes

The plugin cannot properly detect if the comment is to be considered consecutive if the comments are inside classes
The following example shows this behaviour more clearly:

[!NOTE]
I'm using error-lens to see the eslint errors directly in the editor

problem solved my friend


add on/observes

Looks like we have an issue with the 1.10 tests, though not directly with this PR.  I'll open a separate issue for that.

@stefanpenner - a few cleanup bits here, but otherwise good to go

updated based on comments

Thank you!


[Fuyctl Next] kfd.yaml optional requirements

update the dependencies definition file (kfd.yaml) with optional or required information for each dependency.

yaml should look like the following:
tools:
  ansible:
    version: 2.13.4
    required: true
  furyagent:
    version: 0.3.0
    required: true
  kubectl:
    version: 1.23.10
    required: true
  kustomize:
    version: 3.10.0
    required: true
  terraform:
    version: 0.15.4
    required: true

Please remember to update:

the schema
the parsing code
the validation logic, which should not fail in case a tool is not available and not required

Closing as we decided to follow a different path, where we'll have different tools grouped by provider (plus some common ones)


Version controlled seeder

Implementation of a version controlled seeder, plus seeder in general.

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

Sorry! Yes I do consider it, it is a fair deal!

I do appreciate your engagement @BorntraegerMarc, it is just always an up and down for me when it comes to time that I've got left :)

@wzrdtales no problemo. I understand the feeling only to well :)
Could you hit us with a message in case you decide to release a new version with the logs disabled? (Would really appreciate it)

Will do @BorntraegerMarc , currently am writing down some of the new logic and also refactoring some of the files to use const and let instead of var now that support prior 4.0.0 is dropped :)

Good news are, I had some time today and I mostly finished the rough stuff for the loader. it at least works already.

@BorntraegerMarc
Released

<EMAIL_ADDRESS>
This includes the refactoring to remove the deprecation notice for now.
Also the following fixes flown in
https://github.com/db-migrate/node-db-migrate/blob/467bf2a7ae72a05805015f7595335d5efbacd3ce/CHANGELOG.md#0103-2018-02-03

I wont have any time before before june, concerning the seeders they are still on hold if you want to help working on them you're welcome though :)

hey @wzrdtales love your work, just wondering how this feature is going?

closed in favour of redeclaration


pomerium: 0.25.2 -> 0.26.0

Description of changes
https://github.com/pomerium/pomerium/compare/v0.25.2...v0.26.0

Refresh patch allowing use of Envoy from nixpkgs

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

1 package built:

pomerium

@ofborg eval


Fixing decode_raw_op for complex numbers on big endian

The //tensorflow/python/kernel_tests:decode_raw_op_test fails as the current code for handling reversal of byte ordering of elements on big endian does not handle complex numbers correctly.
Fixes #33496

@jhseu , Could you please check?

Thanks @namrata-ibm! Could you please extend DecodeRawOpTest.testEndianness in https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/kernel_tests/decode_raw_op_test.py to include tests for complex values so that we can ensure your code is tested? Note I have recently cleaned up the file to be more 2.0 friendly.

@namrata-ibm Could you please check reviewer comments and keep us posted. Thanks!

Apologies for delay in reply!
@jaingaurav Is it ok to add a change as below:
  def testEndianness(self):
    self.assertAllEqual(
        [[0x04030201]],
        parsing_ops.decode_raw(
            ["\x01\x02\x03\x04"], dtypes.int32, little_endian=True))
    self.assertAllEqual(
        [[0x01020304]],
        parsing_ops.decode_raw(
            ["\x01\x02\x03\x04"], dtypes.int32, little_endian=False))
+    self.assertAllEqual(
+        [[1+2j]],
+        parsing_ops.decode_raw(
+            [b'\x00\x00\x80?\x00\x00\x00@'], dtypes.complex64, little_endian=True))
+    self.assertAllEqual(
+        [[1+2j]],
+        parsing_ops.decode_raw(
+            [b'?\x80\x00\x00@\x00\x00\x00'], dtypes.complex64, little_endian=False))

This verifies that input data representing a complex number "1+2j" needs swap midway(4 bytes each) for correctly identifying the real and imaginary data instead of full data reversal(8 bytes for complex64). This test passes on both x86_64 and s390x.

@namrata-ibm: Yes, that looks perfect.

@namrata-ibm Could you please address Ubuntu Sanity errors? Thanks!

Thanks for the fix @namrata-ibm!


Add readme, requirements.txt

🚀Feature Request
Add a readme for setup and requirements.txt for the backend
Description
The project is not documented properly with a readme and requirements for setup
Describe the solution you'd like
Create a readme file with all necessary headings and content. Refer to other open source project's readme
Freeze a requirements.txt for setting up the python backend in FastAPI
Additional context
Readme should contain the project setup, how to run, structure details and basic descriptions. Any other additions you want to do are welcome

Can you assign this issue to me.

Can the issue be assigned to me

can u assign me

According to rules @akshatvermavi has been assigned the issue on contrihub


One-liner Setup for shortfin

There should be a "Quickstart guide" on top of readme.md that lets people pip install shortfin and run a server really quickly, from an environment with no dependencies installed.

Fixed as part of https://github.com/nod-ai/shark-ai/issues/458. See https://github.com/nod-ai/shark-ai/blob/main/docs/user_guide.md

Oh, fixed for SDXL at least with those pages. Llama now also has https://github.com/nod-ai/shark-ai/blob/main/docs/shortfin/llm/user/e2e_llama8b_mi300x.md, but we'll want to keep iterating on those pages as support for more devices and models is finished.


Scaling not working

Hi, I'm trying to scale an SVG after opening it, but the Transform doesn't do anything.
let logo = try! SVGParser.parse(path: "logo")
   let view = MacawView(node: logo, frame: UIScreen.main.bounds)
   //this line has no effect
    view.node.place = Transform.move(dx: 100, dy:100).scale(sx: 4, sy: 4)
    self.view.addSubview(view)`

Hi Roberto,
It's usually a bad idea to change transformation of an existing node. Especially in case of SVG which can have some layout. Instead create your own scene and place SVG node there. Something like this:
let logo = try! SVGParser.parse(resource: "logo")
let scene = Group(contents: [logo], place: Transform.move(dx: 100, dy:100).scale(sx: 4, sy: 4))
let view = MacawView(node: scene, frame: UIScreen.main.bounds)
self.view.addSubview(view)`

Thank you!


Update Readme

Several bits of the readme are out of date, including:

Incorrect statement that code is only partially typed.
No documentation about requirement to install at the root of the domain/subdomain.
Possible other smaller issues.

Best to just do a pass over the readme.

Fixed with 4721cc3152d9a01c19fcdcdd42b430262df5152e.


[Feature Request] Allow local paths for embed images

What do you want to request?

Add the ability to use local file paths ie: ./pepega.png inside of Embed images
Do you have anything to tell us about your request?

Don't believe so

You can already do that, look into MessageAttachment's docs and Embed#attach.

Adding on that, though its a bit unclear how to link the attachment to a Embed property. For that, you have to use attachment://filename.ext as the URL.


Addon does not want to run because can't create './node_modules/zigbee-herdsman-converters/devices.js'

config:
zigbee_shepherd_devices: true
log:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] socat.sh: executing...
[07:17:15] INFO: Socat not enabled, marking service as down
[cont-init.d] socat.sh: exited 0.
[cont-init.d] zigbee2mqtt.sh: executing...
[07:17:16] INFO: MQTT available, fetching server detail ...
[07:17:16] INFO: Previous config file found, checking backup
[07:17:16] INFO: Creating backup config in '/share/zigbee2mqtt/.configuration.yaml.bk'
[07:17:17] INFO: File devices.js found, copying to ./node_modules/zigbee-herdsman-converters/
cp: can't create './node_modules/zigbee-herdsman-converters/devices.js': No such file or directory
[cont-init.d] zigbee2mqtt.sh: exited 1.
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
Where should the directory be?
Thank you for your help
Marek

The devices.js method is getting deprecated because of multiple problems during version upgrades. Please use the new custom device method in the docs: https://github.com/zigbee2mqtt/hassio-zigbee2mqtt/blob/master/zigbee2mqtt/DOCS.md#adding-support-for-new-devices

Well, the new method is applied but I don't get the same results, some states are missing and i lost functionnalities.
My devices.js was just running fine and now with this update, I lost states and exposes.
My changes in devices.js was just to allow a new manufacturer and was a copy of an existing one changing the model and manufacturerName.
const device =
{
zigbeeModel: ['wdxldoj'],
fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_ywdxldoj'}],
model: 'TS0601_thermostat',
vendor: 'TuYa',
description: 'Radiator valve with thermostat',
whiteLabel: [{vendor: 'Moes', model: 'HY369RT'}, {vendor: 'SHOJZJ', model: '378RT'}],
meta: {tuyaThermostatPreset: tuya.thermostatPresets, tuyaThermostatSystemMode: tuya.thermostatSystemModes3},
ota: ota.zigbeeOTA,
onEvent: tuya.onEventSetLocalTime,
fromZigbee: [fz.tuya_thermostat, fz.ignore_basic_report, fz.ignore_tuya_set_time],
toZigbee: [tz.tuya_thermostat_child_lock, tz.tuya_thermostat_window_detection, tz.tuya_thermostat_valve_detection,
tz.tuya_thermostat_current_heating_setpoint, tz.tuya_thermostat_auto_lock,
tz.tuya_thermostat_calibration, tz.tuya_thermostat_min_temp, tz.tuya_thermostat_max_temp,
tz.tuya_thermostat_boost_time, tz.tuya_thermostat_comfort_temp, tz.tuya_thermostat_eco_temp,
tz.tuya_thermostat_force_to_mode, tz.tuya_thermostat_force, tz.tuya_thermostat_preset, tz.tuya_thermostat_away_mode,
tz.tuya_thermostat_window_detect, tz.tuya_thermostat_schedule, tz.tuya_thermostat_week, tz.tuya_thermostat_away_preset],
exposes: [
e.child_lock(), e.window_detection(), e.battery_low(), e.valve_detection(), e.position(),
exposes.climate().withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
.withLocalTemperature(ea.STATE).withSystemMode(['heat', 'auto', 'off'], ea.STATE_SET)
.withRunningState(['idle', 'heat'], ea.STATE)
.withLocalTemperatureCalibration(ea.STATE_SET)
.withAwayMode().withPreset(['schedule', 'manual', 'boost', 'complex', 'comfort', 'eco']),
e.auto_lock(), e.away_mode(), e.away_preset_days(), e.boost_time(), e.comfort_temperature(), e.eco_temperature(), e.force(),
e.max_temperature(), e.min_temperature(), e.week(), e.away_preset_temperature()],
};
module.exports = device;
This was working perfectly !!! How can I go back to the previous version ?

Murada, just put the next few lines to beginning of the new js:
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const ota = require('zigbee-herdsman-converters/lib/ota');
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const e = exposes.presets;
const ea = exposes.access;
and any other constants from the device.js your device is using.

@kloodhu
Thanks for your help.
That's what i did, below is the complete code for this external_converter but instead of all states of the TRV, I only get the following:
{
    "away_mode": "OFF",
    "away_preset_days": 1,
    "away_preset_temperature": 15,
    "boost_time": 300,
    "comfort_temperature": 20,
    "current_heating_setpoint": 9,
    "eco_temperature": 15,
    "force": "normal",
    "linkquality": 10,
    "local_temperature": 20.5,
    "local_temperature_calibration": -1,
    "max_temperature": 25,
    "min_temperature": 9,
    "position": 0,
    "preset": "manual",
    "system_mode": "auto",
    "update": {
        "state": "idle"
    },
    "update_available": false,
    "week": "7"
}

Something is missing or the external_converters solution does not work as it should be.
The external_converters js file:
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const ota = require('zigbee-herdsman-converters/lib/ota');
const tuya = require('zigbee-herdsman-converters/lib/tuya');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const constants = require('zigbee-herdsman-converters/lib/constants');
const {repInterval, defaultBindGroup, OneJanuary2000} = require('zigbee-herdsman-converters/lib/constants');
const reporting = require('zigbee-herdsman-converters/lib/reporting');

const e = exposes.presets;
const ea = exposes.access;
const device =
    {
        zigbeeModel: ['wdxldoj'],
        fingerprint: [{modelID: 'TS0601', manufacturerName: '_TZE200_ywdxldoj'}],
        model: 'TS0601_thermostat',
        vendor: 'TuYa',
        description: 'Radiator valve with thermostat',
        whiteLabel: [{vendor: 'Moes', model: 'HY369RT'}, {vendor: 'SHOJZJ', model: '378RT'}],
        meta: {tuyaThermostatPreset: tuya.thermostatPresets, tuyaThermostatSystemMode: tuya.thermostatSystemModes3},
        ota: ota.zigbeeOTA,
        onEvent: tuya.onEventSetLocalTime,
        fromZigbee: [fz.tuya_thermostat, fz.ignore_basic_report, fz.ignore_tuya_set_time],
        toZigbee: [tz.tuya_thermostat_child_lock, tz.tuya_thermostat_window_detection, tz.tuya_thermostat_valve_detection,
            tz.tuya_thermostat_current_heating_setpoint, tz.tuya_thermostat_auto_lock,
            tz.tuya_thermostat_calibration, tz.tuya_thermostat_min_temp, tz.tuya_thermostat_max_temp,
            tz.tuya_thermostat_boost_time, tz.tuya_thermostat_comfort_temp, tz.tuya_thermostat_eco_temp,
            tz.tuya_thermostat_force_to_mode, tz.tuya_thermostat_force, tz.tuya_thermostat_preset, tz.tuya_thermostat_away_mode,
            tz.tuya_thermostat_window_detect, tz.tuya_thermostat_schedule, tz.tuya_thermostat_week, tz.tuya_thermostat_away_preset],
        exposes: [
            e.child_lock(), e.window_detection(), e.battery_low(), e.valve_detection(), e.position(),
            exposes.climate().withSetpoint('current_heating_setpoint', 5, 35, 0.5, ea.STATE_SET)
                .withLocalTemperature(ea.STATE).withSystemMode(['heat', 'auto', 'off'], ea.STATE_SET)
                .withRunningState(['idle', 'heat'], ea.STATE)
                .withLocalTemperatureCalibration(ea.STATE_SET)
                .withAwayMode().withPreset(['schedule', 'manual', 'boost', 'complex', 'comfort', 'eco']),
            e.auto_lock(), e.away_mode(), e.away_preset_days(), e.boost_time(), e.comfort_temperature(), e.eco_temperature(), e.force(),
            e.max_temperature(), e.min_temperature(), e.week(), e.away_preset_temperature()],
    };
module.exports = device;

Same problem with devices.js.
It should be possible to override an existing device in external_converters, right? I could not it to work with the XHS2-SE device.
external_converters:
- xhs2_se.js

/share/zigbee2mqtt/xhs2_se.js:
const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const e = exposes.presets;
const reporting = require('zigbee-herdsman-converters/lib/reporting');

const XHS2_SE = {
	zigbeeModel: ['XHS2-SE'],
	model: 'XHS2-SE',
	vendor: 'Sercomm',
	description: 'Magnetic door & window contact sensor (modified ext)',
	fromZigbee: [fz.ias_contact_alarm_1, fz.temperature, fz.battery],
	toZigbee: [],
	meta: {configureKey: 1, battery: {voltageToPercentage: '3V_2100'}},
	configure: async (device, coordinatorEndpoint, logger) => {
		const endpoint = device.getEndpoint(1);
		await reporting.bind(endpoint, coordinatorEndpoint, ['msTemperatureMeasurement', 'genPowerCfg']);
		await reporting.temperature(endpoint);
		await reporting.batteryVoltage(endpoint);
	},
	exposes: [e.contact(), e.battery_low(), e.tamper(), e.temperature(), e.battery(), e.voltage().withUnit('mV'), e.linkquality()]
};

module.exports = XHS2_SE;

I don't see any errors in the logs about it. If I do add an obvious error, like typing a nonsense "xyzxyz," I do see the error, so it seems to be loading the script, just not using it.
It worked fine in devices.js.
Any ideas?

Unfortunatelly i cant help more, but if you have a snapshot, you can restore an earlier version of the addon.

Thanks Kloodhu, that's an option. I see that's possible to just restore the addon and nothing else.
It seems that my device will be in the next update of zigbee2mqqt, that's the other option: wait for the update.
Probably, I will restore it and update when the new one is available.
Meanwhile, something is wrong when working with external converters. I hope that it will be fixed in the next releases.

@Koenkk can you please assist here? I think it's better to fix problems with external_converter than have people still use devices.js for mods.

@ciotlosm actually the devices.js method is quite simple for most of users and we expect you can get it back.

Hi clotlosm, this is for your help.
While trying to find a solution, I upgraded to the latest version 1.17.1-4 and lost connectivity with the adapter.
Trying to download a previous snapshot was not the solution.
After spending a lot of time, I decided to change the adapter with a newly flashed CC2531 adpater.
After booting up with this new adapter, everything works again, connectivity and external converters... Awesome !!!

@Murada99 what is the problem with the external converters here?

@Koenkk I made an external converter for a new model of TRV TS0601 and the states of the model were not complete: missing power state and others. After a change with a newly flashed adapter (CC2531), everything seems to work and I get all states back.
This issue can be closed.

@Murada99 And what version do you have? And can I ask for a link?

@MarekCoufal
The devices.js method is getting deprecated, you need to use esternal converters.
On the top of your zigbee2mqtt configuration.yaml (in the folder share) just add the following lines
{
"external_converters": [
"external_converters.js"
],
external_converters.js is a file that you need to create in the share directory with the device definition (see above my external_converts.js file).

@Murada99 Yes, I have an external converter, but I have the same problem you are describing: some states have stopped appearing to me. That's why I ask about the reflash and the FW version (I have version 20190608). Thank you

@MarekCoufal  My CC2531 is flashed with the last version 20200929. I got problems with the previous version 20190608.
https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator/Z-Stack_Home_1.2/bin/default
I have to pair 2 times to get everything working correctly.


e2e should automate creation of minikube

as

Is this a BUG REPORT or FEATURE REQUEST?
FEATURE REQUEST
Why is this required ?

It will help e2e to run testlogic (as Kubernetes Job, etc) in Minikube
It helps in automating creation of Minikube as well as running the openebs operators.
The rest of the automation is only creation of test logic in individual main.go file

How to do this ?

Take a look at elves/e2e project
Build necessary scripts that creates Minikube & runs openebs operator
Alternatively, It can be a Vagrantfile that creates a VM with Minikube & then runs openebs operator
Any other intuitive solution will be highly appreciated

The travis integration tests use the Minikube. The tasks of setup and tear down of K8s clusters is now handled via the https://github.com/openebs/litmus.


I just bought a 2.53i ratgdo controller which sends a motion status

msg.  Due to this I was seeing this in the indigo logs:
Error                           device "GarageController" state key motion not defined (ignoring update request)
So this small change will allow us to skip over new statuses from ratgdo that we don't know about.  As they come out, they can be added to Devices.xml at some point in the future.

Can you open an issue for the error message?  Then we can apply the PR to it.


Groovy version upgrade for JG branch

Pull Request Description
This pull request closes strongbox/strongbox#1705, #1854
Acceptance Test

[x] Building the code of the strongbox-parent with mvn clean install still works.
[x] Building the code of the strongbox project with mvn clean install -Dintegration.tests still works.
[x] Running mvn spring-boot:run in the strongbox-web-core still starts up the application correctly.
[x] Building the code and running the strongbox-distribution from a zip or tar.gz still works.
[ ] The tests in the strongbox-web-integration-tests still run properly.

Questions

Does this pull request break backward compatibility?

[ ] Yes
[x] No

Does this pull request require other pull requests to be merged first?

[ ] Yes, please see #...
[x] No

Does this require an update of the documentation?

[ ] Yes, please see strongbox/strongbox-docs#{PR_NUMBER}
[x] No

Code Review And Pre-Merge Checklist

[x] My code follows the coding convention of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code in hard-to-understand areas.
[x] My changes generate no new warnings.

This pull request needs to be rebased, as it has a lot of noise and has a conflict.

This pull request needs to be rebased, as it has a lot of noise and has a conflict. Will re-test after the rebase.

Rebased, not sure why still it has commits from master.


Feature/create-local-database

-created edit endpoints and controller functions for editing exercise set, exercise type, workout, and routine.
-created an endpoint and controller functions for getting scores by muscle group by day

looks good to me


from typing import Callable doesnt trigger correct IntelliSense

Issue Type: Bug
After
from typing import C..
VS Code cannot offer Callable and others (see ipython picture import bellow).
The same behaviour I checked on Python 3.7 and 3.6, on windows Python and Linux Python virtualized under Windows.
I confirmed the same issue on a different Window machine as well.
I checked Python source code whether Callable is listed in __all__ and everything seems fine.
Extension version: 2019.9.34911
VS Code version: Code 1.38.1 (b37e54c98e1a74ba89e03073e5a3761284e3ffb0, 2019-09-11T13:35:15.005Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Pentium(R) CPU 2020M @ 2.40GHz (2 x 2395)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: disabled_offnative_gpu_memory_buffers: disabled_softwareoop_rasterization: disabled_offprotected_video_decode: enabledrasterization: enabledskia_deferred_display_list: disabled_offskia_renderer: disabled_offsurface_synchronization: enabled_onvideo_decode: unavailable_offviz_display_compositor: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.88GB (1.25GB free)

Process Argv
.

Screen Reader
no

VM
0%

Import works fine

IPython works as expected

This is #535. We implement the typing module in the LS directly (as it is a part of our type system), and some members have not yet been implemented.


Add Japanese books (TypeScript, Rust)

What does this PR do?
Add resources
For resources
Description
Add links to TypeScript, Rust books
I also add a section on Rust.
Why is this valuable (or not)?

仕事ですぐに使えるTypeScript
This is a book where we can learn practical web front-end.

The Rust Programming Language 日本語版
This is a translation of the official guide into Japanese.

Rust by Example 日本語版
This is the Japanese translation of the "Rust By Example" posted on the official website.

How do we know it's really free?

仕事ですぐに使えるTypeScript
It is available for free under CC BY-SA 4.0.
This book is also available on GitHub.

The Rust Programming Language 日本語版
It can be found on the official Rust website in Japanese.

Rust by Example 日本語版
This book has been translated and published by the same community as the above book.

For book lists, is it a book? For course lists, is it a course? etc.
Yes, these are all books
Checklist:

[x] Read our contributing guidelines
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction)

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Super additions!


Online System is already？

Oops... It is ready almost a month ago. But there is something wrong currently.
We do not provide the service and I will contact the provider for checking.

Thank you for your great work. Still waiting to try the online system.

Hi, thanks for the interest. Can you retry? It should be accessible now in most cases.


Calling readMetadata in parallel w/ 100+ items consistently causes trouble

Fixed it by using Async's mapSeries.
Before I was fairly consistently seeing a few {ready[numbers]} and {begin[numbers]} try getting returned which caused an error with JSON.parse.

Fixed in https://github.com/Sobesednik/node-exiftool/releases/tag/v2.0.3
@KyleAMathews could you confirm please.

Yup working now! Looped over ~4500 files w/o a glitch (took 15 seconds fwiw).
I am getting this error now Warning: Possible EventEmitter memory leak detected. 11 data listeners added. Use emitter.setMaxListeners() to increase limit — is there any easy way to increase the limit from the outside of this lib?

@KyleAMathews should be fixed now in 2.1.1

@z-vr upgraded and no more eventemitter leaks! Things look really smooth now, thanks!

@KyleAMathews np thanks for testing!


fix: should be kib version not ib version

What problem does this PR solve?:
typo for kib version (ib_version rather than kib_version)
Which issue(s) does this PR fix?:
N/A
Special notes for your reviewer:
typo in KIB Version
Does this PR introduce a user-facing change?:
No new features

Closing - from Shalin:
"you can close it. I will file another PR right away. ..."


Fix "Review or modify your settings" bug

When I visit the site of the Hartford Public Library with scheme 0, I am shown the banner, and I click on "Review or modify your settings," I am not redirected to the settings page. Rather, the Hartford Public Library site is reloaded. The same happens on coinbase. So, I am assuming this is not an isolated incident of one site breaking but a fundamental issue.
Please also check the other schemes with links to "Review or modify your settings," in banners or wherever they are, to make sure the link is working everywhere.

So I've been looking into this issue, and I actually think it's deeper than just the review/modify settings button. Upon clicking "Enable GPC", I seemed to trigger a sort of loop:

So I think there is an issue with our listeners... I'm not sure why this is occurring though. Will continue to look into it, but if @ekuller or @chunyuema could take a quick look into this as well it might be helpful!

I will look into this issue now.

Thank you, @chunyuema!

The problem is just that there is not an appropriate recipient in the service worker to receive the message that is sent when the link is pressed (could've been accidentally deleted at some point?). @chunyuema I can push the fix if you want.


datagrid version 5.17.8 still has the error steps to reproduce

          > > > > datagrid version 5.17.8 still has the error steps to reproduce

place datagrid on a page
place datagrid on the same page inside dialog
open dialog and click on datagrid row

as a result publishClick** event fired twice for both datagrids but second event can't find column.
Any thoughts why event rowClick event fired twice for both datagrids?

This is more or less the exact setup I have too. When opening a Dialog with another DataGrid inside the column.type check fails

Make sure you don't have a cicle dependencies in your code. As this was exactly what happened to me. It clicks cicle twice instead of one time.

Can you explain a bit more? This same issue is bugging me, and I don't seem to get a solution from Google.

Adding e.stopPropagation() to the click handler fixed it for me.
Originally posted by @peter-hg in https://github.com/mui/material-ui/issues/30562#issuecomment-1412236543
but when i put e.stopPropagation()   GridActionsCellItem doesn't work

The solution is put   e.stopPropagation()
<DataGrid
...anotherProps
onCellClick={(row, e) => e.stopPropagation()}
/>

is the best solution for this problem  thankyou  you have earned a beer, my friend