ssIasZone enrollment

Currently, enrollment commands are all over devices.js and they look like this:
                (cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb),
                (cb) => device.functional('ssIasZone', 'enrollRsp', {
                    enrollrspcode: 1,
                    zoneid: 23,
                }, cb),

The issue is that this is not exactly correct. While it works in many cases, with two devices I'm attempting to write handlers for, it does not.
The correct process for enrollment is as follows:

CIE sets iasCieAddr in ssIasZone on Zone Device.
Zone Device responds with a devChange indicating the change has taken place.
(optional) Zone Device sends an Enrollment request to the CIE
CIE sends an Enrollment Response indicating zoneID

The issue with the way this is being handled currently is that we are not waiting for step 2. If the device, like mine, takes a particularly long time to set the IEEE address or there are network issues, then when step 4 occurs, the Zone Device does not regard the CIE as authoritative and therefore does not respond to the Enroll Response being sent.
I don't see an easy way to handle the "waiting" portion with the current infrastructure. I've tried something like this, but it doesn't seem to work.
    device_ssIasZone_devChange: {
      cid: 'ssIasZone',
      type: 'devChange',
      convert: (model, msg, publish, options) => {
        console.log("ssIasZone devChange",msg.data);
        if('iasCieAddr' in msg.data.data) {
          msg.endpoints.functional('ssIasZone', 'enrollRsp', {
                    enrollrspcode: 1,
                    zoneid: 23,
                }, (cb) => console.log(cb));
        }
      }

As a hacky solution, we could increase the delay between the commands, this is an optional fourth argument that can be provided to the execute function, can you e.g. set this to 5000 and check if it works?

I've tried it as high as 10000 and it still didn't work.
But... I think I found another issue that, when resolved, allows this to work okay with the assumptions in place. The issue (in zigbee2mqtt) that the "configure" function runs multiple times during devIncoming, so I think the enrollmentResponse is being sent in a time not appropriate for when the multiple attempts to set iasCieAddr are firing. I've made some changes to deviceConfigure.js and if they pan out, I'll send you a PR.

Can you share deviceConfiguration.js if you fix? I have same problem.

I've tried it as high as 10000 and it still didn't work.
But... I think I found another issue that, when resolved, allows this to work okay with the assumptions in place. The issue (in zigbee2mqtt) that the "configure" function runs multiple times during devIncoming, so I think the enrollmentResponse is being sent in a time not appropriate for when the multiple attempts to set iasCieAddr are firing. I've made some changes to deviceConfigure.js and if they pan out, I'll send you a PR.

We are facing with this problem. Can you share your fix ?


plss help

goldencredit gave me help but that doesnt work no i know i get this error

wait i think there's no code like that in the latest version of the bot

Gonna close this issue as it's being resolved on the discord server.


Upgrade Java toolchain version from 8 to 11

On an M1 MacBook Pro, a build will fail if a local installation of JDK 8 does not exist. This is due to the fact that Adoptium does not provide a compatible version of JDK 8 for aarch64.
The purpose of this PR is to workaround this by temporarily upgrading the Java toolchain version to 11 while we wait for a Gradle Build Tool fix, at which point, this change can be reverted.
See also: gradle/gradle-build-scan-quickstart#32

I don't understand why the yaml files need to be changed, too. The idea of the toolchain is that one can decouple the Java version used to run the Gradle build from the Java version used to compile, test, etc.

Also, if we use Java 11 in the toolchain, it means the Java classes we create will require to also use Java 11 to run the scripts (which invoke the java cmd line utilities).

On an M1 MacBook Pro, a build will fail if a local installation of JDK 8 does not exist. This is due to the fact that Adoptium does not provide a compatible version of JDK 8 for aarch64.

I don't quite follow. The link you provide points to Temurin. And there, there is a JDK8 version for aarch64:
https://adoptium.net/de/temurin/releases/?version=8

I don't quite follow. The link you provide points to Temurin. And there, there is a JDK8 version for aarch64:
https://adoptium.net/de/temurin/releases/?version=8

That JDK is for Linux, not macOS. If you switch the JDK version to 11, you can see there is an explicit entry for macOS.

Could we make this change conditional?  Use the Java 8 toolchain, unless the build is running on an Apple Silicone Macbook, in which case use the Java 11 toolchain?
Alternatively, if we use the Java 11 toolchain, can we still configure the build to use Java 8 source level, and produce Java 8 bytecode?

Alternatively, if we use the Java 11 toolchain, can we still configure the build to use Java 8 source level, and produce Java 8 bytecode?

I've pushed changes that I believe does exactly this. When running locally, a compatible version of JDK 11 is auto provisioned and I can run fetch-build-scan-data-cmdline-tool using an already existing installation of Java 8.

@etiennestuder, please let me know if you feel this is an acceptable solution. With this approach I think we should configure the job to use Java 11 to avoid the need to auto provision it.
Note: I think CI may be failing due to a bad build cache key. I ran a build with no changes aside from adding a build cache shard and achieved a successful build. Without the shard, the build fails.

I think there are several confusing factors here but hopefully this should clear it up.
From a high level, we want these scripts to always be compatible with JDK8. This is why the toolchain declaration exists. We shouldn't change this. It is not clear to me that your change Eric does this. It isn't clear to me what the behavior on the JavaCompile task would be. Would the java release be overridden by the toolchain? The tests will now be run using java 11 which is not what we want.
The fact that the Gradle build tool does not automatically download a compatible JDK in the java 8 mac arm64 case is a separate issue. To resolve that issue, you can download a compatible JDK for your machine. I recommend Zulu.
You can also configure the toolchain location for your machine like so.

It is not clear to me that your change Eric does this. It isn't clear to me what the behavior on the JavaCompile task would be.

I agree with this. Closing this PR.


Single-sided RPC spans are not recognized for dependency diagram

Specifically, in Cassandra implementation in zipkin-dependencies-spark, not sure about other stores.
There are situations where only the server or the client is instrumented, yet it is able to identify the peer and emit a ClientAddress or ServerAddress annotation within the single-sided span.  I want to add a test to the DependecyStoreSpec that will expect the store to return a parent-child link even for this span.
I also want to extend the DependencyLink model to include a boolean flag singleSided that will indicate that even though this link has been detected from the span, the instrumentation is not actually complete, which is useful for adoption tracking stats. Such link can be displayed in the UI as a dashed line. At minimum I would like to have this flag in the thrift class.
fyi, the change is meant to pass these two tests:
  /**
   * In some cases an RPC call is made where one of the two services is not instrumented.
   * However, if the other service is able to emit "sa" or "ca" annotation with a service
   * name, the link can still be constructed.
   */
  @Test def getDependenciesOnlyServerInstrumented() = {
    val client = Endpoint(127 << 24 | 1, 9410, "not-instrumented-client")
    val server = Endpoint(127 << 24 | 2, 9410, "instrumented-server")

    val trace = ApplyTimestampAndDuration(List(
      Span(10L, "get", 10L, annotations = List(
        Annotation((today + 100) * 1000, Constants.ServerRecv, Some(server)),
        Annotation((today + 350) * 1000, Constants.ServerSend, Some(server))),
        binaryAnnotations = List(
          BinaryAnnotation(Constants.ClientAddr, true, Some(client))))
    ))
    processDependencies(trace)

    val traceDuration = Trace.duration(trace).get
    result(store.getDependencies(today + 1000)).sortBy(_.parent) should be(
      List(
        new DependencyLink("not-instrumented-client", "instrumented-server", 1)
      )
    )
  }

  /**
   * In some cases an RPC call is made where one of the two services is not instrumented.
   * However, if the other service is able to emit "sa" or "ca" annotation with a service
   * name, the link can still be constructed.
   */
  @Test def getDependenciesOnlyClientInstrumented() = {
    val client = Endpoint(127 << 24 | 1, 9410, "instrumented-client")
    val server = Endpoint(127 << 24 | 2, 9410, "not-instrumented-server")

    val trace = ApplyTimestampAndDuration(List(
      Span(10L, "get", 10L, annotations = List(
        Annotation((today + 100) * 1000, Constants.ClientSend, Some(client)),
        Annotation((today + 350) * 1000, Constants.ClientRecv, Some(client))),
        binaryAnnotations = List(
          BinaryAnnotation(Constants.ServerAddr, true, Some(server))))
    ))
    processDependencies(trace)

    val traceDuration = Trace.duration(trace).get
    result(store.getDependencies(today + 1000)).sortBy(_.parent) should be(
      List(
        new DependencyLink("instrumented-client", "not-instrumented-server", 1)
      )
    )
  }

As I am not familiar with other span store implementations, the new test will be disabled there, for now.
Any objections / suggestions?

Actually, it might be better to use an enum {ParentAndChild, ParentOnly, ChildOnly} instead of a boolean flag.

this looks sensible. I'd just name the endpoints "client" "server" so it is easier to understand (than the prior test)

Actually, it might be better to use an enum {ParentAndChild, ParentOnly,
ChildOnly} instead of a boolean flag.

So the crux of this is the single-side span. Ex where these annotations are
logged into separate span ids vs the norm in zipkin where the same span
includes both client and server sides of the operation.
This would impact users who do this intentionally in zipkin, and also those
who use HTrace, which only supports single-size spans.
One key question here is whether or not this aspect should be the job of
the aggregator vs the job of the data format.
For example, can you raise visibility of the impacts of having the
aggregation job address this case? Ex. leave the result alone, and just
address the collapsing etc before the links are created, or by an
intermediate step?

@eirslett there are two issues in this issue maybe you can help us think through.
one is supporting the parent/child case with the dependency link format as exists today, particularly when someone doesn't do the zipkin norm, which is to log client and server events in the same span.
the second issue is a proposal to add flags to the link data type itself. I'm usually sensitive to adding things that look complex, so probably more balanced for someone else to comment besides me.

ps deleted my above note, which worried about the {ParentAndChild, ParentOnly, ChildOnly}. I don't want to cause FUD. I think this is actually not risking the dependency link itself, and the use case of tracking sounds quite interesting.
It might make the aggregation work more complex (ex more in a SQL query, or another intermediate state), but as far as I can tell doesn't change the cardinality of dependencyLinks (which was my first concern).
@yurishkuro mind bumping this into its own issue? I think I'm on board

I do not think it is necessary.
You can get all unique services by sr/ss compare them with unique by ca and there you have your stats.

@jcarres-mdsol to be clear, you are suggesting that the concern of reporting uninstrumented edges can be addressed in a different manner. Ex that the dependency graph doesn't need to hold this concern?

Just to clarify what I want to do. I think of Dependency Graph as representing the architecture of the system, showing which services talk to each other. That function should be independent of how different tracers report data on RPC spans - one span or two spans. But at least in the Cassandra Spark job it is implemented to only build a link between two services if their names come from two distinct spans. I want to change that, and allow the job to consider, for example, standalone spans where the other service is still known (from SA or CA), as that still represents a valid architectural link.
As an illustration, look at the issue https://github.com/openzipkin/zipkin/issues/917. For a human it is obvious that there are 3 services involved in that "headless" trace, but the test expects only one link in the output.
So that's the primary objective of this ticket. The enum field is just a bit of extra data to record in each link, since the job now knows which of the two services was actually sending spans that were responsible for the link.
@jcarres-mdsol I am not quite following your suggestion. There is no way to query Cassandra in bulk, a M/R job is the only way to process all the data.  Per above, all the information is already present during the main Spark job, so the recording that information in the link seems like the best approach.

@adriancole @jcarres-mdsol I've updated the description with the actual two new tests I am using to test the behavior. So far they only account for the shape of the graph, not for the extra enum describing the edge origin.

@yurishkuro We have services (api gateway services) and databases which only are instrumented at either server or client side and they appear in the dependency overview when using zipkin-dependencies-spark.

@kristofa it does work if the client is instrumented and emits ServerAddress. It does not work if only the server is instrumented, see https://github.com/openzipkin/zipkin/issues/917

Seems to make sense to add support for one-sided spans (where client is instrumented and emits ServerAddress).
I'm hesitant to adding an enum though. I get the impression it's just added schema when it's otherwise implied when reading the dependency graph.

@michaelsembwever the graph only says a->b, it doesn't say if a and b have been instrumented, and that info is critical in driving the adoption efforts in the company.

@yurishkuro

that info is critical in driving the adoption efforts in the company.

that type of rationale bears no weight in any open source project.
and i think you know that.
either promote the idea for what it's worth, or fork the project.
Forking the project isn't a negative thing always. If you've got a company that requires a faster cadence that it can rationalise and get patches accepted then it's perfectly normal that the company keeps a fork so it gets what it wants and can take patience in arguing for and moving ideas back into the main repository. Maintaining a forked repository so it stay close to the original involves a little effort, but a rather trivial amount if you ask me.
In this manner, a company fork that's kept close to the original, is a Capabilities Interface, without weighing the community with the effort of it.

It's nearing on 5 years since this idea was floated. Apart from that, the idea of using the dependency diagram to track adoption stats has never really caught on.
Other than that, this issue is notable as we see @michaelsembwever foretell the Forking of Zipkin.


Abstract the fetch mockery code

Maybe we could just expose a method that says installMocks that would return a properly configured fetchMock instance as well as setup all the expected things.
Or just abstract the setup code to a single submodule and expose a method setFetch.
See this thread: https://github.com/resin-io-modules/resin-pine/pull/25

Hey @pimterry after thinking more about it I think we may have a problem.
That wasn't the case with mocking the global fetch but now as we have to plug it into the request module this won't work for the sub-dependencies.
Imagine this graph:
A -> B -> resin-request (1)
 \-> C -> resin-request (2)

npm may not lift both instances of resin-request, especially if incompatible versions are requested.
Now if the tests in A try to setup the mock for resin-request it will only work for the module in A/node_modules/resin-request. Thus mocking the endpoints used by C may not happen.
DI is one of the obvious solutions to the problem but I don't like the idea of changing the code because of the tests requirements.
Am I missing something?

@emirotin Yep, that's a problem - there's nothing we can do to guarantee we get a single resin-request instance: http://justjs.com/posts/singletons-in-node-js-modules-cannot-be-trusted-or-why-you-can-t-just-do-var-foo-require-baz-init. Generally, the recommended way to deal with this is dependency injection (as that article mentions, this is what express etc do).
I'm fine with DI. I wouldn't think of it in terms of changing for the tests; it's simply a change that allows the downstream consumer (be that tests, or a real downstream module) to decide and configure the resin-request you use. That's useful even without this: it means the downstream module is responsible for the resin-request setup, and responsible for deciding which version to use (so it also becomes the one single place we normally have to change to upgrade resin-request everywhere).
It becomes essential anyway for some kinds of options actually already. If you want to turn on debug for all resin requests at the moment, you can't, because each module manages its own. And in fact this has just shown me a potential bug: all the modules already building their own resin-request's (e.g. resin-pine) take and set up only with dataDirectory. They don't take or use isBrowser, which means they have stream() defined when used in the browser (where it'll try to require rindle, and crash).
DI's a good thing regardless of testing, and would also make all this testing logic simpler as a bonus. I'm getting more and more convinced that we should just do it.

And in fact this has just shown me a potential bug: all the modules already building their own resin-request's (e.g. resin-pine) take and set up only with dataDirectory. They don't take or use isBrowser, which means they have stream() defined when used in the browser

Wait, don't they pass the entire options object down the stream?
In general if you think the DI should be used OK let's switch to it.
My biggest concern is that with the push model we split the knowledge. Right now every module defines and manages its dependencies, just by CommonJS+npm design.
With DI the consumer is now responsible for knowing which deps should be injected where. And the SDK for instance will have to be very careful with the order of instantiating all the deps.
With singleton instances we will also have troubles with circular deps.
If you know the answers to the abovementioned concerns (some elegant DI container to use instead of orchestrating the things ourselves) let's try. I'm willing to finalize the SDK thing as soon as possible, but obviously reliable tests are the must.
Just for reference I have already implemented a kind of DI in the SDK PR, with circular deps issue being solved by deferred evaluation. But it was easier as all the dependencies are local to the SDK project.

Wait, don't they pass the entire options object down the stream?

ADD: if they don't they should start doing regardless

In general if you think the DI should be used OK let's switch to it.

I can get all the PRs updated to inject resin-request without much trouble at all. Are there any other dependencies that it's really important to have consistent between every module? Resin-token maybe? That would let us drop the dataDirectory argument totally for these sdk modules.

With DI the consumer is now responsible for knowing which deps should be injected where. And the SDK for instance will have to be very careful with the order of instantiating all the deps.

I think this isn't too bad: every module's factory declares its runtime dependencies, so it's pretty explicit, within the module itself, and you just have to find an order that fulfills what every constructor is says it wants. As long as we don't go crazy that should be fairly easy I think.

Circular dependencies

This bit is potentially painful. What circular dependencies do we have?

If you know the answers to the abovementioned concerns (some elegant DI container to use instead of orchestrating the things ourselves) let's try.

I think we can keep this fairly simple, and we shouldn't need a fancy container framework. If we do, we've probably gone wrong. I'd like to just inject the one or two modules that we need to be consistent and shared between instances to start with. It doesn't need to be every single module right now or anything like that, and we can incrementally expand this later only when we need to.

Wait, don't they pass the entire options object down the stream?

ADD: if they don't they should start doing regardless

I'm not sure that's true: modules could use the same option name differently, and providing a bunch of unrelated options to every module seems weird. Doesn't matter though, since this isn't a problem with DI (these options all get set once at the top level, not passed around).

Are there any other dependencies that it's really important to have consistent between every module? Resin-token maybe?

This is the only module that deals with storage. So indeed if it's injected preconfigured with the dataDIrectory all other modules can forget about this option wich is good.
I don't think there's another module like that. Here's the updated dependency diagram: https://resin-sdk-modules-kpjhjrzoxv.now.sh/. I may have missed something, but I believe it's accurate.

What circular dependencies do we have?

Actually, I don't think we do now. It's the case with the SDK modules that I have solved and that made me cautious about using the DI.

I'd like to just inject the one or two modules that we need to be consistent and shared between instances to start with.

Cool, let's try with the request and token modules and see how it goes. Refer to the same scheme above about the order of changes and the modules that need to be checked.
The change will result in new major versions. Please also check for reasonable dependencies updates, and write the most recent versions here [https://github.com/resin-io/resin-sdk/issues/221#issuecomment-252509879] after publishing.

I'm not sure that's true: modules could use the same option name differently, and providing a bunch of unrelated options to every module seems weird.

Well, not blindly of course. But things like debug may need to be carefully sent down the stream.

Closed by https://github.com/resin-io-modules/resin-request/pull/89


New contributors page

Status
n Progress
Related Issues
fixes: https://github.com/demisto/etc/issues/37815
Description
Added new Contributors page
Screenshots
Paste here any images that will help the reviewer

@Itay4 Please review

currently each column in the grid has different width, please align all to be of the same width


when in a ssh session and in case of default user only display where …

…instead of who@where:
This commit changes the prompt of the agnoster theme to only display the hostname instead of user@hostname in case the user is the default user and the session is ssh.

@sachin21 yep, thanks. fixed it.

+1

created pull request from master branch; will do a new request from feature branch


FSA does not support deepcopy

import torch

from icefall import CtcTrainingGraphCompiler

 class Conformer(torch.nn.Module):
     def __init__(
         self,
         encoder: torch.nn.Module,
         decoder: torch.nn.Module,
         joiner: torch.nn.Module,
     ) :
         super(Conformer, self).__init__()
         self.graph_compiler = CtcTrainingGraphCompiler(...)

    def forward(self, x: torch.Tensor) -> torch.Tensor:
        ...

model = Conformer(...)

I tried to copy model by model_cp = copy.deepcopy(model), but get error like
   model_cp= copy.deepcopy(model)
  File "/home/disk1/anaconda3/envs/k2-cu116/lib/python3.8/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/home/disk1/anaconda3/envs/k2-cu116/lib/python3.8/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/home/disk1/anaconda3/envs/k2-cu116/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/home/disk1/anaconda3/envs/k2-cu116/lib/python3.8/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/home/disk1/anaconda3/envs/k2-cu116/lib/python3.8/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/home/disk1/anaconda3/envs/k2-cu116/lib/python3.8/copy.py", line 271, in _reconstruct
    if hasattr(y, '__setstate__'):
  File "/home/disk1/anaconda3/envs/k2-cu116/lib/python3.8/site-packages/k2/fsa.py", line 493, in __getattr__
    if name in self._tensor_attr:
  File "/home/disk1/anaconda3/envs/k2-cu116/lib/python3.8/site-packages/k2/fsa.py", line 493, in __getattr__
    if name in self._tensor_attr:
  File "/home/disk1/anaconda3/envs/k2-cu116/lib/python3.8/site-packages/k2/fsa.py", line 493, in __getattr__
    if name in self._tensor_attr:
  [Previous line repeated 989 more times]
RecursionError: maximum recursion depth exceeded

How to fix this ? Or can I copy without model.graph_compiler ?

You can treat a graph compiler being immutable, so a shallow copy is good enough.

Ok, thanks.


Significant performance drop and loss of scalability after Redisson client upgrade

Hello,
There is a significant performance drop and loss of scalability after upgrading Redisson client from 2.2.12 to 3.10.6.
The performance (throughput - number of requests per second) dropped by almost 40% and the scalability of the Spring-boot app using it was lost, meaning that adding more instances of the Spring-boot app doesn't increase the system's throughput.
Some technical details:
Redis 3.0.7 64 bit in cluster mode - 3 masters and 3 slaves.
Spring-boot 1.4.1.RELEASE (12 instances, one on its own machine)
Please find attached redisson.json file redisson-3.10.6.json.txt
The reason why the client was originally upgraded was because of the following error that appeared in the log:

ERROR - An error occurred when opening a session. Error: Can't aquire connection to /<IP_ADDRESS>:7000 org.redisson.client.RedisConnectionException: Can't aquire connection to /<IP_ADDRESS>:7000
at org.redisson.connection.pool.ConnectionPool.get(ConnectionPool.java:180)

With the previous client version the performance was excellent and the solution was scalable.
Please advise.
Regards,
Nethanel

Did you try to check it with a profiler?

Yes. A significant amount of the CPU time is spent in redisson.
The only difference between the two versions of the spring-boot app is the redisson client.
Is there some kind of configuration in redisson.json that should be done?
It seems there is some kind of bottleneck across the whole system.

Can you record a session with https://jdk.java.net/jmc/8 and share it?

I'll try to do it at my earliest and let you know.
In the meanwhile, is there any configuration modification that can be done in order to improve the performance?

Did you try to reduce pool size to 100?

The performance issue was solved by reverting back to Redisson 2.2.12.
Due to time constraints with the customer, the alternative paths could not be investigated.
Thanks for your help.


Won't work with overflow: scroll.

Wow.js won't won't in div that is set to overflow: scroll;

I am having the same problem although I have specified the container element in the config object .

window.addEventListener('scroll', function (e) {         if ($(window).scrollTop() <= 50) {             $('.wow').removeClass('animated');             $('.wow').removeAttr('style');             new WOW().init();         }     });
It worked for me on scroll but in local machine only but won't work in dev Server

any luck with this issue? it's driving me mad!


Add materialize.

https://github.com/thoughtbot/Argo/issues/248#issuecomment-144622463 got me thinking that materialize could be useful after all.
cc @edwardaux

Do you think we need to support the case where they want to customize the error message that is returned in a Custom error case? As in, have a second parameter that's a closure or something with the an ErrorType parameter maybe.

Yeah, I think so. We could use error.description if that parameter isn't provided.

have a second parameter that's a closure or something with the an ErrorType parameter maybe

I'm not sure what you mean by that exactly. How about just have that parameter be a String?

So I'm thinking that someone might want to customize the error message based on the error returned. I could see 3 implementations for this function (() throws -> T) -> Decoded<T>, (() throws -> T, String) -> Decoded<T>, and (() throws -> T, ErrorType -> String) -> Decoded<T> ... does that make sense? I'm not sure that this is something we want to do or even if it's useful.
@gfontenot thoughts?

Those 3 implementations might combine to 1 implementation with the use of @autoclosure and a default.

I feel like we should lean on the custom error type for now. If this gets enough use to warrant the other use cases, we'll notice.

I'm cool with that :+1:

merged here: 220a492102d2e9c080b0b2890da7a22be1bb8b00


Nginx-ingress post requests return "The method is not allowed for the requested URL"

Is this a request for help?: no

Is this a BUG REPORT or FEATURE REQUEST? (choose one):  BUG REPORT

Version of Helm and Kubernetes:
Helm Version: v2.12.3
Kubernetes Version: v1.13.3
Which chart:
stable/nginx-ingress
What happened:
HTTP POST requests returns 405 error code : The method is not allowed for the requested URL
Output from nginx-ingress controller pod:
***** - [*****] - - [14/Feb/2019:16:11:30 +0000] "POST /<service>/request/action HTTP/1.1" 405 64 "-" "PostmanRuntime/7.6.0" 433 0.004 [default-<service>-80] ****:80 64 0.004 405 31e6d12e4ba1402008f678f08825118e
When i used port-forwarding to the service - the application responded as expected
What you expected to happen:
The Application respond to the request
How to reproduce it (as minimally and precisely as possible):
It happend to on helm version: 1.3.0 app version: 0.22.0
Ingress configuration:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
  rules:
  - host: hostname.domainname
    http:
      paths:
      - backend:
          serviceName: servicename
          servicePort: 80
        path: /servicename

Anything else we need to know:
Rolleback to helm version: 1.1.2 app version: 0.21.0 "fixed" the issue

meet the same issue...
Version of Helm and Kubernetes:
Helm Version: v2.12.2
Kubernetes Version: v1.13.3
Chart
stable/nginx-ingress:1.3.1

I am affected by this issue too. Can confirm it works while port-forwarding is used.

Could you reopen this? I am also affect by this.


Update gh-pages visuals and hierarchy

@whmii any updates on this PR? Good to go?

Hey, forgot about this guy. I'll get it merged in on friday.

ping @whmii


update example info in readme

minor change, resolves #518

Nevermind, I'm dumb, the sample models are already a submodule, not sure how i missed that.


Error on single embedded type

Using create for @embedded type is throwing the following error:
"Argument 'data' expected type 'PlayerCreateInput!' but got: ... "
To Reproduce
Steps to reproduce the behavior:

Deploy a new prisma server with the following datamodel:

type Player {
  id: ID! @id
  nick: String!
  shirtNumber: Int!
  personalInfo: PersonalInfo
}

type PersonalInfo @embedded {
  name: String!
  lastName: String
}

Run the following mutation

mutation {
  createPlayer(
    data: {
      nick: "Tom"
      shirtNumber: 0
      personalInfo: {
        create: {
          name:"Tommy"
          lastName:"Nabo"
        }
      }
    }
  ) {
    id
    nick
    shirtNumber
    personalInfo {
      name
      lastName
    }
  }
}

See the error

Expected behavior
It should not throw an error.
Screenshots

Versions (please complete the following information):

Connector: MongoDB
prisma CLI: 1.30.0 (darwin-x64) node-v11.9.0
OS: OS X High Sierra
other dependencies: prisma-binding, graphql-yoga

Additional context
If I create a player without  an @embedded type, works!

@EfrenSanchez Is this your latest datamodel? The error message suggests that there is a required field position of type PlayerPosition that is not provided, maybe you did a deploy and did not reload the playground. Can you please confirm?


Support Squash in the Merge API

See this blog post.  I use a bot that could automatically merge pull requests for me, but I prefer the newer option to squash commits before merging and leave a reference to the pull request number in the commit message.

Yep, it'll require preview period accept types. Something I'm working on. https://github.com/mikedeboer/node-github/pull/353


Fix cluster image replication logic

As mentioned in https://github.com/lxc/lxd/pull/8640 our current cluster image replication logic isn't exactly ideal.
With that code removed, there are still a few issues to sort out to get the level of reliability we need for this feature:

autoSyncImagesTask should run hourly instead of daily
autoSyncImages should iterate over all images, not just the locally available ones
imageSyncBetweenNodes should be updated to use our image handling API, get a client for the first address in syncNodeAddresses and use that as the source of CopyImage to copy to the target. This way the leader which runs this scheduled task will be able to replicate images that it doesn't itself locally own
autoSyncImages should be run from clusterPutJoin and clusterNodeDelete to ensure we replicate things as we grow/shrink
autoSyncImages should also be called from doApi10UpdateTriggers so a change in cluster.images_minimal_replica also triggers a new run

With that done, joining a 4th node to a 3 nodes cluster with a cached and a locally published image should cause no replication (cached image should be stored on 1 node, published one on all 3). Increasing the setting to 4 should lead to immediate replication. Reducing that to two and remove/re-add node 3 and 4 should have them join without any image replicated. Removing node 2 should cause the published image to be replicated on either node 3 or 4. The cached image should never be replicated.

@monstermunchkin oh and make sure that the calls to autoSyncImages from the clusterNodeDelete function is a blocking call.
We shouldn't continue with the cluster node removal process if we didn't manage to replicate the images it held as that could lead to data loss.

autoSyncImages should be run from clusterPutJoin and clusterNodeDelete to ensure we replicate things as we grow/shrink

@stgraber It's already run in clusterPutJoin when the function calls d.startClusterTasks(). Should we just do the same in clusterNodeDelete or only perform autoSyncImages?

@stgraber Nevermind, as you mentioned in your other comment it should be a blocking call, and d.startClusterTasks() won't block.

We shouldn't continue with the cluster node removal process if we didn't manage to replicate the images it held as that could lead to data loss.

@stgraber What if force is set to 1? Blocking seems like a bad idea in that case.

It's probably fine to ignore errors when forcing the removal as indeed we may not have another source for the image.

What I mostly want to avoid is it being spun off in a goroutine and possibly having more nodes removed before it's done running, causing some images to go unreplicated and missing from the cluster.


Rustup installs i686 versions on 64-bit Windows

I had to manually specify x86_64-pc-windows-gnu triple to get 64-bit version.
Is it intended?

It appears that win.rustup.rs is (sort of) an alias to
https://static.rust-lang.org/rustup/dist/i686-pc-windows-gnu/rustup-setup.exe
(32 bit Mingw build)

This is intended, for two reasons: 1) I'd much rather have users download a single program than have to pick between 32-bit and 64-bit builds (or worse - between 32/64/gnu/msvc), 2) There's no particular reason to tie the default architecture to the architecture of the download.
Right now you can switch to a 64-bit toolchains by installing them explicitly, like rustup default nightly-x86_64-pc-windows-gnu.
I suspect that my preferred ultimate solution will be to have a configuration option for default host. At install time (perhaps just on windows), we'll mention "oh, and this is the target you'll build for by default", and then it can be changed interactively (or via command line switch).

In the meantime, if you really need a build that defaults to 64-bit you can still download it from the "other installation methods" section of the README.

Here's a bug on the default host.

Ah, I'm going to close this in favor of the aforementioned bug.


KOGITO-5560 remove 'preview'label from community website

ref https://issues.redhat.com/browse/KOGITO-5560
Left UNchanged for
https://github.com/kiegroup/kogito-runtimes/blob/22ea3901db6410efccaeeaa287a294e540c69a82/quarkus/extensions/kogito-quarkus-serverless-workflow-extension/kogito-quarkus-serverless-workflow/src/main/resources/META-INF/quarkus-extension.yaml#L13
as requested

How to retest this PR or trigger a specific build:

Run all builds
Please add comment: Jenkins retest this

Run (or rerun) specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] tests

Quarkus LTS checks
Please add comment: Jenkins run LTS

Run (or rerun) LTS specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] LTS

Native checks
Please add comment: Jenkins run native

Run (or rerun) native specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] native

Full Kogito testing (with cloud images and operator BDD testing)
Please add comment: Jenkins run BDD
This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...

The (build) Apps check has failed. Please check the logs.

for some reason most extensions are still showing up as preview? @gsmet https://code.quarkus.io/?extension-search=kogito

I don't see any status in your extension descriptor and I don't see any override anywhere either (but I might have missed something). Maybe @i3andy or @aloubyansky would know more about what is the default in this case.

AFAIK default is stable

Hi @gsmet @ia3andy @aloubyansky I have checked again today (forced browser cache refresh) but these are still showing as preview:

I thought removing from extension descriptor, per this PR, would have show them without the Preview boxed label. What am I missing, please?

I don't think this PR is already available in code.quarkus.io, @gsmet?

If I build the current platform main branch, only the serverless workflow is preview.

Actually, you controlled it, see for example https://github.com/kiegroup/kogito-runtimes/blob/1.9.0.Final/kogito-quarkus-parent/kogito-quarkus-decisions-extension/kogito-quarkus-decisions/src/main/resources/META-INF/quarkus-extension.yaml#L12
Which is removed from https://github.com/kiegroup/kogito-runtimes/blob/1.10.0.Final/quarkus/extensions/kogito-quarkus-decisions-extension/kogito-quarkus-decisions/src/main/resources/META-INF/quarkus-extension.yaml
So once a platform including 1.10 is released, you'll see the effects of it.

once a platform including 1.10 is released, you'll see the effects of it.

thank you @aloubyansky


Fix order of arguments of calloc call

According to the man page of calloc it seems the number of elements comes first and the struct size second.

Fair point.  Thanks for the patching.  Merging.


Customize/disable "out" animation for the data zoom feature.

What problem does this feature solve?
When using the data zoom feature in bar chart, bars that appear rise up while the ones that disappear make this odd right-left transition. It looks altogether very chaotic, but the only way to prevent it is to switch off the whole animation, which doesn't look nice either.
What does the proposed API look like?
dataZoom: {
animation: {...}
}
or:
dataZoom: {
animationIn: {...}
animationOut: {...}
}

Do you wish to disable animationOut?

Hi, yes, exactly!


CI failure in test_stop_single_worker on Python 3

Ran into an issue in test_stop_single_worker with the Python 3 where the worker failed to clean up its scratch space directory. More details in this build log. Snippet with the test failure also included below. The same failure did not occur on Python 2.
=================================== FAILURES ===================================
___________________________ test_stop_single_worker ____________________________
loop = <tornado.platform.epoll.EPollIOLoop object at 0x7f260a3a22b0>
    def test_stop_single_worker(loop):
        with DRMAACluster(scheduler_port=0) as cluster:
            with Client(cluster, loop=loop) as client:
                cluster.start_workers(2)
                future = client.submit(lambda x: x + 1, 1)
                assert future.result() == 2
                while len(client.ncores()) < 2:
                    sleep(0.1)

                a, b = cluster.workers
                local_dir = client.run(lambda dask_worker: dask_worker.local_dir,
                                       workers=[a])[a]
                assert os.path.exists(local_dir)

                cluster.stop_workers(a)
                start = time()
                while len(client.ncores()) != 1:
                    sleep(0.2)
                    assert time() < start + 60
>       assert not os.path.exists(local_dir)
E       AssertionError: assert not True
E        +  where True = <function exists at 0x7f262a9ae950>('/dask-drmaa/dask-worker-space/worker-w5gj31no')
E        +    where <function exists at 0x7f262a9ae950> = <module 'posixpath' from '/opt/anaconda/lib/python3.6/posixpath.py'>.exists
E        +      where <module 'posixpath' from '/opt/anaconda/lib/python3.6/posixpath.py'> = os.path
dask_drmaa/tests/test_core.py:117: AssertionError
========== 1 failed, 20 passed, 1 skipped, 1 xfailed in 96.55 seconds ==========

FWIW after restarting, the issue went away. So it may be a sporadic issue. Will watch for recurrence.

Closing to consolidate into issue ( https://github.com/dask/dask-drmaa/issues/93 ).


941160 reacts to img

Description
I am using Coraza as module in Caddy with below directives:
Include @coraza.conf-recommended
		Include @crs-setup.conf.example
		Include @owasp_crs/*.conf
		SecRuleEngine On

When submitting a POST request with img tag request gets 403 with reference to 941160 ID, which does not seem to even be related to img. Tried changing different things in img, but only complete removal of it or leaving it as  solves the problem. I get that it should be reacting to img src, meaning, that I probably need to somehow disable or adjust the rule (can I somehow allow src with relative paths only?), but even if I leave  - it still matches, although from XSS attack this looks safe (and pointless).
How to reproduce the misbehavior (-> curl call)
For "baseline":
curl -X POST https://sandbox.coreruleset.org/ \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'test=

'

Something that actually seems faulty to me:
curl -X POST https://sandbox.coreruleset.org/ \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'test=

'

Logs
Curls provided
Your Environment

Using Coraza https://github.com/corazawaf/coraza-caddy, not sure how to see which version is used there
Confirmation
[X ] I have removed any personal data (email addresses, IP addresses,
passwords, domain names) from any logs posted.

Hi @Simbiat,
thanks for reporting.
Please take a look at the rule 941160 and its comment. There you can see how the regex is built.
Here you can see the parts of the regex what is mentioned in the comment.
The data file has many blocks, but (I think) these two parts which produces that the <img  pattern matches with that regex:

this line adds the < character
this matches with the img  (with the space at the end)

Please take a look: https://regex101.com/r/Dhj15K/1 with pattern img  (with the space at the end).
And I think that's intended, not accident (so may be it's not FP).
I suggest you to create an exclusion to avoid this behavior.

I have checked the regex before creating the issue, and I do understand why it matches in my case, but I still think this may be a bug, because it matches even an img without src or any of the event attributes. Yes, such HTML is unlikely to happen, but you can theoretically have legitimate img, that are then populated through JS based on some logic. That, in turn, may become an XSS vulnerability, but that would be beyond the scope of this particular rule.

Okay, we will take a look it on our next monthly chat.
Thanks again.

Speaking of exclusion for this, I've tried various things, now I've come to this:
# Allow HTML when submitting new posts
# Phase 1: Identify and mark the request for exclusion
SecRule REQUEST_METHOD "POST" "phase:1,nolog,pass,id:10000"
SecRule REQUEST_URI "^/api/" "phase:1,nolog,pass,chain"
SecRule ARGS_NAMES "@rx ^postForm\[text\]$" "id:10001,phase:1,pass,nolog,ctl:requestBodyAccess=On,ctl:ruleRemoveById=941160"
# Phase 2: Apply the exclusion based on the marking from phase 1
SecRule REQUEST_METHOD "POST" "phase:2,nolog,pass,id:10002"
SecRule REQUEST_URI "^/api/" "phase:2,nolog,pass,chain"
SecRule ARGS_NAMES "@rx ^postForm\[text\]$" "id:10003,phase:2,pass,nolog,ctl:ruleRemoveById=941160"
Include @coraza.conf-recommended
Include @crs-setup.conf.example
Include @owasp_crs/*.conf
SecRuleEngine On

It still blocks the requests, though. I also tried putting SecRule after includes, too, still no luck. Although I have little idea of what I am doing. What I want is to ignore 941160 rule for postForm\[text\] field in POST request to specific URI. What am I doing wrong?

Speaking of exclusion for this, I've tried various things, now I've come to this:
# Allow HTML when submitting new posts
# Phase 1: Identify and mark the request for exclusion
SecRule REQUEST_METHOD "POST" "phase:1,nolog,pass,id:10000"
SecRule REQUEST_URI "^/api/" "phase:1,nolog,pass,chain"
SecRule ARGS_NAMES "@rx ^postForm\[text\]$" "id:10001,phase:1,pass,nolog,ctl:requestBodyAccess=On,ctl:ruleRemoveById=941160"
# Phase 2: Apply the exclusion based on the marking from phase 1
SecRule REQUEST_METHOD "POST" "phase:2,nolog,pass,id:10002"
SecRule REQUEST_URI "^/api/" "phase:2,nolog,pass,chain"
SecRule ARGS_NAMES "@rx ^postForm\[text\]$" "id:10003,phase:2,pass,nolog,ctl:ruleRemoveById=941160"
Include @coraza.conf-recommended
Include @crs-setup.conf.example
Include @owasp_crs/*.conf
SecRuleEngine On

It still blocks the requests, though. I also tried putting SecRule after includes, too, still no luck. Although I have little idea of what I am doing. What I want is to ignore 941160 rule for postForm\[text\] field in POST request to specific URI. What am I doing wrong?

I try to understand your rules above, but why is there one with id:10000?
And the next rule does not have any id.
Same as with the id:10002 and the next.
Perhaps you miss the chain?
If I were you I would take a look it at again... May be this is what you would have wanted:
SecRule REQUEST_METHOD "@strEq POST" \
    "id:10000,\
    phase:1,\
    nolog,\
    pass,\
    chain"
    SecRule REQUEST_URI "@rx ^/api/" \
        "chain"
            SecRule ARGS_NAMES "@rx ^postForm\[text\]$"  \
                "id:10001,\
                ctl:requestBodyAccess=On,\
                ctl:ruleRemoveById=941160"

(but I don't see the reason the ctl:requestBodyAccess=On).
Based on this, you should take a review with the other (chained) rule.
Please pay more attention of these:

a chained rule must have only one id
only one disruptive action (pass)
use explicit operators (see ModSecurity's issue #3081)

As I've mentioned I had no idea what I was doing (never had a need to customize ModSecujrity rules before), so I relied on GPT. Digging a bit more into documentation I've found a suitable way to do this, which I shared in the previous comment. Since it was missed, I would like to highlight again, that img was also triggering 942100 rule, after 941160 was skipped for it, so this may need to be included in the planned discussion, too.

I agree that the rule should not match  assemble
  ##! HTML tag opening bracket
  <
  ##!=>
  ##! Quotes, punctuation, brackets, etc.
  [^\w<>]*
  ##!=>
  ##! More or less `\w`, followed by `:`, which would match `xml:base`, together with the
  ##! list defined later.
  (?:[^<>\"'\s]*:)?
  ##!=>
  ##! Quotes, punctuation, brackets, etc.
  [^\w<>]*
  ##!=>
  ##! Quotes, punctuation, brackets, etc., angle brackets allowed
  \W*?
  ##!=< html-tag-prefix
##!<

What this is supposed to match, is the start of one of a list of tags considered dangerous w.r.t. noscript. This list includes img.
Now, even though that's probably not exactly what makes the most sense for CRS, the rule does exactly what it advertises, it detects HTML injection. Whether he HTML is valid or not doesn't really make a difference.
We'll have to discuss in the team what to do about the rule. In general, however, it is quite normal for CRS to block on HTML in the request payload.

I agree, that CRS should block HTML by default, but considering WYSIWIG editors exist (at least), in some cases you will need to allow HTML through and sanitize it with some other means rather than block it entirely. Perhaps it would make sense to move this to a separate rule? I mean 941160 rule seems to be checking quite a few things at once

Perhaps it would make sense to move this to a separate rule? I mean 941160 rule seems to be checking quite a few things at once

Yes, possibly.

We've discussed this issue in the team. We understand that this rule is not ideal, however, it's aggressiveness also makes it good at its job, which is to detect any HTML. We do not have the resources to make adjustments to this rule at the moment, as we have to prioritise other work, though we do welcome pull requests, if you would like to help out.
Our usual advice in these situations is for people to create rule exclusions (which you are familiar with, I believe), or to adjust the behaviour of their application, if they can.
I've opened a PR that improves the documentation of the rule, so at least we now know what it actually does :)


About computing the mask M

In the 'softmax_with_policy' function:
attn_policy = attn_policy + (1.0 - attn_policy) * eye
Is the second item ( (1.0 - attn_policy) * eye)  equal to 0

Exactly. I wrote this disturbing line just to make sure every token is always doing self-attention with itself. However, from the logic of the code, the second item seems to be useless anyway. Your finding is correct.

Ok, thanks!


WFLY-10653 Improve EL performance

https://issues.jboss.org/browse/WFLY-10653

Looks like a missing module dependency on org.wildfly.common.

Retest this please


Integer from floating-point description

I'm sure I'll need to losslessly parse arbitrary floating-point numbers at some point.

I'll work on this for a while. Maybe I'll fix Apple's JSON decoder while I'm at it.

:magic_wand: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles: :sparkles:

So it turns out that you can clamp the exponent to the bounds of Int, if the maximum number of characters is Int.max. But this only works if you normalize the integer, fraction, and exponent parts in a specific way. Otherwise, the saturation may introduce lossy behavior near Int.max character inputs. You'll never actually parse numbers that big, but there's a proper way of doing it with signed same-size integers. I considered using sign-magnitude to get an extra bit of space, but then I thought of the normalization thing. Signed integer buffer sizes save the day again.

But a sign-magnitude exponent is simpler in practice because applying the normalization bias correctly is nontrivial.

I want to support JSON, JSON5 and whatever Swift is doing.
The JSON ones work, but I just realized that Swift parses this thing: "{sign}{hex}.{hex}p{sign}{decimal}".
I'll totally parse that too, but mixing hex and decimal is rude :(

Sign and magnitude exponent saturation does not work in the case of "0x{hex}.{hex}p{decimal}" since the exponent part respresents a binary multiplier. You need more bits, basically. It might be simpler to just limit the input size to some silly-big-but-small-enough number. Hm.

So, I bascally have a lossless strtod-as-int now. I'll just have to add some more tests and clean it up a bit. Also, I'm sure I'm the last one to figure this out by myself, but you can skip a bunch of comparisons by "lowercasing" bytes as (x | 32).

Hm. Theres a tricky edge case for integer sizes that aren't multiples of 4. Adding a hexadecimal digit might overflow the significand but be brought back into range by the binary exponent. Remember that strtod uses a hex-hex-bin format. I have banned silly integers for a reason in this project, but I suppose I might want to solve it regardless.

I've been writing it in Swift proper with thoughts of porting it to this project, but the opposite seems wiser given that I have infrastructure I might want to evolve with the solution. Zzz. At least I found some edge cases that only applies to the former.

Hm. I wonder if the exponent type in BinaryInteger/power(_:) should be UX. I think there's some merit in using Magnitude but the shift-by-1 approach doesn't scale well beyond register sizes.


The response design does not support '<md' and '@md'

windicss support '<md' and '@md', but unocss not.
This is my unocss configuration in nuxt3. I have 3 designs(pc | ipad | mobile)
shortcuts: [
[/^pc-([a-z]+)-(\d+)$/, ([, w, d]) => xl:${w}-[${d}px] lg:${w}-[${(1600 / 1920) * d}px]],
[/^ipad-([a-z]+)-(\d+)$/, ([, w, d]) => md:${w}-[${d / 7.68}vw]],
[/^mobile-([a-z]+)-(\d+)$/, ([, w, d]) => ${w}-[${d / 3.75}vw]],
],
But,I want to have 4 media steps,I hope that moble-x-x is not default,like  [/^mobile-([a-z]+)-(\d+)$/, ([, w, d]) => <md:${w}-[${d / 3.75}vw]]

[ ]  @media max-width:768px
[ ] @media min-width:768px and max-width:1024px
[ ] @media min-width:1024px and max-width:1280px
[ ] @media min-width:1280px

TBH I personally do not enjoy the way Windi use those symbol to represent the difference. We have lt-sm to replace <sm in preset-uno, and yes we are lacking of at-sm so PR welcome :)


QubitOrder should be called QidOrder

Right?

There are many things already called 'qubit' when I added qudits to Cirq.  At the time, we decided not to rename the large number of function and argument names already in Cirq, especially since qudits are a minor use case.

Discussed on Cirq Cynque:

even if we'd rename it, a better name would be quditorder.
to benefit our users, we will keep the more familiar qubitorder

Closing.


Less shimmery water

I stepped the zoom transition on what seams the most efficient why to make the water shimmering zoom transition less  uncomfortable in this PR https://github.com/tangrams/tron/commit/9ada6fe3d07444b4f6c483c8a07bac7498fb3799
@sensescape feel free to adapt the scale of the shimmering triangular pattern with this two defines values (SHIMMERING_ZOOM_IN and SHIMMERING_ZOOM_OUT) here

ok. thanks! @patriciogonzalezvivo


Create Infrastructure and any APIs for creating, loading, saving setups

This was rolled into previous check-ins, but I forgot to close this. Editing/Saving of setups will happen through the settings app, but the infrastructure is in place for applying the changes.


Share pass uses too much system memory for large combinatorial networks

Version
Yosys 0.36+85 (git sha1 f26495e54, clang 10.0.0-4ubuntu1 -fPIC -Os)
On which OS did this happen?
Linux
Reproduction Steps
yosys_crash.zip

Extract the .zip file
cd yosys_crash/top
bash ghdl_and_yosys.sh

The .sh script invokes the GHDL plugin for yosys and then yosys like so (just with a bunch more VHDL files than show below - sorry):
#!/usr/bin/env bash
export GHDL_PREFIX=/usr/local/lib/ghdl
# Elab+Syn
/usr/local/bin/yosys -m ghdl  -p 'ghdl --std=08 -frelaxed ../top/top_f7ea.vhd  -e top_f7ea; synth_ecp5 -abc9 -nowidelut  -top top_f7ea -json top_f7ea.json; write_edif -top top_f7ea  top_f7ea.edf'

The design is a large combinatorial network between a set of registers. Directory is output from a tool, not human written code.
Expected Behavior
Output .json file, no huge jump in RAM use that locks up the system.
Actual Behavior
During step 2.17. Executing SHARE pass (SAT-based resource sharing). RAM usage on my PC climbs rapidly (typically uses total few GBs then climbs to 10+GB). System/program crashes eventually.
Can be worked around by commenting out the share pass from https://github.com/YosysHQ/yosys/blob/f26495e54d936830e067e66b91bfac824011897c/techlibs/ecp5/synth_ecp5.cc#L294
Also share -fast seems to behave the same way.

Yes, this is known/expected given the way share works. Although I didn't expect to need a -noshare option (like the synth pass has) for smaller devices, as I thought it's not likely to run into designs that cause excessive time/memory usage, but it seems you managed to find one. Is the design realistic/something you would actually want to run on an ecp5 board in practice, or more of a benchmark?
Either way, the only solution I can think of is not running share for this design.

Yes, a cmd line switch to disable this share pass would be great, ex. if  -noshare existed to use in this case.
I would turn that switch on for this particular version of the design to disable share. The goal here is to continue to PnR and evaluate the timing of the large combinatorial path. So this version of code will never see real hardware, just collecting data.
However, given the data collected, the large comb. network is pipelined and would that version of the design would benefit from turning share back on (not being all comb. shouldnt use a bunch of ram). That design absolutely runs on ecp5 does very cool stuff in hardware :nerd_face: https://blog.yosyshq.com/p/3d-raytracing/ <ghdl,yosys,nextpnr3


feat: New V3 Identity

Uses the new V3 Identity for Groups. Gets rid of accountAddress in favor of inboxId.
Will add support for smart contract wallets in a follow up PR.

There are a bunch of tests failing because members() func was not returning properly (issue) in some cases and that was fixed in a libxmtp update yesterday in this PR - https://github.com/xmtp/libxmtp/pull/781
I'm thinking it's okay to merge this, but we should follow up with another android/ios releases to get in latest libxmtp, or we can wait with this PR, wdyt @nplasterer ?

@cameronvoell since I used semantic commits in this one I think it would be better to wait... I just don't want a known broken package out there.

🚀


Feature/ancillaries

Some notes about what I did:

Implemented new AncillaryView and AncillaryBridge classes for iOS
Separate CodePush deployment for ancillaries
ancillaries.jsbundle is generated, ancillaries are separated from main.jsbundle
AncillaryFactory is responsible to return which ancillary to return
We have only FastTrack for now

Also, CI is very unhappy, please fix those errors.

Also, please rebase the master branch into your branch.

@tbergq Since you said this PR is too big, and I need to do graphql implementation is it okay to close this PR and I will open like 2-3 new ones? Depending on the size.

Yes please, I think that is the way to go 😊


Missing permission on field level: create record

Is your feature request related to a problem? Please describe.
I have a user which creates some kind of statement which has a field status. (open/approved,...)
As user i wish to create a statement, as travel expense center i want to approve that, But after approvel no other role should be able to change the status of the field. That could be perfectly done through record field rights. But actually there is only read and update on field level. So if i dont have update rights i m getting the error updateDenied on creation at status field.
I cannot divide create and update - thats my problem.
Describe the solution you'd like
Permission for create field
Describe alternatives you've considered
May be there is a workarounf with some kind of workflow.
Additional context

Off course the role Everyone has create records permission on the module "statement" but that does not help at all.

Is this still an issue?


Replace scrum master with process lead

Replace scrum master with process lead
Link to the design document that prompted this PR

Relevant Teams threads can be found in CSE General as AMA question responses as well as dedicated post from Michael Brown.

What are you trying to address

"Scrum Master" should not be the term we use for multiple reasons. Firstly, the connotation of the usage of the word "master." Secondly, this Process Lead should lead the team through processes outside of scrum, including agile and other processes the team agrees to use.

Description of new changes

This is just a documentation change
I found all uses of "scrum master" and replaced with "process lead"
In places where needed, I explained briefly what a process lead is.

How did you test it

N/A

Any relevant logs or outputs

N/A

Other information or known dependencies

Fixes #328

Thanks for taking a look Tess!
Process Lead was actually coined by @wbreza and our team has been using it for a few months now.
However, outside our team, there was a thread posted in CSE FTE - General (I won't link it as the link does contain tenant information that isn't private but I don't think belongs in a public repo anyway) last week where folks discuss names.
There is definitely not total consensus in any direction, but I believe there to be enough support of this term that we can use it to get rid of the historical "scrum master". There has already been collaboration on the new Process Lead page in the cwcwiki, and folks who had originally proposed different titles are hopping on on with Process Lead now. Process Lead seems to be the path of least resistance here, and easier for more folks to get behind if it wasn't their first choice.
Mostly, the key difference is that having "scrum" in the name suggests that responsibilities will map to the "scrum master certification" which they won't, as we'd like this person to also handle agile processes etc. Additionally, keeping "scrum" out of the name allows teams to discuss on their engagement kickoff what they want to fall under the roles and responsibilities, rather than treating the recommendation as a mandate.
In regards to "coach" instead of "lead", my decision here was mainly based on the multiple differing interpretations of the rugby analogy. Some think it's Captain, some think Coach. I worry that picking one will be too confusing to others.

Here is the cwcwiki page link: https://cwcwiki.com/wiki/Process_Lead
I had been thinking of adding the list here as well, but it felt redundant. Should I add it here too? And if so, is the working agreement the best place?

Given some comments on the thread asking for it in the fundamentals repo, I have added recommended responsibilities in the working agreement.


Bump OS/2 version to 4 when fsSelection bit 7-9 is set

Humm.  Right now we don't do any automatic version detection here.  If we are going to change version, then we should do a more involved act.

Ah yes, this only works going from version 2 or 3 to 4.
I guess it can be both ways, if a version from 1 to 4, sxHeight, etc. need to be added as well but if one adds sxHeight, etc. the version should be valid.

I changed the commits so instead we just warn when fsSelection bits 7, 8 or 9 are on a version < 4.
It will also warn if bit 6 is on and bits 0 and 5 are not of, and also if bits 0 and 5 don’t agree with head.macStyle bits 1 and 0.


Make copy configurable from top level

We already had some fields which were configurable thru the frontend integration. Make some additional fields configurable (and fix some discovered bugs).
For now, we are just passing it through from the top level, but in the future we should consider pulling these values in from the fetched CardConfig.

Ooo nice!
I feel like we should remove the Get Notifications or hide it by default haha

also i noticed the get notified doesnt looks slightly off

ah I think i fixed that by updating default style for AlertBox__button--spacer

would you mind pulling again, if you're testing locally?


(500) - The supplied extension definition isn't valid: 'An extension that was made public can't be changed to private.'.

I feel like I'm so close to publishing with tfx, but I get this error every time error: Failed Request: Internal Server Error(500) - The supplied extension definition isn't valid: 'An extension that was made public can't be changed to private.'.
c:\code\git\HSPI>tfx extension publish --auth-type pat --token mfznpyi2gxkdomgjj4rxcx77pboiq2uf4ct5ckhk4omgpihieqfa --vsix Templates\HomeSeerTemplates\bin\Release\HomeSeerTemplates.vsix --override "{\"public\": true}"
TFS Cross Platform Command Line Interface v0.3.47
Copyright Microsoft Corporation
Checking if this extension is already published
It is, update the extension
error: Failed Request: Internal Server Error(500) - The supplied extension definition isn't valid: 'An extension that was made public can't be changed to private.'.

Fixed: I found that I had to add <GalleryFlags>Public</GalleryFlags> to the <Metadata> element. Doesn't seem to be documented anywhere.


[FEATURE]: Fit Page to Screen

Would be nice to quickly toggle a Fit to Screen option for easy screen shots of whole single pages. As is, typically it requires using the browser zoom.
To an extreme, it could be possible to fit multiple pages to a screen using either float, css flex box, or css grid. Zoom buttons within the preview pane would set to "full size", fit page to screen, 2 pages per screen, 4 pages to screen, or 9 pages to screen (which could be used to display "trading cards") and this would be responsive sizing, not necessarily strict dimensions.

Further to this, there is a request today in the sub-Reddit to add a BrewRenderer zoom level (https://redd.it/yu6fig). As mentioned there, functionally, this can be achieved by setting an inline style on the <div class='pages'> BrewRenderer element of transform: scale(X%); and the appropriate UI elements to adjust the value of X.
I would envisage Fit to Screen using the same functionality, but calculating a value of X determined by comparing page height to viewport height.

I'm not 100% sure this would be the best method.  Here is what `.pages { transform: scale(.5); } looks like with a red background also applied to .pages for illustration:

I think ideally the container for each .page (which is currently .pages) should continue to span the preview window, rather than be transformed itself.   If ever we wanted to shrink the pages so that pages could be shown in a different layout (e.g. side-by-side) it would be....difficult/weird.
Here is an old brew from Legacy that is probably the best I can get it just using the Styling within the brewRenderer:
https://homebrewery.naturalcrit.com/share/sye35rCW30Kq

How far-fetched is allowing the preview frame to be popped-out into it's own window and continuing to edit it?  Is that thing?

How far-fetched is allowing the preview frame to be popped-out into it's own window and continuing to edit it? Is that thing?

Pretty difficult, I think - I suspect it's basically a separate tab/window and then needs to subscribe to events from the editing page... I suspect CM6 might make this a lot easier, but right now, it would be a pretty huge undertaking.

I think ideally the container for each .page (which is currently .pages) should continue to span the preview window, rather than be transformed itself.

I don't disagree, it was the first place that I went looking to apply scaling controls. Unfortunately scaling page doesn't scale margins, so the gaps between pages become (relatively) enormous, whereas scaling pages scales the margins and keeps everything a constant spacing.

Fit to screen is here, both in width and height(actually whatever is longest).
Multiple pages can still be tracked through this issue, as well as popping out the preview.

I'm sitting on a branch that extends the new toolbar to include a toggle for different viewing modes: "Single", "Facing", and "Flow".  Especially the last one, the names may change.  But basically:

Single: The current default view, shows just one page at a time, stacked on top of each other.
Facing: Two pages side by side, like a book. At time of writing, this also sets the first page to be displayed on the right side (so there is an empty space in the first 'slot') to accommodate a Cover page which generally doesn't have a 'facing' page.  I'm working on a checkbox input to disable this in case a user doesn't want to include their cover page.
Flow:  Sets the whole .pages div to just be a flex container, so pages flow to fill to the width of the brewRenderer and then wrap to the next row.  Works well with the new zoom feature-- you can get a quick look at many pages, and is a good way to present smaller pages (like cards).

https://github.com/user-attachments/assets/721aee60-1514-4d84-8b73-9c347a34b097
I'm hoping to get the checkbox for the facing pages thing figured out soon (trying to resist a detour into our 'fancy popups' we use on the Saving button).


Issue with access token persistence

STR

Log-in to the app
Refresh the page

AR

Redirect to the login page

ER

The users stays logged-in

Workaround
Assign graphql-minimal role to a user

Broken due to changes in Haulmont/jmix-security/issues/93
userInfo is now denied by default

a) make userInfo accessible without any @GraphQLPolicy permissions
b) add necessary permissions to system-full-access role in project template
c) automatically add necessary permissions to system-full-access role by Studio when graphql add-on is installed to the project
also:
need some debug logging (seen in the stdout terminal by default) when called graphql method is unavailable

Will be fixed in https://github.com/Haulmont/jmix-graphql/issues/198


Automatically add spacing between CJK and Latin characters

Related: #276
This feature follows the Requirements for Chinese Text Layout, which adds 1/4em spacing between each Han character and a Western character.
An option cjk-latin-spacing is added to enable users to disable this behavior. In the future, this option could accept a dimension to customize the spacing.

Do both essentially do the same thing, but we need to redo it for the line because of reshaping?

No, they are doing different things. The diff is a little hard to reason about, because it mixed some adjustments that we already have with the newly added adjustments.
Currently we have following CJK-related adjustments:

a. The shrinkability of punctuation marks is added in preparation.
b. The width of two consecutive punctuation marks is adjusted in preparation.
c. Punctuation in line begin and end need additional adjustment. We do that in line construction.

In this PR, two more adjustment is added:

d. Spacing is added between two consecutive CJK and Latin characters  in preparation.
e. But we do not want to add spacing to line begin and end. We do not know if it is the case until line construction. So we undo the above adjustment for line end in line construction.

Note that adjustment c. and e. happens in the same place in par::line function, and I added some comments for adjustment c., though it has actually added by previous PR #954 .

Doesn't that mean that all adjustments that are only done in preparation are potentially lost if we need to reshape a segment containing such adjustments?

Doesn't that mean that all adjustments that are only done in preparation are potentially lost if we need to reshape a segment containing such adjustments?

No. There is no ligature in CJK scripts, so AFAIK its always safe to break around CJK character. So the glyphs will always be reused and no adjustment will lose.

"CJK" has multiple meanings. In this context, I am referring to the Han, Hiragana, and Katakana scripts, not Hangul.

Thank you!


Added missing tags to golf

Added missing values to golf.

Thanks, @guylamar2006!
For those wondering: this PR makes it so these tag upgrades will happen in one step instead of two. It doesn't mean that tags like golf=fairway necessarily require a landuse=grass tag.


[BUG] Restore from backup to replace existing vm would stuck in Restoring with WaitingForVolumeBinding

Describe the bug

When restore a vm backup to replace the existing vm (retain volume), the restore kept in Restoring and won't complete.

Restore from clean backup to replace existing vm

https://github.com/user-attachments/assets/d71b0e18-f76b-4fec-82fc-7196f4209f77

Restore from backup already restore to new before to replace existing vm
https://github.com/user-attachments/assets/367b5227-2c44-44c7-ad7e-8218735e56ee

The vm display status WaitingForVolumeBinding

To Reproduce
Steps to reproduce the behavior:

Create a vm names opensuse
Setup nfs backup target
Create a backup named opensuse-backup
Shutdown the vm
Select restore to existing vm
Select to retain (or delete) volume
Check the restore process complete
Check the restore column will disappear after restore process finish

Expected behavior

Can restore vm to replace existing vm correctly,the vm should be started in running state
Support bundle

Restore to replace existing which already restore to new one before
supportbundle_3c2a0704-abe7-41eb-894b-041b497c5bfc_2024-08-12T09-56-19Z.zip

Restore to replace existing vm
supportbundle_3c2a0704-abe7-41eb-894b-041b497c5bfc_2024-08-12T11-20-43Z.zip

Environment

Harvester ISO version: v1.4-4fe69de-head
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): Single node on local kvm machine

This issue also exists on the latest master master-97b50dc-head
https://github.com/user-attachments/assets/f3ecec66-f289-4eed-a7b3-db716c6ae6c7

I can reproduce it on my env, and workaround it by setting VM CR's .spec.runStrategy = 'Halted'

Also confirmed this issue did not happen on the v1.3-head (v1.3.2 v1.3-5445e91-head)

Can restore backup to replace existing vm (with retain volume)
https://github.com/user-attachments/assets/4dbce5d2-098c-466b-81af-db6dc3254311

Can restore backup to replace existing vm (with delete volume)
https://github.com/user-attachments/assets/4afac350-e733-4352-bde2-a644617fed20

Another workaround is sending a start request to VM.

Hi @WebberHuang1118, for hot fix, I think we can send a start request if runStrategy is RerunOnFailure and VMI is not existent.
https://github.com/harvester/harvester/blob/250496b171249565fb9501a1e8b9d03b0fdf4e95/pkg/controller/master/backup/restore.go#L921-L923

Hi @FrankYang0529
for the replacing existing case, I'm considering making the VM from RunStrategy as Halted, and Harvester controller will try to start afterwards, WDYT?

Do you mean no matter original which runStrategy was, we always replace it with Halted? If yes, I can't find any side effect currently. We can give it a try.

Hi @WebberHuang1118, for hot fix, I think we can send a start request if runStrategy is RerunOnFailure and VMI is not existent.

yes, IIUC, we don't have to do send a start request if runStrategy is RerunOnFailure and VMI is not existent for the creating new one case. And for replacing existing case, since the source VM is stopped, so the restored VM starts from halted should make sense?

Yes, sounds good to me. Thanks.

For Kubevirt v1.1.1, as the source VM is stopped, its RunStratedy will change to Halted

https://github.com/kubevirt/kubevirt/blob/689c0e66cc6893f311dd648ff32e247203b6c96a/pkg/virt-api/rest/subresource.go#L694-L698
https://github.com/kubevirt/kubevirt/blob/689c0e66cc6893f311dd648ff32e247203b6c96a/pkg/virt-api/rest/subresource.go#L275-L285

and the restored VM will be kicked off by the Harvester controller

https://github.com/harvester/harvester/blob/0fa939f85ea57148160b9bd5fa48125906e97c5e/pkg/controller/master/backup/restore.go#L941-L942

For Kubevirt v1.2.2, as the source VM is stopped, its RunStratedy keeps as RerunOnFailure

https://github.com/kubevirt/kubevirt/blob/1466b658f78b9b8bb9517ffb6dafd4b777f33fe6/pkg/virt-api/rest/subresource.go#L575-L589

so the restored VM will not start automatically

Verified fixed on v1.4-4c27327-head (24/09/06). Close this issue.
Result
$\color{green}{\textsf{PASS}}$  Can well restore to existing vm with retain volume  $~~$

Successfully restore vm to existing vm without stuck

https://github.com/user-attachments/assets/37fa501c-40b3-4573-938a-82fbc78fe2c1

$\color{green}{\textsf{PASS}}$  Can well restore to existing vm with delete volume  $~~$

Successfully restore vm to existing vm without stuck

https://github.com/user-attachments/assets/30e77da1-0bb1-4f09-b422-00ae5ab5148b

$\color{green}{\textsf{PASS}}$  Can well restore to the new vm $~~$

Successfully restore vm to new vm without stuck

https://github.com/user-attachments/assets/80ac95b1-6205-4b7e-b4e6-82721daf4c62

Test Information

Test Environment: Single nodes harvester on kvm machine
Harvester version: v1.4-4c27327-head (24/09/06)

Verify Steps
 Restore backup to existing vm with retain volume

Create a vm names opensuse
Setup nfs backup target
Create a backup named opensuse-backup
Shutdown the vm
Select restore to existing vm
Select to retain (or delete) volume
Check the restore process complete
Check the restore column will disappear after restore process finish


feat: create dataframe from sql

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
PLEASE DO NOT LEAVE THIS EMPTY !!!
Please explain IN DETAIL what the changes are in this PR and why they are needed:

Summarize your change (mandatory)
How does this PR work? Need a brief introduction for the changed logic (optional)
Describe clearly one logical change and avoid lazy messages (optional)
Describe any limitations of the current code (optional)

Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

Close this PR, I'll create another one.


Best way to customize global attributes

I'd like to make global customizations that are not covered by the variables, for example I'd like text-transform: none;
What is the best way to do it?

I think that those globals can be easily configured overriding with traditional CSS. Also, importing common.scss is optional, but you'd need to set a root font size according to what components expect (10px). Also we can extract it to a variable in case it's defined directly in components, or also you can give that override via theming


Typo in readme

PubTables-1M-Image_Page_Words_JSON.tar.gz: Bounding boxes and text content for all of the words in each cropped table image

this is page images not table.

Fixed this, thanks for the heads-up!
Best,
Brandon


Add sample uncertainty to score decompose

@lorentzenchr do you have any reference for implementing this? This feature sounds very useful and I would be happy to contribute

I'm thinking of a new function compute_score as the compute_bias. It's just simple t-tests, see the code of compute_bias.

@lorentzenchr thanks for clarifying.
To put it in pseudo code, compute_score should take as argument at least score_per_obs and at some point call
score_per_obs_de_meaned = score_per_obs - np.mean(score_per_obs)
scipy.special.stdtr(len(score_per_obs) - 1,
                     -np.abs(score_per_obs_de_meaned / stderr(score_per_obs))

I ignored the weights for the time being. What do you think?

I would use the model predictions instead of the score per obs, pretty much a blend of decompose and compute_bias:
def compute_score(
    y_obs,
    y_pred,
    feature,
    weights,
    scoring_function,
    functional,
    level,
    n_bins,
):

I'm thinking of a new function compute_score as the compute_bias. It's just simple t-tests, see the code of compute_bias.

the t-test in compute_bias is testing whether the bias per observation has 0 mean, right? What would be the null hypothesis in the compute_scorecase?
Otherwise to give the user a sense of the uncertainty one could return a confidence interval on the statistical risk, which would use (among other things like the empirical risk) the t-student percentile at the desired confidence level.

I guess uncertainty / confidence intervals would be enough. As you say, for bias there is a universal reference, i.e. zero, for scores all pairwise comparison are options, that's way too many.


How to switch azureML.CLI compatibility mode is unclear or does not work

Hi,
the instruction on this page on how to switch azureML.CLI compatibility mode are unclear, incomplete or do not work:

I have added "azureML.CLI": 1.0 in the json settings for the Azure Machine Learning extension:

Note the setting is not recognized and after restarting VSC, it had no effect.
Please provide a step-by-step instruction on how to change this setting.
Thank you and best regards, Robert
[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: d4fd070b-ec93-be29-9361-302d383d6724
Version Independent ID: b1854f9d-3426-104e-e939-b077075544ac
Content: Interactive debugging with Visual Studio Code - Azure Machine Learning
Content Source: articles/machine-learning/how-to-debug-visual-studio-code.md
Service: machine-learning
Sub-service: mlops
GitHub Login: @ssalgadodev
Microsoft Alias: ssalgado

@robert4os Thanks for spotting this. I think this setting is available in the earlier versions of the extension. For example, this is listed for version 0.6.24 as seen in screen shot below:

"azureML.CLI Compatibility Mode": "2.0"
I believe this is not required now with the latest versions. @ssalgadodev @luisquintanilla Could you please confirm if this is still required as a prerequisite?

@RohitMungi-MSFT
For instance the documentation on local debugging does not apply to the new extension version:
https://docs.microsoft.com/en-us/azure/machine-learning/how-to-debug-visual-studio-code#debug-experiment-locally
e.g. this is not possible/does not apply:

Most likely this will affect other documentation pages with reference to the compatibility mode as well:
Google Search: site:docs.microsoft.com "azureML.CLI Compatibility Mode"
best, Robert

Same issue.
Any answers?


Yuh detects root since its last update (1.30.10)

Describe the bug

On launch Yuh 1.30.10 detects root, shows a warning message, and stops.
The last known version that didn't detect root with Zygisk Assistant enabled was Yuh 1.30.4.
Steps To Reproduce

Install Yuh.
In KernelSU, activate unmounting modules on this app.
Run it.
Yuh shows a warning about root and then stops.

Context

Device: Xiaomi Mi Note 10 Lite (toco)
OS:
Version of Magisk, KSU or APatch: KernelSU
Other Root Module(s):

ZygiskNext 1.1.0
LSPosed 1.9.3_mod

LSPosed Module(s):

Hide My Applist .2.r414.1b2a52e

All other apps work fine and don't detect root.

I also have this issue

It's working again for me after hiding the app list with the "hide my applist" lsposed module and reinstalling the app from play store

Can confirm Yuh 1.31.0 works fine with KernelSU + Zygisk Assistant v2.1.3 + Hide My Applist 3.3 and the following configuration:

As I found out, the app must be installed from play store to work


update version tags to v0.3.0

Motivation and Context
version update for release
How Has This Been Tested
NA
Types of changes

[Docs change] Addition or changes to the documentation

Checklist

[ ] My code follows the code style of this project.
[ ] I have updated the documentation if required.
[ ] I have read the CONTRIBUTING document.
[ ] I have completed my CLA (see CONTRIBUTING)
[ ] I have added tests to cover my changes if required.

I'll wait to merge until all other planned PRs are merged.


Just tell me step-by-step how to install anaconda on a windows VM

Just tell me step-by-step how to install anaconda on a windows VM, including how to set up a Windows VM!!

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 678f3299-1ff9-8a31-a434-be16f33f90ef
Version Independent ID: 18de51b9-9bdc-da60-1e2f-383c79b08e54
Content: Run a Windows VM on Azure - Azure Reference Architectures
Content Source: docs/reference-architectures/n-tier/windows-vm.yml
Service: architecture-center
Sub-service: reference-architecture
GitHub Login: @EdPrice-MSFT
Microsoft Alias: architectures

@nsrinivasan80
Thanks for your feedback! We will investigate and update as appropriate.

@nsrinivasan80 MicrosoftDocs Github issue is mainly related to the document issue. I would recommend you to create a thread on the forums - Microsoft Q&A or Stack Overflow for how to and troubleshooting queries.
Once you post your issue on forums, it will have visibility across the community which is a better suited audience for such types of issues.
If you want to install Anaconda in Azure IaaS VM then you can refer to installation instruction at anaconda end here. You need to RDP into the VM to install/automate the installation. Please refer to this learning module for more details.
As I don't see any document improvement I will go ahead and close this issue. If there are any further queries, feel free to reach out to us in Microsoft Q&A or Stack Overflow


Populate resource_to_stack hash when collecting stack resources

https://bugzilla.redhat.com/show_bug.cgi?id=1262461
The fix is to restore one line that was accidentally deleted by commit d12268585c1097b

@bzwei Can you put a test around this change?

@gmcculloug We don't have a VCR test for openstack orchestration refresh yet. By the time we first supported this feature we didn't have a proper Juno environment that had nested stacks. Adding a VCR test remains a debt. Is now the time to do so or can we continue to postpone for a while?


Are you planning to release the model with 66.0 AP on COCO?

If so when are you planning to do so? Thanks

@kemaloksuz Hi, we do not have a plan to release it at the moment.

@kemaloksuz, Hi, we have released the SOTA model and please email me to obtain the weights.


[cloud_firestore_web] Fix fileName prop in pubspec.yaml

Description
During a file renaming a pubspec.yaml property slipped through the cracks. This change fixes it.
Related Issues
Fixes https://github.com/FirebaseExtended/flutterfire/issues/1973
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[x] No, this is not a breaking change.

Waiting for checks to pass.


Add ability to replace service of same app

I think we should do that if forced. Add option for this.

Or cls.environment.init_common_services() should be smart.
Should remove wrong services and add right ones, if env misconfigured.

Or cls.environment.init_common_services() should be smart.
Should remove wrong services and add right ones, if env misconfigured.

out of scope for this pr


Package Requested

[X] I would like someone else to build the manifest.
[ ] I would like help so I can submit the manifest.
[ ] I have performed a search and couldn't find this package.
[ ] I have checked that the installer for this package is not a standalone or portable executable or a .zip file
[ ] I think there is a new version available and I have provided the URL.

Please provide the following information
Publisher: KDE e.V.
Publisher Url: http://kde.org
Package Name: KDE.Klickety.Nightly
Description: http://apps.kde.org/klickety
Package Version: master-790
Installer URL: http://binary-factory.kde.org/view/Windows 64-bit/job/Klickety_Nightly_win64/lastSuccessfulBuild/artifact/klickety-master-794-windows-msvc2019_64-cl.exe
Current Package Identifier (for new versions): master-790

Duplicate of #39190
Please post your KDE requests here