FSDP: Reshard

Reshard functionality isolated from #6946

have you read the pr diff? read it and keep asking is this a good change, and if not, why not.
also read this https://github.com/tinygrad/tinygrad/?tab=readme-ov-file#contributing

dude you are the most unprofessional person with an open source project lol literally the worse one of these there is i was trying to help you out a lil bit but whatever loser.

closing this for now to continue work in the main fsdp branch


Is this repo abandoned ?

No updates for a few months but still quite a few holes / gaps.
Currency symbols, etc.
For flutter I need i18n and i10n support.
Please advise..

No, it's not abandoned. It's also not the right repo for currency symbols, this deals with messages, plurals, genders, etc.  For currency symbols you'd want Intl. What specifically are you looking for in currency symbols? There's a very simple list in there, but there's a tension with this in general between providing useful facilities and not inflating code/data size, as full internationalization support would be approximately the size of ICU.  There's also ongoing work on letting this use ICU (for Flutter) or JS Intl (in browsers) when available.
Both of them are also developed internally to Google and pushed intermittently to github.


Backport 1.3: Correctly handle leap year in x509_date_is_valid()

This patch ensures that invalid dates on leap years with 100 or 400
years intervals are handled correctly.
NOTES:

This is a backport for PR https://github.com/ARMmbed/mbedtls/pull/702

Reviewed, approved and backported the fixes to PR #702. This PR can now be closed.


Kafka Node Pools

This is the initial version of the Kafka Node Pools proposal. It is based on my prototyping work (which does not implement everything, but it has the core parts).
There are still some open points which are up for review and discussion and hopefully we can address them in the comments phase. They are described in the Open Points section and are mainly about the migration and backwards compatibility.

@devguyio ...

The Kafka reconciler will create two NodePool resources out of the NodePoolClass, each has the same spec as the proposed NodePool here and also supports the scale subresource.

The concept of class means something that can be instantiated multiple times with parameters. Using the same spec of KafkaNodePool would not make sense to me because, for example, the replicas field is one of such parameters and not part of a class (doesn't make sense a class representing a pool with 3 replicas). Thinking about Kubernetes storage classes, for example, the disk size is out of that.

The NodePool resource can be edited by users and supports the /status subresource, and if deleted by the user, it will always get recreated as long as Kafka resource still references its class.

Tbh everything created by an operator should be never touched or modified by a user. The rule should be the operator reverts any change, as it happens today for operands (because the node pool class would be an operand imho).

@devguyio I'm not sure I follow the added value against the complexity TBH. Plus the Class concept as used by other Kubernetes resources also goes against what you propose. The Class resource essentially just defines instance which should handle it or the mechanism but the exact configuration with things such as storage, resources or number of replicas would need to live somewhere else.
Also the usecase here is different IMHO from Ingress, Storage or Gateway API. The separation between centrally managed infrastructure and end-user resources using that infrastructure is different for something like Kafka. For things like storage or Ingress, you have centrally managed infrastructure and end-users requesting the storage provisioning or the exposing of a service. In Kafka, you would either manage the Kafka cluster centrally or not. But I do not see how would you create the Kafka CR locally but have the KafkaNodePoolClass resources managed centrally.

@ppatierno

@devguyio ...

The Kafka reconciler will create two NodePool resources out of the NodePoolClass, each has the same spec as the proposed NodePool here and also supports the scale subresource.

The concept of class means something that can be instantiated multiple times with parameters. Using the same spec of KafkaNodePool would not make sense to me because, for example, the replicas field is one of such parameters and not part of a class (doesn't make sense a class representing a pool with 3 replicas). Thinking about Kubernetes storage classes, for example, the disk size is out of that.

The replica value in the NodePoolClass  is here provide default or initial values.

The NodePool resource can be edited by users and supports the /status subresource, and if deleted by the user, it will always get recreated as long as Kafka resource still references its class.

Tbh everything created by an operator should be never touched or modified by a user. The rule should be the operator reverts any change, as it happens today for operands (because the node pool class would be an operand imho).

That depends on the reconciler I believe? Since

KafkaReconciler

Validates an existing NodePoolClass exists.
If a matching NodePool resources doesn't exist, it creates one filling the default values from the NodePoolClass

So in this sense, it's not "reconciling" the NodePool resource. It's not checking the desired spec vs status and reconciling it. It's more or less validating the link between the Kafka resource and then exposing to the user the APIs to dynamically update something like the replicas.

@scholzj

@devguyio I'm not sure I follow the added value against the complexity TBH. Plus the Class concept as used by other Kubernetes resources also goes against what you propose. The Class resource essentially just defines instance which should handle it or the mechanism but the exact configuration with things such as storage, resources or number of replicas would need to live somewhere else.
Also the usecase here is different IMHO from Ingress, Storage or Gateway API. The separation between centrally managed infrastructure and end-user resources using that infrastructure is different for something like Kafka. For things like storage or Ingress, you have centrally managed infrastructure and end-users requesting the storage provisioning or the exposing of a service. In Kafka, you would either manage the Kafka cluster centrally or not. But I do not see how would you create the Kafka CR locally but have the KafkaNodePoolClass resources managed centrally.

So trying to think deeper about what I'm trying to address, I guess the biggest thing I'm trying to address is to "whitelist" NodePools. That the actually creation of new sets of Kafka servers that didn't exist before, take place after the used edits the Kafka resource, not after creating a NodePool resource if that makes sense.
Did you consider that first users create NodePool resources, then add them to the Kafka resource spec.nodepools by name ?

@devguyio ...

That depends on the reconciler I believe?

If you have a Deployment with 3 replicas so the corresponding operand ReplicaSets will have 3 replicas, if you try to set 4 replicas on the ReplicaSets, the built in Deployment controller in Kubernetes will terminate the new pod (started by the ReplicaSets controller) because ReplicaSet is an "operand" in this case. This is how the Strimzi operator or in general operators work, or?

So trying to think deeper about what I'm trying to address, I guess the biggest thing I'm trying to address is to "whitelist" NodePools. That the actually creation of new sets of Kafka servers that didn't exist before, take place after the used edits the Kafka resource, not after creating a NodePool resource if that makes sense.
Did you consider that first users create NodePool resources, then add them to the Kafka resource spec.nodepools by name ?

I did not consider that. But as I said, not sure I see the value over the complexity. I never thought about creating an additional node pool by mistake as something to be overly concerned with (plus they would anyway need to have the matching label anyway).

@devguyio Please also keep in mind that all of this is happening within a single namespace (the Kafka and KafkaNodePool resources have to be in the same namespace). And the general recommendation is to have one Kafka cluster per namespace. So I think that also impacts the risks here.

@devguyio ...

That depends on the reconciler I believe?

If you have a Deployment with 3 replicas so the corresponding operand ReplicaSets will have 3 replicas, if you try to set 4 replicas on the ReplicaSets, the built in Deployment controller in Kubernetes will terminate the new pod (started by the ReplicaSets controller) because ReplicaSet is an "operand" in this case. This is how the Strimzi operator or in general operators work, or?

For that case that is correct, but that's because the "owning" controller (i.e. deployment controller) sets up watches on the replicaset updates. The deployment controller doesn't expect updates on the RepliacSet resource.
That's not the case for all controllers, some controllers creates resources and ensures the resources existence only, but don't set up watches for the updates are expected to take place via the user directly on the resource. It's kinda like exposing an API, or exposing some knobs for the user once a precondition is available. E.g. Once a ManagedServiceConnection is created with Paolo's valid credentials, the controller creates a ManagedServiceUserAccount resource for Paolo's account representing all his user account data that he can use to update his username, address etc.
So for what I proposed, the KafkaReconciler won't set watches on the NodePool resource updates (i.e. will ignore the updates) , only will make sure it still exists as long as it's in the Kafka.spec.nodepools array, or deleted otherwise.
The NodePoolReconciler will be the one responsible of reconciling NodePools uptade to make sure that the desired state in NodePool.spec matches the current state.

@scholzj

I did not consider that. But as I said, not sure I see the value over the complexity. I never thought about creating an additional node pool by mistake as something to be overly concerned with (plus they would anyway need to have the matching label anyway).

I guess the actual added value to the UX I see is that the Kafka resource spec still reflects to some sense all the desired state of the Kafka cluster. I.e since the user is forced to add the NodePool to the spec.nodepools list, the mental model of the resulting servers is easier to grasp from that resource alone. Instead of having to go through the extra step of also listing all NodePool with the matching label in the current namespace.
However, I can see it's a compromisation call and if the NodePools are all within the same namespace as the Kafka resource as you mentioned that wouldn't make it a terrible UX compared to if they were cluster wide resource .

@scholzj

I did not consider that. But as I said, not sure I see the value over the complexity. I never thought about creating an additional node pool by mistake as something to be overly concerned with (plus they would anyway need to have the matching label anyway).

I guess the actual added value to the UX I see is that the Kafka resource spec still reflects to some sense all the desired state of the Kafka cluster. I.e since the user is forced to add the NodePool to the spec.nodepools list, the mental model of the resulting servers is easier to grasp from that resource alone. Instead of having to go through the extra step of also listing all NodePool with the matching label in the current namespace.
However, I can see it's a compromisation call and if the NodePools are all within the same namespace as the Kafka resource as you mentioned that wouldn't make it a terrible UX compared to if they were cluster wide resource IMHO .

@scholzj after some thought into this I trying to see what's the complexity that this model would provide, I wanted to share it outloud and see if I'm missing something cause I think it'd be a straight forward implementation:

Create a NodePool resources, The same spec as the proposed here without the annotiation.
The NodePool reconciler will validate the resource and see that NodePool status.kafka is not set and so will not do anything other than the validation ( and maybe set the status bound condition to False).
Create a Kafka resource and reference the node pool in a spec.nodePools list

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    nodePoolSelector:
      matchLabels:
 ...
  # ...
  nodePools:
    - pool1
    - pool2

If the NodePool exists, the Kafka reconciler will "bind" the Kafka to the node pool. It will patch the node pool resources' status with something like NodePool.status.kafka: my-cluster and set the Kafka.status,nodepools to reflect the bound node pools.
If the NodePool doesn't exist, it will be ignored and not show up in the Kafka.status,nodepools, pending a future reconciliation.
The NodePool reconciler will get the update, see that the status.kafka is now set, and will start reconciling similar to this proposal.

Not sure how do you feel about that? Any obvious added complexity? It has three added values IMHO

There's no race condition between Kafka and NodePool resources reconciliation. NodePool will be eventually bound and reconciled.
No big addition to the CRD or status, so no size worries.
Makes the binding explicit in the Kafka CRD, so it's still the single source of truth of the Kafka's desired and current state , even if by explicitly linking to other resources for such desired state.

@devguyio It does not solve any eventual consistency issues. There is no eventual consistency issue if you first create the node pools and then the Kafka resource. The eventual consistency might happen when you create all resources from one YAML file. And it can happen in the current proposal as much as in yours.

@scholzj what about the rest of my points about Kafka being a single source of truth of the Kafka's desired and current state , even if by explicitly linking to other resources for such desired state ? Don't you think it's more intuitive to specify the node pools in the Kafka resource ?

TBH I can't see how will it happen with my proposal. If the Kafka gets reconciled first, it'll not fail, it'll just set in the status that those nodepools are not bound.

If you have one YAML file with Kafka CR and 2 pools and you deploy it you have exactly the same issues happening as in my proposal:

They are all created in time and are there => All OK
The NodePools create before the Kafka CR => Same as mine proposal, All OK
The Kafka creates first but the node pools it refers to are missing => Same issue as my proposal

So no, it does not solve anything from my PoV.

what about the rest of my points about Kafka being a single source of truth of the Kafka's desired and current state , even if by explicitly linking to other resources for such desired state ? Don't you think it's more intuitive to specify the nodePools in the Kafka resource ?

It is not a single source of truth when you have the configuration across multiple custom resources. Not with my proposal nor when you list the node pools in the Kafka CR as you suggest.

PS: If you want to bring it closer to source of truth, I think it might be more interesting to think about what should be in the status section of the Kafka CR then to add more selectors. Maybe having. list of known node pools in the status and their generations could be useful for example.

TBH I can't see how will it happen with my proposal. If the Kafka gets reconciled first, it'll not fail, it'll just set in the status that those nodepools are not bound.

If you have one YAML file with Kafka CR and 2 pools and you deploy it you have exactly the same issues happening as in my proposal:

They are all created in time and are there => All OK
The NodePools create before the Kafka CR => Same as mine proposal, All OK
The Kafka creates first but the node pools it refers to are missing => Same issue as my proposal

So no, it does not solve anything from my PoV.

I just noticed the missing piece that I was didn't specify, the Kafka CR won't get ready until all nodePools in the list are bound. So the reconciler won't deploy the Kafka pods cause it's aware this is not a stand alone Kafka, but it's linked to other node pools that are not available currently. In this proposal, there's no way the Kafka reconciler knows that and has no choice but to deploy the pods if no node pools exist.

The Kafka CR won't get ready until all nodePools in the list are bound

Kube does the same behavior when you create a deployment with e.g. a service account that doesn't exist. The pods won't get created as the replicaset will not be ready and will reflect that the SA doesn't exist in the status conditions as show below.
status:
  conditions:
  - lastTransitionTime: "2023-04-07T10:14:39Z"
    message: 'pods "my-kroxy-58f4bddcb9-" is forbidden: error looking up service account
      default/hello-world: serviceaccount "hello-world" not found'
    reason: FailedCreate
    status: "True"
    type: ReplicaFailure
  observedGeneration: 1
  replicas: 0

Yet once that service account is created and after a few seconds, the replicaset becomes ready scaled.
status:
  availableReplicas: 3
  fullyLabeledReplicas: 3
  observedGeneration: 1
  readyReplicas: 3
  replicas: 3

I think it might be more interesting to think about what should be in the status section of the Kafka CR than to add more selectors. Maybe having. list of known node pools in the status and their generations could be useful for example.

Yeah that's definitely useful as well and it's why I suggested it in my first comment .
The reason I'm discussing the change of adding a list of nodePools and this binding concept and trying to get to the bottom of it is because it's still a proposal and it seems like you rejected similar alternatives like embedding the whole node pools in the Kafka CRD but rejected them for valid reasons, and also highlighted in the risks the eventual consistency issue when applying all resources in a single file.
So I'm trying to see if that was considered and there's a valid approach that fixes those two issues (as shown in my previous comment) what other reasons might make listing the node pools this Kafka belongs not an improvement to this proposal?

@devguyio It does not solve any eventual consistency issues. There is no eventual consistency issue if you first create the node pools and then the Kafka resource. The eventual consistency might happen when you create all resources from one YAML file. And it can happen in the current proposal as much as in yours.

I also think that the race condition is there in both cases and it is pretty common in K8s land. The @devguyio configuration adds the information of which KafkaNodePools are expected to be bound to Kafka, but in the end I tend to favor consistency and the label way of modeling the resource binding is already used in many places inside Strimzi and it's the same mechanism that K8s uses for the EndpointSlice->Service binding.

@devguyio It does not solve any eventual consistency issues. There is no eventual consistency issue if you first create the node pools and then the Kafka resource. The eventual consistency might happen when you create all resources from one YAML file. And it can happen in the current proposal as much as in yours.

I also think that the race condition is there in both cases and it is pretty common in K8s land. The @devguyio configuration adds the information of which KafkaNodePools are expected to be bound to Kafka,

@fvaleri Thanks for chiming in!
I'm not sure if you've read my last two comments ? If so, can you please help me understand how will the race condition happen? As I explained, showed that Kafka won't readiness will be false and pods won't be deployed even if the Kafka gets reconciled before the NodePool. I'm afraid I can't see how will that race happen.

but in the end I tend to favor consistency and the label way of modeling the resource binding is already used in many places inside Strimzi and it's the same mechanism that K8s uses for the EndpointSlice->Service binding.

I agree that consistency generally is favorable, but notice that EndpointSlice is an internal resource that's not created by the user and is by design not exposed in the Service API. Users aren't expected to manage them. Yet it is still primarily tracked by an owner reference and the label is used merely for easier lookup since it can't by design be listed in the Service resource.

Also note that we can still keep the label for lookup and consistency. IMHO it's an orthogonal point to the list of node pools, both can exist together.

@devguyio np, I'm also trying to understand the design, so I think it's a helpful discussion.

how will the race condition happen?

When Kafka and NodePool CRs are created at the same time (a single YAML file), there is no guarantee on the ordering in which these resources will be created by K8s and thus reconciled by the operator. This means that the same cluster configuration can produce different system behaviors. This is true regardless of how you handle the missing NodePool resources. In either case, we are switching from a strong consistent Kafka model to an eventual consistent Kafka model. Not a problem in this specific context.

If the Kafka gets reconciled first, it'll not fail, it'll just set in the status that those nodepools are not bound.

Failure or not the end result would be the same: a Kafka cluster which is NotReady after one or more reconciliations. What if I forget to create the NodePools or there is a mismatch between the desired NodePool name in Kafka CR and the actual NodePool name? Is there a timeout after which you would switch from a "waiting for binding" state to a "binding failure" state?
Additionally, the current prototype has just one KafkaReconciler to handle both Kafka and NodePool CRs, while your design would require two reconcilers communicating through status updates, which I think would add some complexity.

Just for the sake of completeness, and fwiw I'm gonna put down the change to the proposal that I'm suggesting in full here again in full cause it's scattered across multiple comments.

Explicitly declare the desired node pools in the Kafka CR by adding a nodePools list to the Kafka CR

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    nodePoolSelector:
      matchLabels:
 ...
  # ...
  nodePools:
    - poolclass1
    - poolclass2

If any of the node pools don't exist, Kafka readiness will be set to false and no change will happen. This means

If this a new creation of Kafka  :

Set Kafka readiness to False and set conditions.
Don't create any pods for any node pool since we know the user expects this Kafka to belong to multiple node pools, but we can't achieve the full desired setup due to some missing node pools.
Either the user made a mistake, so we wait for them to fix it. Or it's an eventual consistency situation in which all node pools will be available on a following reconciliation.

If this is an update

Set Kafka readiness to False and set conditions.
The existing pods will keep running and no rolling out or termination will take place.
Either the user made a mistake, so we wait for them to fix it. Or it's an eventual consistency situation in which all node pools will be available on a following reconciliation.

That's the core of the change I'm suggesting. Whether we do a "binding" or a separate NodePool reconciler are all implementation details that were just me trying to explain the main change, but they're irrelevant and orthogonal to the suggestion.
The core of the suggestion is to make things simple and less clever by having an explicit list of node pools in the Kafka CR.

This means that the same cluster configuration can produce different system behaviors. This is true regardless of how you handle the missing NodePool resources. In either case, we are switching from a strong consistent Kafka model to an eventual consistent Kafka model.

@fvaleri I think since no change will take place if even one nodepool is missing means that the same cluster configuration must always produce the same system behavior.

What if I forget to create the NodePools or there is a mismatch between the desired NodePool name in Kafka CR and the actual NodePool name? Is there a timeout after which you would switch from a "waiting for binding" state to a "binding failure" state?

Regardless of binding which as I said above is not the core of the change, nevertheless if a user made a mistake in a node pool name, I believe it's better to not presume: 1) Do not do any change, don't create any new pods, don't terminate any pods, nothing. 2) Make it visible that we can't reconcile the desired state the user asked us to. 3) Wait for the user to fix the problem.
I believe that's better than doing a "partial" deployment.
Imagine without the change I'm suggesting the user creates two node pools, controllers and brokers but puts the wrong name in the controllers NodePool cluster label. The brokers will be rolled out without the controllers. So Kafka will go in a broken state. Or even if there's a measure to prevent that specific scenario, imagine the two pools are smallpool and bigpool but the name is wrong in bigpool , Kafka will be deployed and be marked as ready even though it's the wrong, undesired deployment.
I think in such scenarios it's way better to not do any change, set Kafka as not Ready, and wait for a user intervention to fix the problem, hence my proposed change.

@devguyio just to clarify my understanding across a lot of comments ... with your last proposal, who creates the Node pool, user or the operator? It seems you changed your mind from operator to user.

@devguyio just to clarify my understanding across a lot of comments ... with your last proposal, who creates the Node pool, user or the operator? It seems you changed your mind from operator to user.

@ppatierno yeah quite a lot of discussions and back and froth indeed. So I did drop the proposal of NodePoolClass and NodePool indeed after a few comments from Jakub for two reasons:

To focus first on my biggest concern, representing the desired set of nodepools this Kafka belongs to in the kafka CR, which can be achieved without the NodePoolClass and auto-creation of NodePools.
IMHO node pool classes can be a separate addition and separate discussion later.

That's why I tried to put the proposed change again in full again in my previous comment.

@devguyio if having the list of pools in the Kafka CR, what's the purpose of still having the cluster label in the KafkaNodePool CR? Is this bidirectional link really useful?
I think that both are a way to define a owner-owned relationship.
The pool list defines "owner to owned" while the label more a "owned to owner" which is what we usually have in Strimzi for all others operand resources (which is more in general how Kube works with selectors, or?)
Tbh it is not still clear to me which issue this change is going to solve apart from a UX one?
Isn't reporting the matched node pools in the status of the Kafka CR so making the user aware of what's happening?

TBH, I only spent less than 10 minutes in reading through the proposal, apologize if I say something very ignorant

Why is it called KafkaNodePools?  "node" is kube level resource, I thought "KafkaBrokerPool" should have been a more fitting resource name. Unless a Broker and Node are synonymous in this profile.
I saw this as externalizing the configuration of "set of" brokers to fulfill the request for them to have different configurations in a given single Kafka cluster.  So, looks more like KafkaBrokerProfile or KafkaBrokerConfiguration
I see u have debated about this at length above, but having one or more KafkaNodePools CRs along with Kafka CR to represent one logical "Kafka cluster" makes me think as broker resources are auxiliary resources like "topic" CR than part of the core Kafka cluster, which they are not.  Are there any specific "KafkaNodePool" operations you are thinking about which do not apply to other brokers in general that are reasons behind it?
Having all KafkaNodePools belong to a single cluster and maintaining co-relation to Kafka cluster using labels/annotations seems like an additional burden on the user.

Why is it called KafkaNodePools? "node" is kube level resource, I thought "KafkaBrokerPool" should have been a more fitting resource name. Unless a Broker and Node are synonymous in this profile.

Node is a generic term. Broker is only one specific type of Kafka node. When running with ZooKeeper, all Kafka nodes are brokers. But with ZooKeeper-less Kafka, you need to distinguish broker nodes and controller nodes (or mixed nodes which are both broker and controller at the same time) which are both represented by the node pools. So calling it KafkaBrokerPool would be misleading.

I saw this as externalizing the configuration of "set of" brokers to fulfill the request for them to have different configurations in a given single Kafka cluster. So, looks more like KafkaBrokerProfile or KafkaBrokerConfiguration

No, this is not externalizing configuration of a set of brokers. The KafkaNodePool represents the set of brokers (or rather nodes as explained above). You can see it for example from defining the number of brokers and their names and IDs.

I see u have debated about this at length above, but having one or more KafkaNodePools CRs along with Kafka CR to represent one logical "Kafka cluster" makes me think as broker resources are auxiliary resources like "topic" CR than part of the core Kafka cluster, which they are not. Are there any specific "KafkaNodePool" operations you are thinking about which do not apply to other brokers in general that are reasons behind it?

The KafkaNodePool resources have similarities with KafkaTopic or KafkaUser resources. But there are obviously many differences as well. As you can see in the proposal, the possibility of having the node pools defined inside the Kafka CR instead of using separate KafkaNodePool resources was considered but (at least for the time being) was rejected. It would close doors to interesting options such as better support for auto-scaling etc.
I'm not sure what exactly you mean by operations in this context. But the node pools are separate entities that can be added or removed as needed.

Having all KafkaNodePools belong to a single cluster and maintaining co-relation to Kafka cluster using labels/annotations seems like an additional burden on the user.

As you can see in the proposal, other methods were considered. The current one was chosen as a good mix of user and implementation friendliness.
I agree that it certainly has increased complexity for the user compared to having only one resource and having the node pools fully configured inside the Kafka CR. But as mentioned above, it also brings advantages that a single resource cannot offer. It is not always possible to find a single perfect solution for every feature. So we either need to abandon some of them or find some reasonable middle ground 🤷.

I'm not sure what exactly you mean by operations in this context. But the node pools are separate entities that can be >added or removed as needed.

By Operations I meant, for example, only rolling brokers in a certain node pool, or fixing a disk skew across given single or multiple node pools, any such operations that can be performed currently across all brokers, be restricted to a NodePool.

By Operations I meant, for example, only rolling brokers in a certain node pool, or fixing a disk skew across given single or multiple node pools, any such operations that can be performed currently across all brokers, be restricted to a NodePool.

@rareddy In general, these kinds of operations focus on the underlying Kubernetes resources and not on our CRs when possible. (It is for example not possible with the KafkaConnector or KafkaRebalance resources which do not have any representation in Kubernetes resources). So for example to trigger manual rolling update, you annotate the corresponding PodSet. So these operations will be supported based for a specific node pool only (it is actually already done in the prototype). But this is done through the internal representation in different StrimziPodSet resources which will be annotated. So it does not depend on the actual representation in the Strimzi Kafka or KafkaNodePool custom resources.

This proposal now has 5 +1 votes (approvals) from maintainers (+ my own as an author). Thanks everyone for the comments.
If anyone has any more comments or votes, please do so till Friday. Otherwise if there is nothing new I will close the vote over the weekend.


support for equinix_ecx_l2_connection > secondary_connection > service_token

Secondary ServiceToken is required for redundant connection. At this moment a service token can only be issued for a single port per connection, and unlike directly specifying an Equinix port, with service token it is not possible to reuse same one for both primary and secondary.

Updated ecx-go version to v2.2.0 to support secondaryServiceToken
Updated mock test to check secondary_connection.0.service_token attribute
Updated docs

I need to attach an example and a succeeded terraform apply result

Example of a successful apply result using two service token to establish an interconnection to Azure


Limiting the size of the transaction pool

this is to prevent DoS attacks against a particular node

duplicate of 1959


Fix HWC resource deadlock issue

Change-Id: I0debe14019942ca3a40e2e3b5d4d09fc3e918fc4
Tracked-on: OAM-95373
Signed-off-by: Basanagouda Koppad<EMAIL_ADDRESS>Signed-off-by: Kishan Mochi<EMAIL_ADDRESS>

when and how the deadlock occur?

Could you also add some commit-msg for descripting this patch?
At least, a simple meg for the issue you resolved
Only title is not enough.


Fix an issue in the auth pipeline

Coverage increased (+0.009%) to 55.857% when pulling 24cad4a5ceeb80089aafedb12c2cbc0fa397aef8 on jefmoura:add-whitelist-domain into 2395dcc8f3258885d12456016b200dec0c7ccf78 on toladata:dev-v2.


New feature support required - OpenAI Whisper in Azure OpenAI service.

Can we have support for Azure OpenAI Whisper? Thanks.
https://techcommunity.microsoft.com/t5/azure-ai-services-blog/announcing-the-preview-of-openai-whisper-in-azure-openai-service/ba-p/3928388

Can we have support for Azure OpenAI Whisper? Thanks.
https://techcommunity.microsoft.com/t5/azure-ai-services-blog/announcing-the-preview-of-openai-whisper-in-azure-openai-service/ba-p/3928388

What's the difference?

Translation feature and abilty to specify custom baseurl for OpenAI API has been added to the latest main branch. See instructions on how to use translations or get the latest development version here https://chidiwilliams.github.io/buzz/docs/usage/translations
This is very fresh feature, some hikups are possible. If you encounter them, please report. Feedback on if the overall usage is clear and intuitive to understand would be welcome.


Is there any possibility of an ARM Image for those of us using Oracle TestContainers on MacOS?

https://www.oracle.com/database/technologies/oracle19c-linux-arm64-downloads.html

Making the wild assumption that it could be compatible with your oracle-xe container.

Hi @nigel-trousdale,
Thanks a lot for your interest in these images!
Unfortunately, not just yet.
There is currently no Oracle Database 23c Free ARM port available to build a container image from.
However, Oracle has stated that an ARM port for Oracle Database 23c Free is coming later this year.
Once it is out, I will be on it to provide arm-based images as well.

Thanks @gvenzl . We are making great use of your images with TestContainers for our integration testing, but many of the team are now on Intel Macs, which causes quite some issues. I haven't found a way to use different docker contexts for different test containers otherwise that might be an option.

Thanks for sharing its planned later this year!
We also switched to Apple Silicon Macs and use Java Testcontainers. While running a amd64 container should work with colima, setting up the correct environment is quite complex and it is often broken due some changes in colima/docker and macOS itself, when using macOS Virtualization. A solution out of the box using arm64 images without colima sounds perfect.
Last year, the developer release of 23c was released in April. A similar time schedule would be nice to give you/Oracle faster feedback :)


Add ReadTheDocs configuration file

Our builds for docs on RTD are currently failing due to a missing required configuration parameter. This PR is an attempt to fix that by adding the new configuration file which will be the only way to configure our project's documentation hosting starting from Sept. 23rd of this year (2023). Although, we won't know if it works until after it's merged and RTD attempts to use it to generate documentation.
I added this to the 8.0.0 milestone because without it, 8.x will be without public documentation.

Which Traffic Control components are affected by this PR?

Documentation

What is the best way to verify this PR?
You can't, really. Just check that the file looks like it might work, I guess.
PR submission checklist

[x] This PR is its own test
[x] This PR is documentation
[x] This PR doesn't need a CHANGELOG.md entry
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY

It fails still
 python -m sphinx -T -E -b html -d _build/doctrees -D language=en . $READTHEDOCS_OUTPUT/html
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/docs/checkouts/readthedocs.org/user_builds/traffic-control-cdn/envs/latest/lib/python3.11/site-packages/sphinx/__main__.py", line 13, in <module>
    from sphinx.cmd.build import main
  File "/home/docs/checkouts/readthedocs.org/user_builds/traffic-control-cdn/envs/latest/lib/python3.11/site-packages/sphinx/cmd/build.py", line 25, in <module>
    from sphinx.application import Sphinx
  File "/home/docs/checkouts/readthedocs.org/user_builds/traffic-control-cdn/envs/latest/lib/python3.11/site-packages/sphinx/application.py", line 31, in <module>
    from sphinx.config import Config
  File "/home/docs/checkouts/readthedocs.org/user_builds/traffic-control-cdn/envs/latest/lib/python3.11/site-packages/sphinx/config.py", line 21, in <module>
    from sphinx.util import logging
  File "/home/docs/checkouts/readthedocs.org/user_builds/traffic-control-cdn/envs/latest/lib/python3.11/site-packages/sphinx/util/__init__.py", line 41, in <module>
    from sphinx.util.typing import PathMatcher
  File "/home/docs/checkouts/readthedocs.org/user_builds/traffic-control-cdn/envs/latest/lib/python3.11/site-packages/sphinx/util/typing.py", line 37, in <module>
    from types import Union as types_Union
ImportError: cannot import name 'Union' from 'types' (/home/docs/.asdf/installs/python/3.11

from https://readthedocs.org/projects/traffic-control-cdn/builds/21746091/

At least it's now trying to build it, that's progress


Revert "Changing css classes on strands and strand parts outside of r…

…eact/redux"

I accidentally merged this into master instead of dev, attempting a revert.


Add commands ockam node start and ockam node stop

We currently have node commands
ockam node create green

and
ockam node delete green

We also need
ockam node start

and
ockam node stop

so that a node can be started and stopped without losing its identity and other state.

@spacekookie, should this be reassigned to someone else on the team? I remember you had completed the Rust side of starting and stopping a node and it's unblocked for it to be added to the Ockam CLI.

I think this issue is basically done, see #3111


feat: Qdrant search provider

Description
This PR adds a search provider implementation using Qdrant - https://qdrant.tech./.
I noticed Qdrant is mentioned in the docs at https://github.com/swirlai/swirl-search/blob/main/docs/index.md#what-systems-can-swirl-ai-connect-integrate-with
However, the implementation was not present.
Notes

The URL is to be passed as
QDRANT_URL-COLLECTION-NAME

Eg: http://localhost:6333-my_collection

To start Qdrant

docker run -p 6333:6333 qdrant/qdrant

To create a collection, refer to https://qdrant.tech/documentation/concepts/collections/#create-a-collection.

To add points, refer to https://qdrant.tech/documentation/concepts/points/#upload-points

There'll also be a dashboard at http://localhost:6333/dashboard

Thanks @Anush008!! I am looking at this now.

Hi @sid-swirl, thank you. I've added some notes that might come in handy.

Works great!

This will be merged later today


Issue where top 3 songs of an album or playlist doesnt connect with the background

waiting on a spicetify update to fix this I will keep you posted

reapply Spotify should work now

its still the same

its still the same

did you run spicetify restore backup apply again

i did anything else but that, thanks it works now


Expose workqueue stats

This CL adds an http endpoint with one handler "/metrics" that serves
Prometheus metrics exported by MetaController. The metrics are collected
using OpenCensus and exported using the Prometheus HTTP exposition
format.
This CL also configures the Kubernetes workqueue package to collect its
statistics and expose them via the Prometheus http endpoint. We collect
and expose all of the workqueue metrics (Depth, Adds, Latency,
WorkDuration, Retries) tagged with the name of the queue.

I addressed the comments and rebased this off master. I think the GoPkg.lock should now be the result of master's GoPkg.locl with my changes to GoPkg.toml and then running dep ensure.
I ran:
$ git checkout origin/master Gopkg.lock
$ rm -rf vendor/
$ dep ensure


Tracing services that use different languages (Js and Java) and frameworks

I would like to use Zipkin tracing in our application. I have created proof of concept application on frameworks that we use in our commercial app. Front end web application is created in Polymer, and server is created in Java Spark web framework. I have got simple button that will send a request to the Spark server, server will receive the request, sleep for random time and return response. I would like this to be traced. What should I use and what should I do to accomplish this? Is it possible to use different libraries on front and back end?

Hi, Janusz.
not sure if either of the frameworks you mentioned have been instrumented,
yet, but they'd be done in https://github.com/openzipkin/zipkin-js for the
frontend and https://github.com/openzipkin/brave for the backend.
There's a brave example here if it helps..
https://github.com/openzipkin/brave-resteasy-example
feel free to join gitter, too https://gitter.im/openzipkin/zipkin

Thank you Adrian for your reply. Unfortunately I cannot access gitter from work.
So on the server side, at the beginning I build new Brave object like this:
Brave brave = new Brave.Builder("Server")
                .spanCollector(HttpSpanCollector.create("http://localhost:9411/",new EmptySpanCollectorMetricsHandler()))
                .build();

Then I played around and I was able to send spans to zipkin like this:
SpanId span = brave.localTracer().startNewSpan("TEST SPAN", request.url());

brave.localTracer().startNewSpan("SPAN", request.url());
brave.localTracer().submitAnnotation("sr");

Thread.sleep(2000);

brave.localTracer().submitAnnotation("ss");
brave.localTracer().finishSpan();

I don't really understand how to use clientTracer(), serverTracer(), or the interceptors. And the example provided is not very helpful. Can I use localTracer for tracing like this?

The example wasn't how to instrument Java Spark, it was how to run a java setup in general. Glad you were able to do that.
For example, to instrument the Spark framework, something like below would be needed:
https://github.com/openzipkin/brave/blob/fd3cdb921964a0d7164c29141fe6aac8099ae4cf/brave-spring-web-servlet-interceptor/src/main/java/com/github/kristofa/brave/spring/ServletHandlerInterceptor.java
maybe using this? https://github.com/perwendel/spark/blob/master/src/main/java/spark/Filter.java
Here are details on brave's hooks:  https://github.com/openzipkin/brave/tree/master/brave-http
Popular frameworks end up in Brave, the first step in making something popular is opening an issue. I'd open one for the sparkjava
https://github.com/openzipkin/brave/issues
If you can't use gitter, then probably best to move this to a zipkin-user email since this is an open-ended conversation (as opposed to something we can fix in this repo). If you do, I'll try to help you there. https://groups.google.com/forum/#!forum/zipkin-user


Tencent.QQ version changed to real version

https://github.com/SpecterShell/Dumplings/actions/runs/10609037350/job/29404100539#step:6:1077

Well, the version scheme of the URL has been changed back and forth for so many times in the past months. I will make a better script for this package.

Resolved in https://github.com/SpecterShell/Dumplings/commit/d777605c502f235e7b2c7eddbe8c5606933b1c5f


login-page-improvements

login-page buttons need to be fixed,

some changes i have done shall i create PR

Similar issue is already open #295.


forEachFeatureAtPixel not detecting features and forEachLayerAtPixel not detecting layers on OL6

I got a program that renders feature to the map. Then I got a listener that calls the context menu extension. To call the appropiate context menu, I need to look for the appropiate feature using forEachFeatureAtPixel.
This feature works perfectly when I was using OL 4.6.4. Now that I update the OL to 6.3.1, it does not pick any feature. When I try to check the the layers using forEachLayerAtPixel, it only detects the TileLayer. I have read the changelog, and added className to the VectorLayer that I want to pick. Quoting the changelog

the layers in a map will sometimes be rendered into one single canvas instead of separate elements.

So that perhaps causes the features and layers to become not detected in my program.
Here's the code to render the feature (there are other similar codes to render different feature, but with different className):
        this.set('plase', new ol.layer.Vector({
            source: boundaryVectorSource,
            style: function (feature) {
                return new ol.style.Style({
                    stroke: new ol.style.Stroke({
                        color: "#000000",
                        width: 1,
                        lineDash: [4.5, 5]
                    })
                });
            },
            className: 'boundary'
        }));

And here's to pick layers and features:
this.map.forEachLayerAtPixel(evt.pixel,
    function (layer) {
        console.log(layer);
});
this.map.forEachFeatureAtPixel(evt.pixel,
    function (feature, layer) {
        console.log(feature);
    }
);

I hope there's a workaround for this. Thank you

I saw this comment: https://github.com/openlayers/openlayers/issues/8723#issuecomment-425050563 and will give it a try.


Horseman crashes when more than 11 instances are running

I'm writing code that uses the async library that does web spidering. I've tried opening just 1 site at a time and the code runs without a hitch. I ran into this while trying to use node-horseman:
(node) warning: possible EventEmitter memory leak detected. 11 SIGINT listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
at process.addListener (events.js:179:15)
at process.on.process.addListener (node.js:668:26)
at /app/node_modules/node-horseman/node_modules/node-phantom-simple/node-phantom simple.js:87:21
at Array.forEach (native)
at spawnPhantom (/app/node_modules/node-horseman/node_modules/node-phantom-simple/node-phantom-simple.js:86:31)
at Object.exports.create (/app/node_modules/node-horseman/node_modules/node-phantom-simple/node-phantom-simple.js:201:5)
at new Horseman (/app/node_modules/node-horseman/lib/index.js:135:11)

Have you googled emitter.setMaxListeners()?

Closing due to lack of info.


introduce pkg/valuesutil

This commit introduces pkg/valuesutil which contains a set of
utilities to work with helm values and jsonschemas. Most notably, it
includes the Generate function which can deterministically produce a
randomized output that is considered valid for a given json schema.
Future commits will utilize this utility to both fuzz and property test
the redpanda chart.
Examples of both fuzz testing and property testing with go's builtin
constructs are included in fuzz_test.go.

I got a wee bit carried away on this one...


Add an example of Segment Anything Model [Inference]

What does this PR do?
Add an example code of SegmentAnythingModel using Graph mode and BF16.
Original FP32:
n_iterations: 20
Total latency (ms): 10380.430936813354
Average latency (ms):<PHONE_NUMBER>406677
Enabled graph mode and BF16:
n_iterations: 20
Total latency (ms): 1639.5680904388428
Average latency (ms): 81.97840452194214
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

@regisss
This is a validated model and this is an example script for users. No core code has been changed.

@cfgfung Can you please provide GPU benchmark and add ci tests?

@cfgfung Can you please provide GPU benchmark and add ci tests?

@yeonsily
Sure. Is there any reference for the CI test? This is just a validated example. I checked another merged example  (https://github.com/huggingface/optimum-habana/commit/2f55de3f9ad23a853768c16029c455ee11b0e515)  and that does not require CI.

@cfgfung  Your code looks good. Can you just modify your test file name to something like test_image_segementation.py . Also, please make sure your test runs on CI test.
https://github.com/huggingface/optimum-habana/blob/8786b7592c58d394f9460710415de3c08775b1b6/Makefile#L45

@cfgfung Your code looks good. Can you just modify your test file name to something like test_image_segementation.py . Also, please make sure your test runs on CI test.
https://github.com/huggingface/optimum-habana/blob/8786b7592c58d394f9460710415de3c08775b1b6/Makefile#L45

Thanks for the review. I have renamed the test file and add few lines of codes to the makefile for the CI tests.

Could you delete old file : test_modelenabling.py?
Also I ran your tests on the latest, and I'm getting this error on the last test. Do you see this passing on Docker 1.15.0? tests/test_image_segmentation.py::GaudiSAMTester::test_inference_default PASSED tests/test_image_segmentation.py::GaudiSAMTester::test_inference_hpu_graphs PASSED tests/test_image_segmentation.py::GaudiSAMTester::test_no_latency_regression_bf16 FAILED
FAILED tests/test_image_segmentation.py::GaudiSAMTester::test_no_latency_regression_bf16 - AssertionError: 81.58655166625977 not greater than or equal to 93.97604942321777

Removed the file.
Somehow it passed on my side. I fixed the logic of that test. It should be able to pass now.

@cfgfung   can you merge your change to the latest baseline?

@cfgfung can you merge your change to the latest baseline?

Hi,
I have applied a git rebase. It should be aligned with the latest baseline.

@cfgfung  can you rebase and provide the test result on latest?

@cfgfung can you rebase and provide the test result on latest?

Hi,
I have applied rebase and ran the tests.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Boost v1.71.0 required for eos release v1.8.13

Due to recent updates to xcode-select, llvm and boost and failing to build during eosio_build.sh after eosio_uninstall.sh. This forces the hotfix of 1.8.13 required to support current Darwin setups.
Change required:
https://github.com/EOSIO/eos/blob/v1.8.13/scripts/.build_vars
Line 33: export BOOST_VERSION_MINOR=71

@dapixcasey, to eliminate the chance of breaking binary compatibility with existing chainbases, we'll stick with boost 1.70 for 1.8 series.

Looks like another change is needed to run 1.8.x on current mac builds:
export LLVM_VERSION=release_80


add instructions for azure devops repo

@yucwan : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Libdoc: Embedding HTMl doc into XML output format. #3301

Hi Pekka,
I finished the implementation. Documentation is lean but should be enough.
i added a few atests and extended some others.
i would be happy if this could be reviewed quickly. ;-)
We need this feature for QS-Tag and want to show rendered Keyword Docs from Robot in our GUI.
kind regards
René

In general looks very good. Quick comments:

Docs should have a note this is new in 3.2.
At least UG docs should be extended a little.
There's some unnecessary whitespace changes (trailing spaces, unnecessary empty lines, possibly inconsistent newlines).
The whole gven format should be validated in a one go. Initially accepting XML:whatever just complicates code elsewhere.
I got some small comments to code otherwise but don't have time for them right now.

Thanks @Snooz82! I'll enhance docs separately.


logging in at /carbon/admin results in 405 failure retrieving favicon.ico

On a fresh installation of 5.6.0, going to https://localhost:9443/carbon/admin and logging in will bring you to a blank screen.  looking at the network tab reveals a 405 error retrieving favicon.ico.
This page should either function as expected, or redirect the user to /carbon/admin/index.jsp (which does function as expected)

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


Extend the deployments so you can add custom options

This extension is fully backwards compatible so doesn’t change the existing API, but extends it with an additional call so you can create a deployment with some more options.
A use case example is that without this code it isn’t possible to create a deployment for a custom virtual network/subnet…

@svanharmelen thanks for this pull request, looks good overall.
We're at a phase which we don't need to be backwards-compatible. Feel free to just refactor CreateDeployment to look like CreateDeploymentWithOptions as it makes the most sense. We prefer to have 1:1 mapping between REST calls and package methods.

@ahmetalpbalkan that remark actually worries me... So what does that mean for me as a user of this package?
I do see and understand that this package isn't up to spec yet and needs work in both styling and functionality, but if you currently do not care about backwards compatibility then I would at least expect a big fat warning in the README to NOT use this package for anything that matters to you, or to be very sure you have vendorred the code into your own repo/source?
Otherwise I can imagine a lot of people will not be happy users of your package. Especially since your versions are actually in the range of v1.0, v1.1 which normally suggests some form of release management and a stable API (since it's a v1+ release).
But good that I know this now :smiley: Then I'll just point my imports to my fork instead of this repo to guard myself from unforeseen API changes for the time being. So is there a roadmap or are there any thoughts on how to get to a stable API?
Last but not least... Will refactor this PR in a few, this time without worrying about the backwards compatibility :wink:

@svanharmelen A few months ago we started taking over this package from MSOpenTech. Historically this is developed to be used in projects like docker-machine, docker-registry etc. Initially it was very hacky when we took over and we had to do lots of refactoring (all of which was breaking). (The package basically had a global static state, these methods were not even defined on client classes like VirtualMachineClient).
We're not done with that refactoring "yet" to put a label on it. That's why we're continuing to break. I believe all the dependencies we know we have are either using an earlier (tagged) version or simply doing Godeps to locally vendor the source code of this package. When we are done and feel confident that the library looks in a good shape, we will be putting a version tag and following semantic versioning for version numbers. That'll probably be called 2.0.
So you're safe to break everything for now. :-)

@ahmetalpbalkan check!
So should I also update any styling issues on the parts that I touch? Meaning that currently the code looks a little more like C# than like Go and sometimes has really long lines. If I run tools like golint or go vet (which my editor does automatically for me) I get a whole bunch of complaints which I would expect need to be fixed before releasing a v2.0 right?
So I can update what I touch, but that would mean introducing a different style than you currently have in the package. For example the updated CreateDeployment method would now look like this:
// CreateDeployment creates a deployment and then creates a virtual machine
// in the deployment based on the specified configuration.
func (vm VirtualMachineClient) CreateDeployment(
	role Role,
	cloudServiceName string,
	options *DeploymentOptions) (management.OperationId, error) {

	req := DeploymentRequest{
		Name:           role.RoleName,
		DeploymentSlot: "Production",
		Label:          role.RoleName,
		RoleList:       []Role{role},
	}

	if options != nil {
		req.DnsServers = options.DnsServers
		req.LoadBalancers = options.LoadBalancers
		req.ReservedIPName = options.ReservedIPName
		req.Subnet = options.Subnet
		req.VirtualNetworkName = options.VirtualNetworkName
	}

	data, err := xml.Marshal(req)
	if err != nil {
		return "", err
	}

	requestURL := fmt.Sprintf(azureDeploymentListURL, cloudServiceName)
	return vm.client.SendAzurePostRequest(requestURL, data)
}

Instead of the current:
func (self VirtualMachineClient) CreateDeployment(role Role, cloudServiceName string) (management.OperationId, error) {
	data, err := xml.Marshal(DeploymentRequest{
		Name:           role.RoleName,
		DeploymentSlot: "Production",
		Label:          role.RoleName,
		RoleList:       []Role{role}})
	if err != nil {
		return "", err
	}

	requestURL := fmt.Sprintf(azureDeploymentListURL, cloudServiceName)
	return self.client.SendAzurePostRequest(requestURL, data)
}

So is that OK, or should I just update the functionality instead so you can do the whole styling in one go?

@ahmetalpbalkan just updated the PR according to our earlier discussion. Please let me know if it's OK like this, or that I should leave the styling as is for the time being.
As for some background, I'm currently using this package to build a Terraform provider. I've build the CloudStack provider a few months ago and now have a use case (and some requests from the community) for Azure support as well.

@paulmey please review. (esp the signature change on CreateDeployment)

@ahmetalpbalkan updated the type to CreateDeploymentOptions...
One additional question is about all the pointer to slices. Is there a specific reason to have all these? It makes some uses of the package a little nasty (having to do this (*virtualmachine.DeploymentResponse.RoleList)[0] instead of just this virtualmachine.DeploymentResponse.RoleList[0]) and using pointers to slices don't really add any value as slices are referenced types anyway. So in terms of memory usage there is no benefit and the zero value of a slice is nil just as it is for a pointer to a slice.
So just wondering why these are used so much in the package... Thx!
NOTE: I not trying to be a smart-ass or to be annoy anyone! I'm just trying to help shape up the package so I can use it in a Go like manner in any projects that I work on that would need it... Just wanted to express that :smiley:

@svanharmelen they're probably inherited from old code or missed in our code reviews. Feel free to submit a new PR or just open a brief issue and we'll get to it.
Your help is always appreciated, we really need more eyes on the code and the design to shape it up. (The design itself is totally non-trivial.) In reply to your earlier long comment, golint/go vet fixes probably should go into a separate PR and we're open to styling and UX fixes, feel free to bring them on as proposal issues instead of PRs if you don't want to refactor the whole repo. :)

See note above, LGTM otherwise...

@paulmey I think generally this pattern is ok. The method signature for a REST API call should take parameters of the underlying REST request URL as first parameters (e.g. cloudServiceName, deploymentId) and the rest should go into a type-safe property bag (i.e. xxxParameters struct, in this case CreateDeploymentParameters). This is extensible and likely to sustain in a lifecycle where we maintain back-compat. I don't know what's the state of consistency about this but I remember we followed this in storageserviceclient recently?

@ahmetalpbalkan I mostly agree with the pattern, we indeed used that on the 'create storage account' method. My only reservation is with parameters that require some structure, eg. it would probably be a bad idea to have a complete ConfigurationSet as one of the additions parameters, but I think that's obvious and easy enough to see... :-)

As we're talking about patterns, I did some work on a networksecuritygroup package this evening and followed the current package approach a little, but at the same time wrote it with my Go hat on... Maybe that is a good one to look at and to discuss while we're talking about this stuff...
Will create a PR for that one in a few minutes.

@svanharmelen can you please squash all commits into one? (we prefer ease of revert-ability and easily readable commit history)

@ahmetalpbalkan done...

@ahmetalpbalkan hmm... something went wrong here... I'll just open up a new PR so we have a clean merge...

yep squash is never easy if you're using it for the first time :)) I must write a blog post about git squash/fixup stuff.


fix: fix Cannot resolve symbol 'ActivityCompat' & feat: support scanning other formats of barcode

fix: fix Cannot resolve symbol 'ActivityCompat'

@tomfong Thanks for the fix, that helped me after updating to Cordova Android 10
Hope these changes will be applied to the master soon

@up2-date It seems that @bitpay wouldn't maintain the plugin anymore. I suggest you change to use https://github.com/capacitor-community/barcode-scanner maintained by @thegnuu, if your project is capacitor based.


Cannot add new images

I tried adding new Images to the project with the dimension 400x400 but unable to change it
Traceback (most recent call last):
File "main.py", line 76, in
sub_window = np.hstack((image, blank, filtered_image[:,:,[2, 1, 0]]))
File "/usr/local/lib/python3.6/dist-packages/numpy/core/shape_base.py", line 293, in hstack
return _nx.concatenate(arrs, 1)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
Getting this error!

This a numpy error generally thrown when the dimensions of your custom data do not match the data expected in the code.
Ensure that your image is of the same size, type and format as the example images present.
Just to make sure that it is not an error with the code you can try to replicate the images present in the folder by creating copies of the given images and see if it works then.


So, this project ended???

So, this project ended???

Yes, pretty much

Hm.....
This is the best project on UWP, we want it updated :sob:

I suggest that you try Sqlite-Net-PCL - https://github.com/praeclarum/sqlite-net
I successfully migrated to that project without much changes. Also it is being maintained actively. Performance also is lot better.
Thanks.

@gautambjain Thank you very much, I will look into it.

@oysteinkrog Please suggest a migration path, I'm missing SQLitePlatform*, ISQLitePlatform, ITraceListener, PrimaryKey attribute.


ModuleNotFoundError

No module named 'crewai.agents.cache

pip install --upgrade crewai

Closing in reference to https://github.com/joaomdmoura/crewAI/pull/99


how to train a model like 'dlib_face_recognition_resnet_model_v1.dat'

Hello,
I wanna train a new model to face recognition with dlib on Asian dataset named glint, because now the model is not suitable for Asian. Is there any code for training reset_model_v1?

Check out this entry in the wiki: https://github.com/ageitgey/face_recognition/wiki/Face-Recognition-Accuracy-Problems#question-can-i-re-train-the-face-encoding-model-to-make-it-more-accurate-for-my-images


Add anonymize db utility. Fixes #2413

can this get a readme or anything that might tell the person what it will do (ideally enumerating the actions it'll take)? anything like that? also i feel like it should come with a warning like "we don't guarantee that this is 100% bug free" or somesuch...
Feels like it needs some 'legalize' even though IANAL.... stuff... just me?

Add this text to the help:
This utility attempts to remove any personal information from the db. It does the following
1. Renames all identities, services, edge-routers, policies and configs with generic names
2. Makes all role attributes generic
3. Replaces host.v1, host.v2 and intercept.v1 configs with generic versions
4. Deletes authenticators and enrollments.

WARNINGS:
* There may be personal information in other database fields, as this doesn't cover every field in every type.
* This works in place on the provided database. Make sure to run this on a copy of your database

Let me know if there's anything I should add to that


always_on_top hides the popup menu

Godot version
4.0.1.rc1
System information
Windows10
Issue description
	get_window().always_on_top = true
	get_viewport().gui_embed_subwindows = false

	$PopupMenu.popup(Rect2(pos,Vector2.ZERO))

it's transparent window. I can't click the overlapping menu.
When I set always_on_top in the popup menu, it worked in a limited way, but I got scolded.
https://github.com/godotengine/godot/issues/75001
Steps to reproduce
see https://github.com/godotengine/godot/issues/75001
Minimal reproduction project
see https://github.com/godotengine/godot/issues/75001

Duplicate of #62382


機能：⭐症状、受診・検査結果の記録

Tasks

✅Modify whole processes to store allergen items as a new type(allergens) in CK (as you suggested)
✅Fix the UPDATE function for Profile.
> Prob: Slow READING after SAVE the profile. (Newly added item does now display)
✅Improve a method of querying btw CK (later)
-> Current Problem: Allergens are listed with duplication
✅Add DELETE for the profile.
✅Logo
 Display profile image, if select, root back to MembersView, so that select a different member.
Add the Episode and the Medical Test function with UPDATE, DELETE.
*Multi-image-picker is not equipped
diagnosis Allergen (make same as Profile)
Display DiagnosisView as a full screen
 Display as a full screen
Available a function of ‘Swipe Delete’
READING, UPDATE, DELETE for SkinTest and OFC
 Display as a full screen
 Equip ‘Multi-image-picker’
UPDATE, DELETE
If a user is deleted, all related diagnosis, medical test, episode data also is going to be deleted
If the Delete button on MedicalTestAndEpisodeView is pressed, delete all data from MedicalTest and Episode
Deploy or TestFlight.
Data export or sharing as a pdf file or email.


Explain the process of contributing support for a board

Currently, it is not very clear what the process is for contributing community-supported board to balena. We have https://www.balena.io/docs/reference/OS/meta-balena/#custom-board-support but it only goes through the steps to add a board and it doesn't discuss the process from start to finish and the release cycle of community supported boards.

[sradevski] This issue has attached support thread https://jel.ly.fish/#/support-thread~66b94b07-d1d7-4dec-83e8-b5afeb73e7d2

This is the more up-to-date content https://www.balena.io/os/docs/custom-build/#Supporting-your-Own-Board. The current content needs to be updated to reflect this.

@garethtdavies i think we should improve the contributing docs here to make it easier to follow (see linked JF thread)


brackets mac os x 10.5.8

Prerequisites

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

For more information on how to write a good bug report read here
For more information on how to contribute read here
Description
[Description of the bug or feature]
Steps to Reproduce

[First Step]
[Second Step]
[and so on...]

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Versions
Please include the OS and what version of the OS you're running.
Please include the version of Brackets. You can find it under Help -> About Brackets (Windows and Linux) or Brackets -> About Brackets (macOS)

I don't know what was your issue, but I really doubt Brackets can work on Mac OS below 10.7.


Provide the guest with the nameservers from its pod via DHCP

This series will provide a list of nameservers from a POD to be set in a vm via
DHCP
Should resolve #781
Signed-off-by: Vladik Romanovsky<EMAIL_ADDRESS>

This PR depends on #824

retest this please

 BUG: Forward DNS servers to guests with DHCP

 BUG: Forward DNS servers to guests with DHCP


Unreal very big CPU Intel Core i7-3930K (12) @ 5.7GHz frequency

Description
I got an unreal very big CPU Intel Core i7-3930K (12) @ 5.7GHz frequency.
Neofetch version
neofetch_1.9.1-1ubuntu1_all
Screenshot

astronom@ubuntu:~$ grep MHz /proc/cpuinfo
cpu MHz		: 1695.000
cpu MHz		: 1442.125
cpu MHz		: 1359.750
cpu MHz		: 1464.000
cpu MHz		: 1322.250
cpu MHz		: 1273.250
cpu MHz		: 1970.625
cpu MHz		: 1600.250
cpu MHz		: 1620.125
cpu MHz		: 1457.875
cpu MHz		: 1828.750
cpu MHz		: 1697.875

Thanks for opening this!
What's the output of these commands?
# Default value
# Same as neofetch --speed_type max
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq

# Prints current usage
# Same as neofetch --speed_type current
/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

# List all speed types
ls /sys/devices/system/cpu/cpu0/cpufreq/

astronom@ubuntu:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
5700000
astronom@ubuntu:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
1270250
astronom@ubuntu:~$ ls /sys/devices/system/cpu/cpu0/cpufreq/
affected_cpus               related_cpus                 scaling_max_freq
cpuinfo_cur_freq            scaling_available_governors  scaling_min_freq
cpuinfo_max_freq            scaling_cur_freq             scaling_setspeed
cpuinfo_min_freq            scaling_driver
cpuinfo_transition_latency  scaling_governor
astronom@ubuntu:~$

Running neofetch with neofetch --speed_type current or editing the config file and changing speed_type="max" to speed_type="current" will fix your issue.
I'm also going to change the default value in the next version of neofetch to current.
Thanks for opening this issue. :)

Did this fix your issue?

Yes, of course.


Critical: Fixes Snapdragon Flight parameter synchronization problem

The Snapdragon Flight configs will now cause all modules to be scanned for parameters in both Posix (ARM) and DSP (qurt) builds.

@bkueng @LorenzMeier @ChristophTobler
This PR contains the changes requested by @bkueng in the other PR containing the same fix:  The other PR (now closed due to a rebase error on my part) for reference is:
https://github.com/PX4/Firmware/pull/6883

Thanks @jywilson, this is good now, but you accidentally removed src/platforms/px4_getopt.h, which causes CI to fail.

@bkueng Can you fix quickly?

@bkeung Very strange.  I am not sure how this happened, and it builds fine for me.  I will replace this file.  Thanks.

@jywilson This has already been fixed and merged https://github.com/PX4/Firmware/pull/6910

Thanks @ChristophTobler. @bkueng just noticed that you applied the change. Thanks.


Release of the interference code for a single ply

Congrats on your great work and thank you for releasing it in open source.
Is there any news about the release of the interference code used in the demo? It would be very convenient to use it with our own pointclouds.
Thank you!

Yes, the same to me. The author has made remarkable achievements on 3D Semantic Instance Segmentation. And we wish to obtain an inference file for replication and application on our dataset. Thanks!

@CharlesCai123 Where can i find more information about how to create a custom dataset to use Mask3d?

@Pamogar @Charlescai123 @IvanGarcia7 Hi! I also have this requirement, have you successfully run inference on your point cloud?

Has the problem been solved, bros?

Has the problem been solved, bros?

@tangze5258 You may refer to this version.


Add binary sensor "is_raining"

New Feature
Is there any chance of adding the binary_sensor.is_raining also to this. It was contained in the cloud api based integration but I ditched that to become cloud independent. I tried to create my own based on the rain rate, but that does not seem to update frequently.
Additional context
No response

I will have a look at it.

@yolani, can you share what you used to create the binary sensor or what you mean by it didn't update frequently? The rain rate only updates once a minute from the device itself.

Hmm, I just checked and actually it seems to work now... I just created a binary template sensor with "rain_rate > 0?"
The first one in this picture is my own, the other one is from the cloud based integration, which seems to have a small debounce when the rain Stopps, but actually mine turns on faster.

Glad it works, I will close the issue.


Entity CEAF true positives and false positives off by factor of 2.

I believe there is a 2 missing in the definition of the dice coefficient which causes the true positives and false positives to be off by a factor of 2.
Line 343 of https://github.com/wikilinks/neleval/blob/master/neleval/coref_metrics.py
Luckily this doesn't affect precision, recall or F-score since everything ends up off by a factor of two, so the issue is definitely not urgent, but should be an easy fix.
My understanding of CEAF is based on what I read in http://www.aclweb.org/anthology/H05-1004. On page 28 they define the similarity metrics. It's also possible I've misunderstood how this metric is calculated. If that's the case,  kindly let me know.

Thanks, I think you're right.
On 12 August 2017 at 00:12, cpalenmichel<EMAIL_ADDRESS>wrote:

I believe there is a 2 missing in the definition of the dice coefficient
which causes the true positives and false positives to be off by a factor
of 2.
Line 343 of https://github.com/wikilinks/neleval/blob/master/neleval/
coref_metrics.py
Luckily this doesn't affect precision, recall or F-score since everything
ends up off by a factor of two, so the issue is definitely not urgent, but
should be an easy fix.
My understanding of CEAF is based on what I read in http://www.aclweb.org/
anthology/H05-1004. On page 28 they define the similarity metrics. It's
also possible I've misunderstood how this metric is calculated. If that's
the case, kindly let me know.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/wikilinks/neleval/issues/29, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEz68xqSlDp1mgr5MHpH2yNgRWy9AZuks5sXGFcgaJpZM4O0tXu
.

We've always tested on the basis of P, R, F so it's not surprising this was
missed. Would you like to offer a Pull Request to patch both dice and
_vectorized_dice?
If not, I'll do it, but let me know. Thanks.
On 13 August 2017 at 22:57, Joel Nothman<EMAIL_ADDRESS>wrote:

Thanks, I think you're right.
On 12 August 2017 at 00:12, cpalenmichel<EMAIL_ADDRESS>wrote:

I believe there is a 2 missing in the definition of the dice coefficient
which causes the true positives and false positives to be off by a factor
of 2.
Line 343 of https://github.com/wikilinks/neleval/blob/master/neleval/cor
ef_metrics.py
Luckily this doesn't affect precision, recall or F-score since everything
ends up off by a factor of two, so the issue is definitely not urgent, but
should be an easy fix.
My understanding of CEAF is based on what I read in
http://www.aclweb.org/anthology/H05-1004. On page 28 they define the
similarity metrics. It's also possible I've misunderstood how this metric
is calculated. If that's the case, kindly let me know.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/wikilinks/neleval/issues/29, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEz68xqSlDp1mgr5MHpH2yNgRWy9AZuks5sXGFcgaJpZM4O0tXu
.

Sorry for the delay. Should be fixed here https://github.com/wikilinks/neleval/pull/32


Migrates UCP 1.1 docs with history

The previous migration to this tree did not persisted the history for the UCP docs. This solves that.
/ping @mstanleyjones for a quick check

I thought we specifically didn't want to keep the history from the private repos. @johndmulhausen for opinions....

Having history will make it easier when we try submitting docs for the next version of UCP/DTR.
This PR preserves all the changes that have been made to UCP docs in this repo, it doesn't discard them.

It's quite alright to preserve history if that's what you want, Joao.
Private-sourced changes getting published to the public repo are not bound
to preserving or removing history. If it serves a purpose to bring history
along, by all means do.
On Nov 1, 2016 9:43 AM, "Joao Fernandes"<EMAIL_ADDRESS>wrote:

Having history will make it easier when we try submitting docs for the
next version of UCP/DTR.
This PR preserves all the changes that have been made to UCP docs in this
repo, it doesn't discard them.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/docker/docker.github.io/pull/407#issuecomment-257618833,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFMAf-tqqUYOnvI-WVoWNU8idKZjqUx8ks5q52wMgaJpZM4KluVq
.


How to evaluate metrics

Hi @ZexinHe , I wanted to run some metrics on a custom trained model, how do I do that, I tried using FID, but during inference I'm getting ply file for which I rendered images using blender, but the images don't have colour, so the FID value is very high, can you suggest any way to save the object as a glb file.

Hi,
Currently, the mesh exportation is using trimesh package, which automatically detects the type of file to export based on the extension. Have you tried changing ply to glb or other formats here?
https://github.com/3DTopia/OpenLRM/blob/3108b6902d27912e1dcdce76970eab51436f5b21/openlrm/runners/infer/lrm.py#L281


feat: Make Beerus Wasmable

Feature Request
Successfully build Beerus into Wasm.

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

If the feature request is approved, would you be willing to submit a PR?
(Help can be provided if you need assistance submitting a PR)

[ ] Yes
[ ] No

I can take this issue


problem-oliver-game-algos

Hello @kyle-kauzlarich,
Check out my problem-set.
I hope it's better.
Thanks Cheers

it's looking good


How do we handle having absolutely no data?

Should we remove from the madlib?
Should we have just one missing message?

Do not remove from the madlib.
We should reduce the messages though if possible. I think that having just "Data Missing" next to Total Population is sufficient

Don't make any changes to the page...remove the warning in the profile card and leave the "Data Missing" string next to Total Population.


Update kube-prometheus

The lokki Grafana datasource is being cleaned out as it isn't used
anywhere.

The loki ds was added to facilitate enabling loki easily for some users.
I'm not sure deleting the loki ds is ok.

OK I've put Loki back.
However I think this is debatable as there is nothing that prevents those users to tweak the data sources on their own. Additionally I don't get the rationale of favouring this particular tool, it's not included in the microk8s addons so why picking this one and not another one?
As far as I'm concerned this extra data source clutters Grafana as there is no working service behind.

Thanks @dud225 for this work.  Lgtm 👍

Hey @dud225
Thank you for this PR and for your interest.
We have recently deprecated the prometheus plugin and replaced it with the observability plugin(#56) that utilizes kube-prom-stack helm chart. Could you kindly migrate your changes there if necessary? Thanks.


Scarab obelisk path enhancement

Currently when doing the obelisk room on the way to Kephri, it labels 1-5 for the obelisk order once you figure it out. I believe there is an potential enhancement here because after someone figures out 1-4, and guesses wrong on 5, then both 5 and 6 are effectively known but the plugin does not reflect that.
You can take this one step further for gamers with even less braincells to track combinations they have already tried and mark obelisks they should not hit (to guide someone from making combination already attempted).

It's not very feasible to reliably track what obelisk you're hitting at any given time, but if someone finds a way to do so then I'd accept it.


same allowed methods for all resources

As far as I can tell there is no way to control allowed methods on per resource basis for OPTIONS requests.

You can do this now by adding your own logic in a signal handler as per #139 . See the README for some examples.


[python] Support for nullable columns [WIP]

Issue and/or context: Issue #2014
Changes:
I tried all three ideas raised in Slack/Shortcut by @nguyenv in conversation with @aaronwolen and myself; all three fail one or more existing unit tests.
Notes for Reviewer:
This is still a WIP.

Can you please link the SC you are referencing for the benefit of those of use who can access them?  Thanks.

Superseded by #2083

[sc-39118]


yazi: fix plugins and flavors config

Tried to install yazi with plugins, failed, discovered a typo of concatMapStringsSep instead of concatStringsSep in the package that makes build fail when plugins or flavors options are not default empty sets

Thanks for the contribution. In the future, please ensure to keep the PR template and follow CONTRIBUTING.md for the commit guidelines.
Also, can you explain the issue and why you believe this fixes it? Perhaps an example would be helpful here.

The issue is that when evaluated concatMapStringsSep was called with too few arguments and the build would crash because of failing to convert a function to a string. Most likely this was simply a typo, but because with the default arguments that part of code was skipped, the issue went unnoticed.

Thanks. Please update the commit message to match the PR title, or at least stick to that format.


It is missing an icon

Please make an icon for it and assign it to the program.

yeah you're right, the gui could be also a lot prettier, the huge text box on the right isn't being used (I wanted this to be where all the log messages appear). So this is definitely not fully featured. I mainly started this project as a way to learn about winsock2 and input. I'm not sure if I'll ever add an icon.


NPE when Source DB Timezone is not specified

Accessing /migrationData from the HAC will throw an NPE in case of Source DB's Timezone is not specified.
Class/Method:
CommercemigrationhacController#checkTimeZoneDifferences()
Code:
   TimeZone source = TimeZone.getTimeZone(context.getDataSourceRepository().getDatabaseTimezone());
I think, this method can consider this case of 'No timezone difference'  as it does not stop the migration in any case.

Please specify information about source database. Also null timezone is only possible when DB query failed to obtain such information, there should be additional error message in log, however I see that exception "handling" in that part of code is quite, well, non existing (ex. MySQLDataRepository.java:152)

Source DB is HANA.
Yes, it doesn't log. If not being able to retrieve the timezone from the source DB should ideally throw an error or at least warn because without that migration cannot really happen?

Timezone information is important to not get potential data corruption on all date/time columns, but for sure this logic needs some improvements.
Can you confirm that you're not able to execute following query:
select * from M_HOST_INFORMATION where upper(KEY) like '%TIMEZONE_NAME%'
It should not be prohibited for correctly configured HANA DB user

Hi @lnowakowski , i have the same/similar issue .
Also on HANA DB as Source DB. When clicking on the HAC "data migration" page, a 500 Server Error occurs. When checking per Dynatrace, i see CommercemigrationhacController.checkTimeZoneDifferences has an NPE (Cannot invoke "String.length()" because "id" is null)
java.util.TimeZone.parseCustomTimeZone (TimeZone.java:801)[-]
java.util.TimeZone.getTimeZone (TimeZone.java:580)
java.util.TimeZone.getTimeZone (TimeZone.java:518)
de.hybris.platform.hac.controller.CommercemigrationhacController.checkTimeZoneDifferences (CommercemigrationhacController.java:547)
When calling the above query in the HANA DB directly i get one result : "CET" .

Hello @Otiom, thank you for your input. I'd like to ask you for more details, because in case of such error, I'd implement a fallback to default UTC time zone for example, which in your case would create a big issue as your DB is on CET. Can you confirm that given SQL query was executed with same user credentials as ones used in DB Sync? It's quite strange that queried from DB Sync gives an error, but still we'll implement some better exception handling there to get more details about problem root cause

Hello @lnowakowski, you were right. The inital rights did not allow this query. This was now changed.
We will soon try again and let you know.
My suggestion would be to include this query call also in the "connection check" and in case it fails provide a useful message on  what to check.
In case a fallback to a timezone is still for other things needed: Maybe an option to overwrite per property with the fitting timezone (and default UTC) would be an option.

Maybe an option to overwrite per property with the fitting timezone (and default UTC) would be an option.
Yeah, good idea. Thanks, will try to include it in upcoming changes


Add clippy to CI and tidy up all lint issues

Add clippy to the CI build.
Fix all outstanding lint errors.

Closes #50.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[Maint] Fix the error in CI relating to docs building.

In this PR, I fix the deprecated and/or changed mkdocs settings.
Edit: I added uploading the docs artifact to the workflow step, so I could see that the docs look correct, with the few emoji, etc.
Edit2: While I was at it, I fixed the broken links here:
https://napari-threedee.github.io/getting_started/developers/

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

Comparison is base (41322e0) 54.43% compared to head (a9acbbc) 54.43%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #149   +/-   ##
=======================================
  Coverage   54.43%   54.43%
=======================================
  Files          93       93
  Lines        3529     3529
=======================================
  Hits         1921     1921
  Misses       1608     1608

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

BTW, I really hate the default of link to file.md being turned into link to /file/ and not /file.html
https://www.mkdocs.org/user-guide/configuration/#use_directory_urls
makes browsing the artifact really annoying.


File Locksmith context menu icon

Description of the new feature / enhancement
The icon shown next to file locksmith on the context menu doesn't look that good. The resolution isn't as high as it should be, looks pixelated.

Scenario when this would be used?
Aesthetic purposes
Supporting information
No response

https://github.com/microsoft/PowerToys/pull/27664

This issue has been worked on and released during the 0.73 Release project. Please update PowerToys to the latest. 😉


Compiling Border Router with TCP support

Hi there,
How to compile border router so that TCP is enabled and TCP cli commands are available in ot-ctl?

I tried to compile it as follows:
             INFRA_IF_NAME=wlan0  OTBR_OPTIONS="-DOT_TCP=ON"  ./script/setup

but it doesn't do the thick :(

Couldn't find anywhere how to do it.
Thank you for your help.
Cheers,
Andrii

The OT_TCP build option is disabled here:
https://github.com/openthread/ot-br-posix/blob/9326cc38b6b6ce81958a96d7821c4cb21976d636/third_party/openthread/CMakeLists.txt#L69
Note that it is generally preferable to use the host stack's TCP implementation.

Understood, I just need to enable it so that I could run benchmark test.
I also had to change below to 1 the following line:
-DOPENTHREAD_CONFIG_TCP_ENABLE=0
Thank you @jwhui for your help


Add FAQ About store history

@jm-clius can you please confirm the default value statement?
@staheri14 Does it sound accurate? In your opinion, is there a better way to invite for collaboration?

@jm-clius can you please confirm the default value statement?

No, nwaku defaults to only 50000 messages in the store with no time-based dimensioning. This is prioritised as our next store feature, based on requirements from Status


Document Custom Fields config syntax

Hello! First off, just wanted to say that I've been following the GraphQL/ReasonML ecosystem for over two years now and I'm so excited to see the progress being made on this PPX! This is seriously excellent work! 🎉
I've got a custom Date scalar in my schema that I use for fields as well as in inputs, but I think I'm missing something about how to set it in my bsconfig.json. Here's what I've got:
"graphql": {
    "extend-query": "ReactQuery.ExtendQuery",
    "extend-mutation": "ReactQuery.ExtendMutation",
    "customFields": {
      "Date": "Date"
    }
  }

Date is the name of a module that defines type t, as well as serialize and parse functions.
I'd be great if the docs spelled out the format a little more clearly. Thanks!

We changed the preferred configuration form from kebab-case to camelCase in the configuration, but I missed customFields. I just pushed a new commit (871fef36638d2175839c1478584ba71d11b7b3ed) fixing this. Can you try? On your current release using custom-fields should work.

The documentation is in the documentation directory of this repo so if you have ideas on how to improve the documentation here I would certainly accept PR's!

Thanks for the quick reply! I tried installing that commit but then I get an error - Fatal error: exception Failure("@reasonml-community/graphql-ppx/ppx not found when resolving ppx-flags").
I also tried changing to kebab-case on my initial setup but it still doesn't seem to be working. I've got an input type defined in my schema as:
scalar Date

input UpsertStudentInput {
    id: ID
    firstName: String!
    lastName: String!
    color: APP_COLOR!
    slug: String!
    birthdate: Date!
    grade: GRADE!
  }

Then, I've got a mutation defined as:

Can you try if it works with the inline directive @ppxCustom(module: Date)?

I'm happy to, but can you help me understand where it belongs for an input argument? Does it go after the variable definition at the top of the operation or where it gets used at the field level?

Ah maybe the custom fields don't work for input args. Let me check later!

I'm running into this too:

I can't figure out where to put the @ppxCustom for input arguments
I have a very similar setup to kgoggin (defining customFields in bsconfig.json), and the ppx isn't automatically decoding the scalars. This is happening even for non-input fields. However, using  @ppxCustom (again for non-input fields) with the same modules I define in bsconfig.json works as expected

Is it possible to use custom scalars for input arguments?  I'm confused about how to do this.

No but that would certainly be cool, PR would be welcome, and otherwise this is something I want to be looking at, at some point.


Integrate with scalafix for OrderingImports

Initial integration solely for the purpose of solving the unordered
imports problem. scalafix can introduce a lot of other linting, but for
now I'm only invoking a single rule.
Provides format alias to correctly first invoke scalafix and then
scalafmt (the former can break formatting). Having a single command
simplifies stuff when we have failures in CI.
Not used TaskKey definition as sbt-scalafix does some "clever" caching
preventing me from invoking it correctly. Alias works just fine.
Note:
This change does not introduce PR/master checks for scalafixCheck.
This change does not include the result of sbt format.
Both will be added in a follow up PR, as they do a lot of automatic
formatting.

And you're sure you want to do this via sbt and not pre-commit via command-line version?

And you're sure you want to do this via sbt and not pre-commit via command-line version?

In this repo we already do scalafmtCheck as part of the build process.
Judging from some of the past PRs that seems to be the preferred way, as I often see scalafmt commits, meaning it is done manually.

In this repo we already do scalafmtCheck as part of the build process.
Judging from some of the past PRs that seems to be the preferred way, as I often see scalafmt commits, meaning it is done manually.

So, for the user, what does that mean now? What needs to be run before pushing? Still sbt scalafmt and sbt test:scalafmt or sbt format?

So, for the user, what does that mean now? What needs to be run before pushing? Still sbt scalafmt and sbt test:scalafmt or sbt format?


Naming of html reports and aroma regressors

What would you like to see added in fMRIPrep?
html report naming:
For my use case, I need to run fmriprep on two sessions separately. i'd like to be able to merge the outputs into the same derivatives directory afterwards. however, since the html reports in the new layout (eg. in v22) are above the ses-* directory, i would need to rename the html reports in order to not have two files named the same in the same location. it would be great if the html report naming could include ses-* in addition to sub-*.
ICA aroma regressor naming:
I noticed that the naming of ICA aroma regressors in *_desc-confounds_timeseries.json and *_desc-confounds_timeseries.tsv is inconsistent. Naming the two regressors the same would make workflows just a little smoother. For example, the first motion regressor in the json is called "aroma_motion_1" but in the tsv it's called " aroma_motion_01". i got this with v22.0.2.
Do you have any interest in helping implement the feature?
Yes, but I would need guidance
Additional information / screenshots
No response

Hi @burdinskid13, thanks for your interest. I'll answer both here, but please open a separate bug report for the ICA AROMA one, and I'll copy my response over there.
For the HTML report issue, I wonder if the quicker fix is running --reports-only on the combined derivatives directory after running the two sessions separately. I haven't tried this. You'll also need to use the patch in https://github.com/nipreps/fmriprep/pull/2900 to correctly handle this if you're using --output-layout bids (or not using --output-layout legacy in 21.0+). For this, you can use fmriprep-docker <usual arguments> --patch fmriprep=$PWD/fmriprep if you're running from inside the repository.
If that doesn't work/appeal, adding the session is possible. You would need to modify niworkflows here. We would need to accept a session and optionally add it to the filename. Then in fMRIPrep, we would need to detect that session has a unique value and pass that to niworkflows. Look for the function generate_reports.

For the ICA AROMA regressor naming, to address this, we'll need to look at where they come from. Looks like the ica_aroma_wf has the following output:
https://github.com/nipreps/fmriprep/blob/b6c8e1bfd2dd153663ac6bc17ec905ddf1e72b11/fmriprep/workflows/bold/confounds.py#L832-L833
That's set here:
https://github.com/nipreps/fmriprep/blob/b6c8e1bfd2dd153663ac6bc17ec905ddf1e72b11/fmriprep/workflows/bold/confounds.py#L1005-L1007
So generated by:
https://github.com/nipreps/fmriprep/blob/b6c8e1bfd2dd153663ac6bc17ec905ddf1e72b11/fmriprep/workflows/bold/confounds.py#L939-L941
So we'll be looking in:
https://github.com/nipreps/fmriprep/blob/b6c8e1bfd2dd153663ac6bc17ec905ddf1e72b11/fmriprep/interfaces/confounds.py#L262-L296
Which calls:
https://github.com/nipreps/fmriprep/blob/b6c8e1bfd2dd153663ac6bc17ec905ddf1e72b11/fmriprep/interfaces/confounds.py#L398-L463
It looks like the metadata and columns are defined in two places:
https://github.com/nipreps/fmriprep/blob/b6c8e1bfd2dd153663ac6bc17ec905ddf1e72b11/fmriprep/interfaces/confounds.py#L430-L432
https://github.com/nipreps/fmriprep/blob/b6c8e1bfd2dd153663ac6bc17ec905ddf1e72b11/fmriprep/interfaces/confounds.py#L459-L461
The fix may be simply to change {} to {:02d}. Would need to test, however, since if it's not an integer type, we'll need to convert name to an integer to do that formatting.

Given that AROMA was removed in 23.1.0, are there any elements in this issue that should still be implemented?

I think it can be closed. But worth opening on nipreps/fmripost-aroma...


Fixed copyright

Note: oauth2client is now deprecated. As such, it is unlikely that we will
review or merge to your pull request. We recommend you use
google-auth and oauthlib.

This is confusing, but it's not how it works. The LICENSE file is unmodified from Apache 2.0. To apply the license, you add the license header to your source files. You just modified the example.


Push new version with custom close button

Hi, I see there's a commit to add support for a custom close button. We'd like to start using this, however there's no release on npm for it and if I point at HEAD, lib hasn't been updated with the new code in src. Would it be possible to do an official release?

Hi @cobarx, I will release a new version very soon.

Also while releasing it kindly provide a mechanism to handle unicode character.
{String.fromCharCode(parseInt('0x00D7', 16))}
As post minifying the JS, it results into garbage value.

Hi, is there any news on adding the custom close button?


add task management to routes.js in insights mode

Issue: AAH-1332
This pr makes accessible he task management routes in the insights UI.

Menu PR: https://github.com/RedHatInsights/cloud-services-config/pull/1208

Pr closed.