Bad config randomly pushed to proxies - conflicts, external service has no endpoints

Bug description
Without any changes on our side (that I can detect), istiod will take a working app in this configuration and (seemingly) randomly propagate incorrect configs to Envoy.
It starts with this, which happens a few times from istiod:
2020-09-01T20:12:28.325847Z	info	ads	Incremental push, service external-service-m has no endpoints
2020-09-01T20:12:28.325855Z	info	ads	Incremental push, service external-service-n has no endpoints
2020-09-01T20:12:28.327323Z	info	ads	Incremental push, service external-service-x has no endpoints
2020-09-01T20:12:28.327324Z	info	ads	Cluster init time 866.739µs 2020-09-01T20:12:28Z/9

Followed by:
2020-09-01T20:12:28.327792Z	info	ads	Pushing sidecar~<IP_ADDRESS>~our-pod-name-57cb4dbc5b-tzp55.our-namespace-name~our-namespace-name.svc.cluster.local-5053
2020-09-01T20:12:28.336122Z	info	ads	EDS: PUSH for node:our-pod-name-57cb4dbc5b-tzp55.our-namespace-name clusters:67 endpoints:137 empty:0
2020-09-01T20:12:28.342320Z	info	ads	RDS: PUSH for  node:our-pod-name-57cb4dbc5b-tzp55.our-namespace-name routes:28
2020-09-01T20:12:28.426037Z	info	ads	XDS:EDSInc Pushing:2020-09-01T20:12:28Z/9 Services:map[external-service-m:{} external-service-n:{} external-service-x:{}] ConnectedEndpoints:8
2020-09-01T20:12:28.426597Z	info	ads	XDS:EDSInc Pushing:2020-09-01T20:12:28Z/9 Services:map[external-service-m:{} external-service-n:{} external-service-x:{}] ConnectedEndpoints:7
2020-09-01T20:12:28.427493Z	info	ads	Push debounce stable[720] 4: 100.065683ms since last change, 100.084975ms since last push, full=false
2020-09-01T20:12:28.427563Z	info	ads	XDS:EDSInc Pushing:2020-09-01T20:12:28Z/9 Services:map[external-service-m:{} external-service-n:{} external-service-x:{}] ConnectedEndpoints:3

After all those push notifications, we get get this:
2020-09-01T20:12:35.944174Z     info    ads     Push Status: {
    "pilot_conflict_inbound_listener": {
        "our-pod-name-57cb4dbc5b-tzp55.our-namespace-name": {
            "proxy": "our-pod-name-57cb4dbc5b-tzp55.our-namespace-name",
            "message": "Conflicting inbound listener:<IP_ADDRESS>:3000. existing: our-pod-name-load-balancer.our-name
space-name.svc.cluster.local, incoming: our-pod-name.our-namespace-name.svc.cluster.local"
        },
        "another-pod-name-6bdfc856f8-wr27j.our-namespace-name": {
            "proxy": "another-pod-name-6bdfc856f8-wr27j.our-namespace-name",
            "message": "Conflicting inbound listener:<IP_ADDRESS>:3000. existing: another-pod-name-load-balancer.our-
namespace-name.svc.cluster.local, incoming: another-pod-name.our-namespace-name.svc.cluster.local"
        },
        "yet-another-pod-name-866b497868-gvx46.another-namespace-name": {
            "proxy": "yet-another-pod-name-866b497868-gvx46.another-namespace-name",
            "message": "Conflicting inbound listener:<IP_ADDRESS>:10000. existing: yet-another-pod-name.another-names
pace-name.svc.cluster.local, incoming: a-fourth-pod-name.another-namespace-name.svc.cluster.local"
        }
    },
    "pilot_conflict_outbound_listener_tcp_over_current_tcp": {
        "<IP_ADDRESS>:443": {
            "proxy": "our-pod-name-57cb4dbc5b-tzp55.our-namespace-name",
            "message": "Listener=<IP_ADDRESS>:443 AcceptedTCP=external-service-n,kms.us-east-2.amazonaws.com,kms-fips.us-ea
st-2.amazonaws.com,kms.us-east-1.amazonaws.com,kms-fips.us-east-1.amazonaws.com,kms.us-west-1.amazonaws.com,kms-fips.u
s-west-1.amazonaws.com,kms.us-west-2.amazonaws.com RejectedTCP=kms-fips.us-west-2.amazonaws.com TCPServices=8"
        },
        "<IP_ADDRESS>:5432": {
            "proxy": "arbitrary-external-pod-78c45bf945-2dqmh.another-namespace-name",
            "message": "Listener=<IP_ADDRESS>:5432 AcceptedTCP=one-postgres-db RejectedTCP=another-postgres-db TCPServices=1"

        }
    },
    "pilot_eds_no_instances": {
        "outbound|80||aws.magic": {}
    }
}

Then, in the app, 1s later it has errors hitting external-service-x:
Put "https://external-service-x:8200/v1/auth/envname/eks/login": read tcp <IP_ADDRESS>:54688-><IP_ADDRESS>:8200: read: connection reset by peer

It is automatically resolved once we kill istiod, but from the start of the problem until istiod is restarted, the proxy blocks app traffic.
We have a ServiceEntry for external-service-x, among others:
- apiVersion: networking.istio.io/v1beta1
  kind: ServiceEntry
  metadata:
    name: external-service-x
    namespace: our-namespace-name
  spec:
    exportTo:
    - .
    hosts:
    - external-service-x
    location: MESH_EXTERNAL
    ports:
    - name: HTTPS-x
      number: 8200
      protocol: HTTPS
    resolution: DNS

- apiVersion: networking.istio.io/v1beta1
  kind: ServiceEntry
  metadata:
    name: external-service-n
    namespace: our-namespace-name
  spec:
    exportTo:
    - .
    hosts:
    - external-service-n
    location: MESH_EXTERNAL
    ports:
    - name: HTTPS-external-service-n
      number: 443
      protocol: HTTPS
    resolution: DNS

- apiVersion: networking.istio.io/v1beta1
  kind: ServiceEntry
  metadata:
    name: external-service-m
    namespace: our-namespace-name
  spec:
    exportTo:
    - .
    hosts:
    - external-service-m
    location: MESH_EXTERNAL
    ports:
    - name: TCP-external-service-m
      number: 1433
      protocol: TCP
    resolution: DNS

There are many more, but those appear to be the ones in question. They rarely change; they are tested and working modulo this issue.
Endpoints/services all have been around for months.
$ k get ep -n our-namespace-name
NAME                                           ENDPOINTS                                                             AGE
pod-k                                          <IP_ADDRESS>:8080                                                     76d
pod-k-load-balancer                            <IP_ADDRESS>:8080                                                     76d
pod-u                                          <IP_ADDRESS>:10000,<IP_ADDRESS>:3000                                76d
our-pod-name                                   <IP_ADDRESS>:10000,<IP_ADDRESS>:3000                                76d
our-pod-name-load-balancer                     <IP_ADDRESS>:10000,<IP_ADDRESS>:3000                                76d
pod-u-load-balancer                            <IP_ADDRESS>:10000,<IP_ADDRESS>:3000                                76d
pod-t                                          <IP_ADDRESS>:7200,<IP_ADDRESS>:7200,<IP_ADDRESS>:7200               76d
pod-t-load-balancer                            <IP_ADDRESS>:7200,<IP_ADDRESS>:7200,<IP_ADDRESS>:7200 + 3 more...   76d
another-pod-name                               <IP_ADDRESS>:3000                                                    76d
another-pod-name-load-balancer                 <IP_ADDRESS>:3000,<IP_ADDRESS>:3000                                 76d

$ k get svc -n our-namespace-name
NAME                                           TYPE           CLUSTER-IP       EXTERNAL-IP                                                                        PORT(S)                          AGE
pod-k                                          ClusterIP      <IP_ADDRESS>    <none>                                                                             80/TCP                           76d
pod-k-load-balancer                            LoadBalancer   <IP_ADDRESS>    aws-internal-elb.us-east-1.elb.amazonaws.com                                       80:31205/TCP                     76d
pod-u                                          ClusterIP      <IP_ADDRESS>   <none>                                                                             10000/TCP,3000/TCP               76d
our-pod-name                                   ClusterIP      <IP_ADDRESS>     <none>                                                                             10000/TCP,3000/TCP               76d
our-pod-name-load-balancer                     LoadBalancer   <IP_ADDRESS>     another-aws-internal-elb.us-east-1.elb.amazonaws.com                               10000:30020/TCP,3000:30388/TCP   76d
pod-u-load-balancer                            LoadBalancer   <IP_ADDRESS>    pod-u-aws-internal-elb.us-east-1.elb.amazonaws.com                                 10000:31573/TCP,3000:32223/TCP   76d
pod-t                                          ClusterIP      <IP_ADDRESS>   <none>                                                                             80/TCP                           76d
pod-t-load-balancer                            LoadBalancer   <IP_ADDRESS>   pod-t-aws-internal-elb.us-east-1.elb.amazonaws.com                                 443:32526/TCP,80:30190/TCP       76d
another-pod-name                               ClusterIP      <IP_ADDRESS>   <none>                                                                             80/TCP                           76d
another-pod-name-load-balancer                 LoadBalancer   <IP_ADDRESS>   another-pod-name-elb.us-east-1.elb.amazonaws.com                                   443:30070/TCP,80:31583/TCP       76d

Port 10000 is grpc (and the service ports are named as such), and port 3000 is http.
There's one exception: another-pod-name's service definition does its ports like this:
    ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 3000
    selector:
      service: another-pod-name

While another-pod-name-load-balancer has:
    ports:
    - name: https
      nodePort: 30070
      port: 443
      protocol: TCP
      targetPort: 3000
    - name: http
      nodePort: 31583
      port: 80
      protocol: TCP
      targetPort: 3000
    selector:
      app: another-pod-name
      service: another-pod-name

I could see that maybe causing this message:
Conflicting inbound listener:<IP_ADDRESS>:3000. existing: another-pod-name-load-balancer.our-
namespace-name.svc.cluster.local, incoming: another-pod-name.our-namespace-name.svc.cluster.local

but even if that's the case, why does this affect external-service-x, which uses port 8200? And why does it work 99% of the time, and then break istiod irrecoverably 1% of the time?
Output of istioctl analyze:
$ istioctl analyze -n our-namespace-name
Warn [IST0107] (Service another-pod-name.our-namespace-name) Misplaced annotation: sidecar.istio.io/inject can only be applied to Pod
Info [IST0118] (Service pod-k-load-balancer.our-namespace-name) Port name  (port: 80, targetPort: 8080) doesn't follow the naming convention of Istio port.
Error: Analyzers found issues when analyzing namespace: our-namespace-name.
See https://istio.io/docs/reference/config/analysis for more information about causes and resolutions.

The warning there about a misplaced istio label on a service (which we should clean up) and a port naming issue with pod-k-load-balancer. That pod looks like this:
  - nodePort: 31205
    port: 80
    protocol: TCP
    targetPort: 8080

Potentially related issues:

pilot_conflict_inbound_listener despite annotations to tell envoy to ignore the port
pilot/debug/push_status shows outdated information
Pilot generates invalid inbound listeners some times

I'm calling this a networking issue, since the networking behavior should at least be stable (it would be OK for this to break after a deployment, for example, but not for it to take down a running service). And it's a user experience issue at least inasmuch as Istio should not be surprising - if there's something desperately wrong with our config, I'd rather have Istio fail loudly than randomly fall over.
I'm not sure how the conflicts are exactly related to our external service "having no endpoints", but they seem to come hand-in-hand.
To get a sense of the rareness of this issue, we replicate our setup across 5 deployments, and thus far we tend to see it in production, where it's both less likely we can spend time investigating and debugging and costs more to be wrong.
Affected product area (please put an X in all that apply)
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[X] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Expected behavior
The app should stay up. Istio shouldn't kill (by terminating access to external services) running applications. I'd even prefer istiod to detect this and fail its healthcheck versus continuing running in a broken state.
Steps to reproduce the bug
Unfortunately, despite this happening multiple times in our production clusters, I've failed thus far to get a repro. It doesn't appear to have a specific cause.
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
$ istioctl version --remote
client version: 1.5.8
control plane version: 1.5.8
data plane version: 1.5.8 (19 proxies)

1.5.0 through 1.5.8 are definitely affected. I never saw this in 1.0 -> 1.3, but it started when we went to 1.5. We plan to test with 1.6/1.7 as soon as we can, but it's hard to prove a negative so it will take a while of stable runs to show that this is avoided.
How was Istio installed?
Operator
Environment where bug was observed (cloud vendor, OS, etc)
AWS

Additionally, please consider attaching a cluster state archive by attaching the dump file to this issue.

I'd really love to get a cluster dump when this happens, but (1) we don't really want to map our internal infra and put it on the Internet and (2) the dumps take a very long time to run (they could benefit from some parallelism), so it's hard to buy time for a dump when we know we can resolve the issue by bouncing istiod.

Time has done us the favor of reproducing this bug in a lower environment. And I can see the config issue:
Here's the Envoy config snippet in question for a working setup:
    - cluster:
        '@type': type.googleapis.com/envoy.api.v2.Cluster
        circuit_breakers:
          thresholds:
          - max_connections:<PHONE_NUMBER>
            max_pending_requests:<PHONE_NUMBER>
            max_requests:<PHONE_NUMBER>
            max_retries:<PHONE_NUMBER>
        connect_timeout: 1s
        dns_lookup_family: V4_ONLY
        dns_refresh_rate: 5s
        filters:
        - name: envoy.filters.network.upstream.metadata_exchange
          typed_config:
            '@type': type.googleapis.com/udpa.type.v1.TypedStruct
            type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange
            value:
              protocol: istio-peer-exchange
        load_assignment:
          cluster_name: outbound|8200||external-service-name.com
          endpoints:
          - lb_endpoints:
            - endpoint:
                address:
                  socket_address:
                    address: external-service-name.com
                    port_value: 8200
              load_balancing_weight: 1
            load_balancing_weight: 1
            locality: {}
        name: outbound|8200||external-service-name.com
        respect_dns_ttl: true
        type: STRICT_DNS
      last_updated: "2020-09-08T16:38:59.386Z"
      version_info: 2020-09-02T19:26:11Z/22

And, on the broken environment:
    - cluster:
        '@type': type.googleapis.com/envoy.api.v2.Cluster
        circuit_breakers:
          thresholds:
          - max_connections:<PHONE_NUMBER>
            max_pending_requests:<PHONE_NUMBER>
            max_requests:<PHONE_NUMBER>
            max_retries:<PHONE_NUMBER>
        connect_timeout: 1s
        dns_lookup_family: V4_ONLY
        dns_refresh_rate: 5s
        filters:
        - name: envoy.filters.network.upstream.metadata_exchange
          typed_config:
            '@type': type.googleapis.com/udpa.type.v1.TypedStruct
            type_url: type.googleapis.com/envoy.tcp.metadataexchange.config.MetadataExchange
            value:
              protocol: istio-peer-exchange
        load_assignment:
          cluster_name: outbound|8200||external-service-name.com
        name: outbound|8200||external-service-name.com
        respect_dns_ttl: true
        type: STRICT_DNS
      last_updated: "2020-09-01T21:03:35.244Z"
      version_info: 2020-08-28T18:25:58Z/45

Confirmed I'm still seeing this with Istio 1.6.8.

After much investigation, I believe this is a consequence of poor namespace isolation and swapping ServiceEntry objects when timestamps change. It would therefore be solved in ServiceEntry Resolution Design, and we must adopt the Sidecar resource to solve it. I'm working on applying this throughout our infra.
That doesn't completely explain the bad pushes:
2020-09-01T20:12:28.325847Z	info	ads	Incremental push, service external-service-m has no endpoints
2020-09-01T20:12:28.325855Z	info	ads	Incremental push, service external-service-n has no endpoints
2020-09-01T20:12:28.327323Z	info	ads	Incremental push, service external-service-x has no endpoints

Those ServiceEntry objects are static and rarely change. But the timing in the logs (collisions consistently line up with those messages in logs) seems to indicate the problems are related. Will follow up with results.

@vngzs - I experienced the same issue where two service entries in different namespaces had the same host name.
This can be fixed (WIP PR) with updating this statement - https://github.com/istio/istio/blob/1.5.8/pilot/pkg/serviceregistry/external/servicediscovery.go#L268
Explanation

Whenever istiod gets an update from kube-api (sequential based on create/update time of the resource) it updates its cache. This cache is used for its reconciliation loop.
While updating its cache, it deletes the entry by executing:delete(d.instances[instance.Service.Hostname], instance.Service.Attributes.Namespace)
delete(d.instances, instance.Service.Hostname)

The second statement, removes the entry from the object if the hostname was defined by a service entry defined in another namespace. This results in only the last service entry being stored in its cache, while deleting the rest.

Although on bouncing istiod pods it recovers the correct state, where it refreshes its cache by listing all serviceentries across all namespaces

cc: @howardjohn

This is already fixed in master - https://github.com/istio/istio/pull/22712
Thanks @howardjohn !

Yeah, I think this is safe to close. It is still broken in 1.5.x as far as I know, but we are on 1.6.x now and things are golden.
When I thought I had a 1.6.8 repro, what actually happened was an artifact of TCP service discovery weirdness. We had an app relying on PassthroughCluster to hit a RabbitMQ instance outside the cluster. When someone launched RabbitMQ within the cluster, we found traffic to the external service was broken. This was not quite the same as the random breakages that are the subject of this report.


✨ Adding TypeScript typings

https://github.com/sindresorhus/ama/issues/439#issuecomment-280861804

The officially preferred method of distributing typings is now to bundle them with the package: https://github.com/DefinitelyTyped/DefinitelyTyped/#create-a-new-package
If you would still rather that typings are not part of this project, I'll add them to DT as suggested.

As you can read in the AMA, there's a reason we don't add them to the repo directly. So yes, feel free to add them to DT.

I now accept TypeScript definitions if anyone looking is interested in submitting it here.
See: https://github.com/sindresorhus/ama/issues/439#issuecomment-414212229
Please follow this guide: https://github.com/sindresorhus/typescript-definition-style-guide


New version with process v5?

Hello, I see the PR that upgrades process to v5 was merged a couple of weeks ago. Is there any plan to publish a new version?
Thanks in advance.

Yep, we should have a new version relatively soon.

This is available in 0.4.0.


Add NPC list to keep menu swapping swapping even if they have a hint arrow on them

Closes #7074

This should probably not be done this way


I can publish a message from a workflow instance - modeling part

This is a tracking issue to support https://github.com/camunda/zeebe/issues/1021 modeling wise.
What should we do?
Currently, in order to publish a message, you need to use an external worker (e.g. via a service task). The upcoming feature of Zeebe is to publish messages without external worker, i.e. immediately when token arrives at a message throw event or send task.

[ ] Add zeebe:publishMessage extension to zeebe-bpmn-moddle as implemented in https://github.com/camunda/zeebe/pull/12879

[ ] messageId
[ ] correlationKey
[ ] timeToLive

[ ] Add thrown message configuration to bpmn-js-properties-panel

[ ] for Send Task
[ ] for Message Throw Events:

[ ] Message End Event
[ ] Intermediate Message Throw Event

[ ] Disallow new extension for v8.2 and older via linting

[ ] bpmnlint-plugin-camunda-compat
[ ] @camunda/linting

[ ] Clarify if new extension needs to be available for connectors

Why should we do it?
Required to use feature implemented in Zeebe via https://github.com/camunda/zeebe/issues/1021
Product hub epic: https://github.com/camunda/product-hub/issues/168

immediately when token arrives at a message throw event or send task.

Hi @barmac. We should also support message end event.

I added both message throw events explicitly to the list.

And take care about the payload, the correlation key and the time to live.

I added specific attributes of zeebe:publishMessage to the list.
@lzgabel How do we specify payload?

How do we specify payload?

Hi @korthout. BpmnMessageBehavior R65-R67 Currently, the engine uses local variables as the payload to send, what do you think about this?

Currently, the engine uses local variables as the payload to send, what do you think about this?

@korthout @lzgabel This means that every variable that is explicitly mapped into the event is being sent? I'd rather make message payload an explicit concern:

I define which payload to send using a FEEL expression explicitly, i.e. messagePayload={ foo: foo, bar: 10 + foo }
I can but do not have to use input mappings to satisfy the message payload sending.

This would solve issues on two fronts:

Make message payload explicit and decouple it from process variables
Make throw events simple targets for element templates
Keep input mappings optional. They are optional everywhere.

I can imagine we define a message like so:
<bpmn:sendTask id="Activity_1kgyl85" messageRef="Message_1nb8aa6">
    <bpmn:extensionElements>
       <zeebe:publishMessage correlationKey="=orderId" payload="={clientName: client.name, paymentId: paymentId}" />
    </bpmn:extensionElements>
</bpmn:sendTask>

<bpmn:message id="Message_1nb8aa6" name="order_placed" />

I'd rather make message payload an explicit concern

@nikku @barmac @ingorichtsmeier @lzgabel I see no reason why we'd need a new concept for this. Local variables are a great fit and allow us to reuse an existing feature instead of building specialized properties.
Allow me to defend that stance.

This would solve issues on three fronts:

Make message payload explicit and decouple it from process variables
Make throw events simple targets for element templates
Keep input mappings optional. They are optional everywhere.

Message variables are already explicit. Only local variables are sent along with the message.
There is no need to decouple message and process variables. They are all variables, which is a core concept of C8.

I'm not sure what you mean by simple targets. Are input mappings hard to use? If so, let's improve input mappings instead of building a new concept for this. Or let's see if we can find better ways to define local variables.
Input mappings are still optional. If you want to publish a message without variables then simply don't define any input mappings.

I argue that using local variables integrates messages directly into the process model in a way that is familiar to users.
This concept is already in use Signal Throw events because using local variables fits so well, both in the expectations of the contributor as well as in the related implementation.

Also, please note that in C8 (as far as I'm aware), we use the terminology message variables and not message payloads:

By default, all message variables are merged into the process instance. - https://docs.camunda.io/docs/next/components/modeler/bpmn/message-events/#variable-mappings

the message variables as a JSON document - https://docs.camunda.io/docs/next/apis-tools/grpc/#input-publishmessagerequest

Usage:
zbctl publish message  [flags]
Flags:
...
--variables string        Specify message variables as JSON string or path to JSON file (default "{}")

/**

Set the variables of the message.
...
*/
PublishMessageCommandStep3 variables(InputStream variables);
https://github.com/camunda/zeebe/blob/4d2ddf83fd4e4fcd3d635a12f4ca14e09f4a0b43/clients/java/src/main/java/io/camunda/zeebe/client/api/command/PublishMessageCommandStep1.java#L72-L79

I am sold. The input mappings are a standard way of passing variables to an element, and there seems to be no need for an external extension. So this looks fine to me:
<bpmn:sendTask id="Activity_1kgyl85" messageRef="Message_1nb8aa6">
    <bpmn:extensionElements>
        <zeebe:ioMapping>
          <zeebe:input source="=client.name" target="clientName" />
          <zeebe:input source="=paymentId" target="paymentId" />
        </zeebe:ioMapping>
      </bpmn:extensionElements>
       <zeebe:publishMessage correlationKey="=orderId" />
    </bpmn:extensionElements>
</bpmn:sendTask>

<bpmn:message id="Message_1nb8aa6" name="order_placed" />

So as a user I'm learning: Whatever variables are explicitly input-mapped into a message throw event are being sent with the message.
UX wise the trouble I'm having with this is that nowhere else I'm aware of this explicit mapping is a thing. Rather implicit mapping is what the engine does, and if I remember correctly no guarantee exists that this mapping is conclusive. Hence I'm still advocating for making the variables passed explicit: https://github.com/camunda/camunda-modeler/issues/3738#issuecomment-1640302513.
Implementation wise the direction benefits us, as it is less work for us to do.

@barmac Please be aware that I just paused internal message publishing in Zeebe, because of a significant technical blocker.
I think this issue can be on hold as well, but we can continue to work out the details of passing variables along with the published message in the meantime.

If this is already implemented, then we should follow suite and implement message throwing in the same way.

TBH, signal throw events have been available since 8.3.0-alpha1. So we can still change this if necessary. If we decide this, we must make changes to signal broadcasting using Signal Throw Events before 8.3.0 is released.

UX wise the trouble I'm having with this is that nowhere else I'm aware of this explicit mapping is a thing

I guess the point is not the input mappings because input mappings always do the same: they produce local variables. That's the same here. The choice we made is to use the local variables to send the message. This is explicitly different from job worker tasks, where all variables visible from the task are passed to the job. But we considered that the usage pattern for the variables is different. Perhaps that's a wrong assumption.
🤔 Job workers have a way to limit which variables are passed to them (i.e. fetchVariable in the ActivateJobsRequest). The idea to have some explicit (and separate) way to clarify which visible variables are passed along to the message at least makes sense from that perspective.
cc @saig0 I'm curious about your opinion on this topic

@korthout I have no strong opinion if we should use input mappings or an explicit message variable property. Both options will work. :rocket:
I slightly prefer the explicit property, like @nikku mentioned, it is very explicit for the user what variables will be sent. Instead of an implicit rule to use the variables from the input mappings, we would have a dedicated property in the modeler for the message variables. Especially for not-so-experienced users, the dedicated property could be more intuitive (i.e. most users don't read the documentation first). Plus, we don't need to create local variables.

Just to add one more point to explicit vs. implicit mapping: In the future, as we may have execution listeners to generate additional input or consume it. You may want to pass information into a flow node that shall not be sent via message variables :arrow_right: explicit over implicit.
https://github.com/camunda/camunda-modeler/issues/3738#issuecomment-1643394596 resonates well with me.

@korthout This is essentially a reflection of my mental model:

For me it is easier to distinguish passing data into an activity (explicitly or not), some additional processing going on and then executing the activity, with explicit data mapping. But that is just me looking at it :see_no_evil:
I think most important is that we align the implementation with the different kinds of execution that we have, so the user only needs to learn one mechanism: called processes seem to operate like you propose (pass variables through input mappings). For called decisions I'm not sure based off the documentation.
If the user is able to learn "I need to establish local mappings to accomplish X" then we're fine, I think.

Hello everybody, if the property panel in the Modeler contains the term "payload" for all input mappings, it would be easy for the user to understand this feature.
Downside now: It could be the case that some users ask, where are the input mappings for message send tasks?
Especially if they decide to use (or already have) their own worker implementation to publish messages.

This is still pending upstream implementation.


chore: adjust panel position

Codecov Report

Merging #1361 (e321f89) into master (6022a66) will decrease coverage by 17.30%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #1361       +/-   ##
==========================================
- Coverage   26.17%   8.86%   -17.31%
==========================================
  Files         200     120       -80
  Lines       15371   12544     -2827
  Branches       99       0       -99
==========================================
- Hits         4023    1112     -2911
- Misses      11077   11310      +233
+ Partials      271     122      -149

Flag
Coverage Δ

be_unit_test
?

e2e_test
?

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

Continue to review full report at Codecov.

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


Powertoys Run

Microsoft PowerToys version
0.59.1
Running as admin

[X] Yes

Area(s) with issue?
PowerToys Run
Steps to reproduce
Not able to search D or any other drive folders other then C,
it Would be great if power toys allow to filter search based on drives or folders
Thankyou for such a great app
✔ Expected Behavior
Was expecting to search a specific folder inside drive other then C drive, same like in previous versions
❌ Actual Behavior
it only detects c drive folders
Other Software
No response

The file search is taken from the Windows Search settings. So if you want to, you can change the indexed folders over there. Does that answer your question?

/needinfo

The file search is taken from the Windows Search settings. So if you want to, you can change the indexed folders over there. Does that answer your question?

Got it!! Solved.. thank you!


The auto mark doesn’t render histograms with the area mark correctly

E.g.,

Plot.auto(weather, {x: "temp_max", mark: "area"}).plot()

On the other hand, the line mark renders fine:

Plot.auto(weather, {x: "temp_max", mark: "line"}).plot()

It uses areaX https://github.com/observablehq/plot/blob/6eab4f235808d7deae1a75373ed20b4b3fbfbb08/src/marks/auto.js#L133; should use areaY instead in this case.


Error: "Sign in to confirm you`re not a bot"

pv-addon-discs: 1.0.8
pv-addon-lavaplayer-lib: 1.0.10

This server is running Paper version git-Paper-174 (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: c9cd94f)

can confirm

This is indeed a problem. I have the same! Tried to use VPN, as well as without it.
The problem is not solved simply so.
On this problem much is written, but not on this particular addon, but in general about things to get audio from YouTube..
Current Purpur Version: 1.21-2269-65d3665 (MC: 1.21)*
plugin PlasmoVoice v2.0.10
plugin pv-addon-discs v1.0.7
plugin pv-addon-lavaplayer-lib v1.0.10
It's because of YouTube, as best I can figure. It was working before.

I have the same problem.

You need to use the beta version of pv-addon-discs & pv-addon-lavaplayer-lib and I recommend joining the Discord Server if you need further help (please close the issue)

pv-addon-discs: 1.0.8
pv-addon-lavaplayer-lib: 1.0.10

This server is running Paper version git-Paper-174 (MC: 1.20.1) (Implementing API version 1.20.1-R0.1-SNAPSHOT) (Git: c9cd94f)


task creation needs info on group and description of your task.

We need to give the user some guidance on how to do this.
And the slides needs to reflect this as well.

And the question "well defined?" what is well defined?

YES. That is abosulutely missing in the theory part!


feat(contractSaga): add empty paragraphs before/after - I145

Issue #145
Ensure a blank paragraph is before and after a clause
Changes

Remove filter of latest templates to remain in v0.13
Ensure a blank paragraph is before and after a clause

Add blank paragraph node after any clause
Add a clause one node after current selection

Flags

Now two copies of templates are showing up in the library

Related Issues

CTL Pull Request #301

I believe so, yes. There were two versions before this migration to v0.20, so they'll both show until we upgrade to v0.20


Build release-jobs-syncer as part of the image

/cc @kvmware
The release-jobs-syncer job is misconfigured right now and checks out the old repo. The tool needs to be compiled and called with the new repository.
https://github.com/knative/test-infra/pull/3840 needs to run in this repo which means the extra_refs have to be knative/infra and the job needs to look like this:
- cron: "0 */2 * * *" # Every other hour
  name: ci-knative-prow-jobs-syncer
  agent: kubernetes
  decorate: true
  cluster: prow-build
  extra_refs:
  - org: knative
    repo: infra
    base_ref: main
    path_alias: knative.dev/infra
  annotations:
    testgrid-dashboards: utilities
    testgrid-tab-name: ci-knative-prow-jobs-syncer
  reporter_config:
    slack:
      channel: knative-productivity
      job_states_to_report:
        - failure
      report_template: '"The prow-jobs-syncer periodic job has failed, please check the logs: <{{.Status.URL}}|View logs>"'
  spec:
    containers:
    - image: gcr.io/knative-tests/test-infra/prow-tests:v20230524-3500eda5
      imagePullPolicy: Always
      command:
      - "runner.sh"
      args:
      - bash
      - -c
      - |
        release-jobs-syncer --github-account=/etc/prow-auto-bumper-github-token/token \
          --git-userid=knative-prow-updater-robot \
          --git-username='Knative Prow Updater Robot' \
<EMAIL_ADDRESS>\
          --prow-job-config-root-path=prow/jobs_config \
          --regen-config-script=hack/generate-configs.sh \
          --label=skip-review
      volumeMounts:
      - name: github-credentials
        mountPath: /etc/prow-auto-bumper-github-token
        readOnly: true
      - name: ssh
        mountPath: /root/.ssh
    volumes:
    - name: github-credentials
      secret:
        secretName: github-credentials
        items:
        - key: auto_bumper_token
          path: token
    - name: ssh
      secret:
        secretName: github-credentials
        defaultMode: 0700
        items:
        - key: id_rsa
          path: id_rsa
        - key: id_rsa_pub
          path: id_rsa.pub
        - key: known_hosts
          path: known_hosts

looks like one failing test

go mod is broken I'll need to investigate

/lgtm

/lgtm

this is fixed now, tested it by building the image

/lgtm


Fix docker-compose local setup

#17

Fix docker-compose and manifest files for a local setup
Update Escrow contract and corresponding ABIs to be fully ERC20 compatible
Move job results to the gitignore in the reputation oracle folder

 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.

@posix4e good point:)


Bad code committed - could not compile Java code - fixed in this commit

The method "unregisterDevice" does not take an input parameter. The original code attempted to pass in (what looks like to me) an anonymous inner class. The fix required the removal of this input from two methods.
After applying this fix locally, I was able to compile the code and deploy the App to an emulator.

@jstaffor an error I found, which will be fixed in this PR https://github.com/aerogear/android-showcase-template/pull/9 gradle needed to bumped to a newer version. Don't know if its related to the one you are getting but might help.

Hi @ciaranRoche  - thanks for ^ correspondence.
Yep, I had a gradle issue too - got around it just now.  After that, for your showcase repo "clean project"  and it should all work again, or at least it did for me.


Angular 15 MDC Outline input not showing required tags

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
14
Description
With appearance: 'fill'  asterisks are displayed properly, but with appearance; 'outline' they are not.
        <mat-form-field class="date-width"
                        matTooltip="Based on RTG_Final task">
          <mat-label>Original RTG Date:</mat-label>
          <input type="date" matInput formControlName="origRTGDate" readonly
                 [required]="form.get('subcInfo.origRTGDate')?.errors?.required" />
        </mat-form-field>

Reproduction
Steps to reproduce:
1.
2.
Expected Behavior
See Asterisk for required fields for all form-field appearance types
Actual Behavior
Not seeing required asterisk for outline mat-form-field types
Environment

Angular: 15.2.4
CDK/Material: 15.2.4
Browser(s): Chrome
Operating System Windows

This should've been resolved by https://github.com/angular/components/pull/26028.


SLIM-471 firmware types

Retrieves a list of firmware versions of a device.

SonarQube analysis reported 2 issues:

 2 major

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Remove this unused method parameter "request".

All is well.

SonarQube analysis reported 1 issue:

 1 major

Watch the comments in this conversation to review them.
Note: the following issues could not be reported as comments because they are located on lines that are not displayed in this pull request:

 Remove this unused method parameter "request".

All is well.


Sync eng/common directory with azure-sdk-tools for PR 7892

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/7892  See eng/common workflow

/check-enforcer override


Unable to set property "ko_code" error

Skype WebSDK version: '1.101.19'
apiKeyCC: '9c967f6b-a846-4df2-b43d-5167e47d81e1'
In IE 11 & Chrome 61.0.3163.100  same browser error: Unable to set property 'ko_code' of undefined or null reference. skype-web-sdk.js, Line: 67251, Column: 464 when .js file loads.
Yesterday was Ok

Well, another library compatibility problem, skype webapi fine.


More precisely changelog merge of #506 and #517

More precisely changelog (merge of #506 from @joshughes and #517 from @xofer) For me it make sense to have both together :smile:

Thanks so much :D


Enhancement: Support Temporary STS AWS Credentials for Amazon BedRock

What features would you like to see added?
In addition to "AWS_ACCESS_KEY_ID" and the "AWS_SECRET_ACCESS_KEY" variables that are needed to use Amazon Bedrock, many organizations enforce the use of temporary AWS credentials when using IDP's and SSO. This requires the "AWS_SESSION_TOKEN" variable to be used and gets added to the AWS credentials file when temporary creds that expire are issued to an end user. Not using this AWS session token when using temporary credentials will result in failed AWS auth requests.
In my specific use case, see https://github.com/danny-avila/LibreChat/discussions/4179 for my own personal remediation of this issue. However, I'm not a developer and there may be a better solution which can be implemented within Librechat to handle this use case.
More details
Previous discussions:
https://github.com/danny-avila/LibreChat/discussions/4179
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
Which components are impacted by your request?
Using Amazon Bedrock with AWS IAM Identity Center (aka SSO) credentials which requires the additional use of a session token. Even with the workaround I'm using, it requires me to renew the credentials and restart Librechat since the credentials expire every X hours. The easiest resolution may be to just add a variable for the AWS session token, but each time the credentials renew the .env file (or the AWS environment variables in the Librechat container) need to be updated. This may be considered an edge case for now, but at a minimum I'd like to see the session variable added to LibreChat.
Pictures
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@danny-avila  Update: I deployed a brand new local instance of the latest librechat today and created two sets of AWS credentials. The first were permanent credentials that do not expire. The 2nd set were temporary STS credentials, generated through AWS IAM Identity Center. which require an additional "AWS_SESSION_TOKEN" environment variable.
I updated the .env file and include the following variables:
BEDROCK_AWS_DEFAULT_REGION= us-east-1 ## or whatever region you're using and have access to Bedrock in

BEDROCK_AWS_ACCESS_KEY_ID= (1st set of long-term credentials generated via regular IAM)
BEDROCK_AWS_SECRET_ACCESS_KEY= (1st set of long-term credentials generated via regular IAM)

##BEDROCK_AWS_ACCESS_KEY_ID= (2nd set of temporary STS credentials via IAM Identity Center)
##BEDROCK_AWS_SECRET_ACCESS_KEY= (2nd set of temporary STS credentials via IAM Identity Center)
##BEDROCK_AWS_SESSION_TOKEN= (2nd set of temporary STS credentials via IAM Identity Center)

With a default install, the regular "long-term" creds that do not require an AWS_SESSION_TOKEN work fine. However, if you swap them (comment out the default creds and enable the temporary ones), then restart the LibreChat docker container, you receive the following error:

No useful information is given by the error or debug logs. The error logs say "The security token included in the request is invalid.", however that is just a generic error message for any misconfigured AWS Bedrock credentials within Librechat. In fact, the AWS API calls never make it to CloudTrail when you search for the Access Key defined in the .env file via the CloudTrail Event history.
Since the .env file is being imported by default by docker-compose.yml, I logged directly into the running Librechat container and ran the following nodejs script to confirm the AWS credentials in the env file were valid:
require('dotenv').config();
const { BedrockRuntimeClient, InvokeModelWithResponseStreamCommand } = require("@aws-sdk/client-bedrock-runtime");

async function testBedrockAccess() {
  console.log("Environment variables:");
  console.log("BEDROCK_AWS_DEFAULT_REGION:", process.env.BEDROCK_AWS_DEFAULT_REGION);
  console.log("BEDROCK_AWS_ACCESS_KEY_ID:", process.env.BEDROCK_AWS_ACCESS_KEY_ID ? "Set" : "Not set");
  console.log("BEDROCK_AWS_SECRET_ACCESS_KEY:", process.env.BEDROCK_AWS_SECRET_ACCESS_KEY ? "Set" : "Not set");
  console.log("BEDROCK_AWS_SESSION_TOKEN:", process.env.BEDROCK_AWS_SESSION_TOKEN ? "Set" : "Not set");

  if (!process.env.BEDROCK_AWS_DEFAULT_REGION) {
    throw new Error("BEDROCK_AWS_DEFAULT_REGION is not set in the environment variables");
  }

  const client = new BedrockRuntimeClient({
    region: process.env.BEDROCK_AWS_DEFAULT_REGION,
    credentials: {
      accessKeyId: process.env.BEDROCK_AWS_ACCESS_KEY_ID,
      secretAccessKey: process.env.BEDROCK_AWS_SECRET_ACCESS_KEY,
      sessionToken: process.env.BEDROCK_AWS_SESSION_TOKEN
    }
  });

  const params = {
    modelId: "us.anthropic.claude-3-5-sonnet-20240620-v1:0",
    contentType: "application/json",
    accept: "application/json",
    body: JSON.stringify({
      anthropic_version: "bedrock-2023-05-31",
      messages: [
        {
          role: "user",
          content: "Hello, Claude! How are you today?"
        }
      ],
      max_tokens: 300,
      temperature: 0.7,
      top_p: 1,
    }),
  };

  try {
    const command = new InvokeModelWithResponseStreamCommand(params);
    const response = await client.send(command);

    let fullResponse = '';
    for await (const chunk of response.body) {
      if (chunk.chunk && chunk.chunk.bytes) {
        const decoded = new TextDecoder().decode(chunk.chunk.bytes);
        try {
          const parsed = JSON.parse(decoded);
          if (parsed.type === 'content_block_delta') {
            fullResponse += parsed.delta.text;
          }
        } catch (e) {
          console.warn('Error parsing chunk:', e);
        }
      }
    }
    console.log("Bedrock Response:", fullResponse);
  } catch (error) {
    console.error("Error accessing Bedrock:", error);
    if (error.message) {
      console.error("Error message:", error.message);
    }
    if (error.$metadata) {
      console.error("Error metadata:", error.$metadata);
    }
  }
}

testBedrockAccess();

The result:
Environment variables:
BEDROCK_AWS_DEFAULT_REGION: us-east-1
BEDROCK_AWS_ACCESS_KEY_ID: Set
BEDROCK_AWS_SECRET_ACCESS_KEY: Set
BEDROCK_AWS_SESSION_TOKEN: Set
Bedrock Response: Hello! I'm doing well, thank you for asking. As an AI assistant I don't actually have feelings, but I'm functioning properly and ready to help. How are you doing today? Is there anything I can assist you with?
/app #

So I know the temporary STS credentials work just fine outside of Librechat and even from within the Librechat container when I manually invoke the Bedrock model via nodejs. I also tried adding the AWS session token variable based on https://github.com/danny-avila/LibreChat/pull/4038 and https://github.com/danny-avila/LibreChat/pull/4051, but I get the same generic error message. Not sure what else to try at this point.
debug-2024-11-02.log
error-2024-11-02.log


Robot suite review / tag updates

Critical Changes
Changes
We reviewed all robot tests for stability, duplication and fix prioritization.  Categorization is reflected in the updated tags associated with each robot test.
Issues Closed
Community Ideas Delivered
Features Intended for Future Release
Features for Elevate Customers
New Metadata
Deleted Metadata

Tracking W-10983215

I'll flag that one as unstable and place it in the work queue.

@force2b @lparrott I'm planning to remove the 'notonfeaturebranch' tag as well as the work item tags.  The 'notonfeaturebranch' tags were all added at the same time on 3/12/2021 in combination with an unstable tag.  That suggests they were being used to bypass running unstable tests on feature branches.  We are no longer running robot tests at all on feature branches, and we have a different mechanism for bypassing unstable tests on other builds.  My conclusion is that this tag is no longer useful and should be removed.

@lparrott @force2b Feedback incorporated.  Also standardized tag ordering and added one additional feature tag corresponding to the directory - 'Donations and Payments'.  Some of these tests are miscategorized, but I don't want to change that right now since it involves moving files around and will make the PR harder to review.  I'll tackle that in a separate PR.

@jstvz You're tagged as a code owner reviewer on this PR.  I think the only thing you might want to review is 3 new flows.  They are all convenience flows related to robot testing.  Happy to remove you as a reviewer if you think a review is overkill.


[add] detect curried functions

Declarations that pre-apply arguments to a function (so-called curried functions), e.g.,
#let my-rect = rect.with(stroke: purple)

are now detected as functions and information about the parent is stored in the documentation information. The function inherits all information from the "parent" function. Argument defaults are updated and positional arguments dropped if they are pre-applied in the definition.
Additionally, the information for a curried function contains an entry for the key parent with the name and the pre-applied pos and named arguments.

Limitations are currently

Only parents declared in the same module are resolved.
Parents are not resolved recursively.


unit tests and coverage for binary operations

Created a unit test to cover binary operations.
However, the class produced by BinaryOpCreator doesn't pass the verfier from the JDK (not speaking about the JustIce one).
It runs only with -noverify option. As this option is deprecated in JDK13+, I disabled the unit test for JDK13+.
I think we need to fix this broken class generator later.

Codecov Report

Merging #174 (c4e925c) into master (f93a0db) will increase coverage by 0.22%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #174      +/-   ##
============================================
+ Coverage     60.49%   60.71%   +0.22%
- Complexity     3569     3605      +36
============================================
  Files           363      363
  Lines         15638    15638
  Branches       1945     1945
============================================
+ Hits           9460     9495      +35
+ Misses         5301     5261      -40
- Partials        877      882       +5

Impacted Files
Coverage Δ

...c/main/java/org/apache/bcel/classfile/Unknown.java
42.85% <ø> (ø)

...va/org/apache/bcel/generic/InstructionFactory.java
55.79% <0.00%> (+15.02%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

VerifyError here https://github.com/nbauma109/commons-bcel/actions/runs/3553873697/jobs/5969635608 fixed manually on BinaryOpCreator https://github.com/nbauma109/commons-bcel/commit/f6e1627c2942859bad7fc9363980d35a5e209687#diff-2e9bc4b884d759888c4a070c4cdb3954ae7b8462a1b4ba88db738994b1a5bc9bR587-R593
I'll submit a separate PR to generate this code.


Yahya/update openai docs

What does this PR do?

Updates openai python and nodejs integration docs
MLOB-1782
Motivation

Review checklist (to be filled by reviewers)

[x] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[x] Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
[x] If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged

Created DOCS-9363 for docs review.

@dpoint01 Added you as a reviewer as you were the contact point on the tiles docs update https://docs.google.com/document/d/1mpR2xphp7d8squrxAXKwQv57qCqo342VbhEpVIgcP4o/edit?tab=t.0
We added instructions for node js as well and restructured the docs to accommodate both llmobs and apm instructions.

@dpoint01 I added the changes you suggested both on this PR and the web-ui one (changing web to api key).
Feel free to take another look and approve if it fits the requirements 🙏

@dpoint01 I added the changes you suggested both on this PR and the web-ui one (changing web to api key). Feel free to take another look and approve if it fits the requirements 🙏

It's hard to validate based on just PR review, is there a way to preview this on the docs and on the tile?

Hi @yahya-mouman , I'm the reviewer from the docs team 👋🏻 Just wondering if this is ready for me to review and rubber stamp for you. If not, feel free to ping me when it is!

Hi @yahya-mouman , I'm the reviewer from the docs team 👋🏻 Just wondering if this is ready for me to review and rubber stamp for you. If not, feel free to ping me when it is!

Hi @janine-c Yes it is now ready for review ! Thanks for taking a look 👍 Also check this PR https://github.com/DataDog/web-ui/pull/165662  as it contains more or less same copy just in a different format.

@dpoint01 I added the changes you suggested both on this PR and the web-ui one (changing web to api key). Feel free to take another look and approve if it fits the requirements 🙏

It's hard to validate based on just PR review, is there a way to preview this on the docs and on the tile?

+1 to this - @yahya-mouman is there a way to look at the preview in staging?

@dpoint01 I added the changes you suggested both on this PR and the web-ui one (changing web to api key). Feel free to take another look and approve if it fits the requirements 🙏

It's hard to validate based on just PR review, is there a way to preview this on the docs and on the tile?

+1 to this - @yahya-mouman is there a way to look at the preview in staging?

I can only provide the link to the openai tile preview not the public docs preview
https://dd-14f108ada1c8516632e07c7ab282f58d.datad0g.com/integrations/openai?search=openai


One singleton with two interfaces

I used to write this
        container.RegisterType<RecordingState>( new ContainerControlledLifetimeManager() )
                 .RegisterType<IRecordingState, RecordingState>()
                 .RegisterType<IRecordingMonitor, RecordingState>();

to register a singleton instance of RecordingState to two interfaces (IRecordingState and IRecordingMonitor), and this used to work on unity 4. But in my current project (android/net standard 2/unity 5) it does not work anymore, that is, I get multiple instances of RecordingState.
What's the recommended way of registering dual-interfaced singletons now?

This note should explain.

It should, but it doesn't (as far as my breakpoints can see, I hit the constuctor multiple times)

Yes, I see the issue but not quire sure how to fix it.

I can merge the two interfaces, but I'd prefer that to be a rather temporary measure, as they have totally different consumers and mixing them up is quite ugly design-wise.

Give me few hours...

No worries, take your time. I'm curious whether we end up with RegisterType with two (optional) lifetime managers or RegisterResolvedInstance that defers the resolve step :-)

Mapping checks for registered lifetime manager but if singleton was never instantiated before it returns null...

If you do it like this it works:
IUnityContainer container = new UnityContainer();
container.RegisterType<OtherEmailService>(new ContainerControlledLifetimeManager());
container.RegisterType<IService, OtherEmailService>();
container.RegisterType<IOtherService, OtherEmailService>();

container.Resolve<OtherEmailService>();
Assert.AreSame(container.Resolve<IService>(), container.Resolve<IOtherService>());

This seems to be more fundamental than I thought. It all comes down to what this registration means:
RegisterType<TFrom, TTo>(params InjectionMember[] injectionMembers)
... and all other variants of it

The idea is to try to create TTo with all the overloads provided in injectionMembers UNLESS there is a instance of that class already registered with the container. In that case use the instance.
This is the design issue and I cant go around it in this implementation. Perhaps in v6...
So for you to keep using these just register the singleton.

So for you to keep using these just register the singleton.

Should I read resolve the singleton? Register doesn't make sense to me

container.RegisterInstance(new RecordingState()) much faster

Turned out it could be done after all. Will post solution a bit later

I'm curious whether we end up with RegisterType with two (optional) lifetime managers or RegisterResolvedInstance that defers the resolve step :-)

I ended up doing just that

I ran into the same problem. I did not want to force-resolve the singleton instance. I did this instead:
container.RegisterType(new ContainerControlledLifetimeManager())
.RegisterType(new InjectionFactory(c=>c.Resolve()))
.RegisterType(new InjectionFactory(c=>c.Resolve()));
This is so much uglier than the previous implementation though. Also, I am not clear on how to hunt all such cases in my code and fix them reliably.

I've also just run into a very similar problem and @ikriv comment helped resolve it for me.
This registrations:
container.RegisterType<ConcreteType>(new ContainerControlledLifetimeManager())
.RegisterType<IFirstInterface>(new InjectionFactory(c=>c.Resolve<ConcreteType>()))
.RegisterType<ISecondInterface>(new InjectionFactory(c=>c.Resolve<ConcreteType>()));

container.RegisterType<ConcreteType2>(new ContainerControlledLifetimeManager())
.RegisterType<IFirstInterface>(new InjectionFactory(c=>c.Resolve<ConcreteType2>()))
.RegisterType<ISecondInterface>(new InjectionFactory(c=>c.Resolve<ConcreteType2>()));

almost worked because later I'm doing:
container.Resolve<IEnumerable<IFirstInterface>>();

and it resolved only the ConcreteType2 while I expected to resolve also ConcreteType.
The solution is to add names to registrations:
container.RegisterType<ConcreteType>(new ContainerControlledLifetimeManager())
.RegisterType<IFirstInterface>("1", new InjectionFactory(c=>c.Resolve<ConcreteType>()))
.RegisterType<ISecondInterface>("1", new InjectionFactory(c=>c.Resolve<ConcreteType>()));

container.RegisterType<ConcreteType2>(new ContainerControlledLifetimeManager())
.RegisterType<IFirstInterface>("2", new InjectionFactory(c=>c.Resolve<ConcreteType2>()))
.RegisterType<ISecondInterface>("2", new InjectionFactory(c=>c.Resolve<ConcreteType2>()));

Which worked as expected.
As a side note, none of the other above solutions work to resolve IEnumerable<IFirstInterface>.
@ikriv solution was the closest 👏


Scroll to today date on button click with selection

How can i make when i click on button, the calendar should scroll to today current date with selection?

Hello mate! I released a new version 2.2.0.
You can find solution in demo project or just use this code:
@IBAction func goToCurrentDate(_ sender: UIButton) {
    datepicker.selectedDate = Date()
    datepicker.scrollToSelectedDate(animated: true)
    showSelectedDate()
}


El Paso - Letter to Mayor Dee Margo & City Council

To:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: [*** INSERT UNIQUE SUBJECT LINE ***]
Message (Don't forget to replace the [x]'s with your information!)
Dear City Council Members & Mayor Margo,
My name is [NAME]. I am a resident of [NEIGHBORHOOD] in El Paso, Texas. I write this letter today to demand a complete overhaul on our El Paso Police Department. In light of, and in solidarity with, the Black Lives Matter protests being demonstrated across the US and in our city, the El Paso community is calling for the complete and immediate defunding of the EPPD and reinvestment in our communities.
WE ARE JOINING TOGETHER TO DEMAND THAT YOU, OUR LOCAL OFFICIALS, WILL:

Vote NO on all increases to police budgets
Vote YES to decrease police spending and budgets
Vote YES to increase spending on health care, education, and community development initiatives and programs that keep up safe.

The El Paso Police Department is funded at a drastically higher amount than all other city programs. In 2019, EPPD received: 5 times as much than parks & recreation, 9 times as much as public health, 12 times as much as human and community development, 15 times as much as libraries, 29 times as much as museum and cultural affairs, and 363 times as much as support for the unhoused. (elpasotexas.gov/omb)
Rethink how you allocate funds, and in doing so what you could accomplish. Funding should go towards building healthy communities, especially those that are most vulnerable as Covid-19 has exposed. It should go towards the health of our elders and children, to social services, to neighborhood infrastructure, to education, to childcare, to homelessness, to dismantling racial inequality, to supporting a vibrant future for our city.
The possibilities are endless if you commit to investing in our communities, not in policing them. El Paso cannot wait any longer for a budget that meets the needs of its residents. The only way to achieve this is to take immediate steps to defund EPPD.
Thank you,
The People of El Paso, TX
[YOUR NAME]
[YOUR ADDRESS]
[YOUR EMAIL]
[YOUR PHONE NUMBER]

@mahrer  Please close issue as duplicate
@jltol El Paso has been added. If you’d like to add/edit information to the content, please submit a new issue.

@mahrer @brickaney I don't see El Paso on the list yet. Does it take awhile to appear? Thanks.

@jltol After checking, I'm going to re-open as I don't see it anywhere either. @brickaney if you see that something is a duplicate can you link to the existing issue/template?

Duplicate of #1079

@mahrer Please change the label, I completed the review of this
Edits made: minor edits to content, added the reference to the budget website at the end.
“To:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Subject: [*** INSERT UNIQUE SUBJECT LINE ***]
Message (Don't forget to replace the [x]'s with your information!)
Dear City Council Members & Mayor Margo,
My name is [NAME]. I am a resident of [NEIGHBORHOOD] in El Paso, Texas. I write this letter today to demand a complete overhaul on our El Paso Police Department. In light of, and in solidarity with, the Black Lives Matter protests being demonstrated across the US and in our city, the El Paso community is calling for the immediate defunding of the EPPD and reinvestment in our communities.
WE ARE JOINING TOGETHER TO DEMAND THAT YOU, OUR LOCAL OFFICIALS, WILL:
Vote NO on all increases to police budgets
Vote YES to decrease police spending and budgets
Vote YES to increase spending on health care, education, and community development initiatives and programs that keep up safe.
The El Paso Police Department is funded at a drastically higher amount than all other city programs. In 2019, EPPD received: 5 times as much than parks & recreation, 9 times as much as public health, 12 times as much as human and community development, 15 times as much as libraries, 29 times as much as museum and cultural affairs, and 363 times as much as support for the unhoused [1].
I demand that this council reallocate funds towards building healthy communities, especially those that are most vulnerable as Covid-19 has exposed. It should go towards the health of our elders and children, to social services, to neighborhood infrastructure, to education, to childcare, to homelessness, to dismantling racial inequality, to supporting a vibrant future for our city.
The possibilities are endless if you commit to investing in our communities, not in policing them. El Paso cannot wait any longer for a budget that meets the needs of its residents. The only way to achieve this is to take immediate steps to defund EPPD.
Thank you,
The People of El Paso, TX
[YOUR NAME]
[YOUR ADDRESS]
[YOUR EMAIL]
[YOUR PHONE NUMBER]
[1] elpasotexas.gov/omb


[Subtask] Initialize Git and GitHub integration

Subtask Overview
This subtask covers the initialization of a Git repository and the integration with GitHub for version control during the AgentM Python migration.
Tasks

[x] Initialize a new Git repository or configure the existing repository.
[x] Set up .gitignore to exclude unnecessary files and directories (e.g., virtual environments, compiled Python files).
[x] Connect the local repository to a remote GitHub repository.

Acceptance Criteria

Git is properly initialized or configured for the existing repository.
A .gitignore file is created and includes all necessary exclusions.
The repository is successfully connected to GitHub and ready for collaboration.

well, that was done obviously - the subtask was created on gitea originally - so in that context it made sense.. here not so much


Adds bump*.sh & create-distribution.sh into base container

This helps the base container be self-contained since it now has all the
scripts and patches to build downstream containers like the rosetta
containers.
Prior to this change, if you wanted to build a rosetta container, you
would need to check out JAX-Toolbox and use these build scripts at a
commit that may not align with the base container.
After this change we can use the container to build the rosetta
container. As an example, you would be able to do something like this:
id=$(docker create ghcr.io/nvidia/jax:upstream-pax)
docker cp $id:/opt /local

bash /local/bump.sh ...

docker buildx build --build-context jax-toolbox=/local -f /local/rosetta/Dockerfile.pax

Note:
mirrors #685

LGTM

Closing since #685 will just be cherry-picked in


Create a new Cloud Function to verify the correctness of the ceremony finalization on the cloud

See #13 for more context
Goal

Wrap up the actions package API for verifying the correctness of the finalization of the ceremony inside a p0tion backend Cloud Function.

Discussion

Cloud functions have limited memory (max 32 GB) and limited execution time (max 60 minutes).
Therefore, I am not sure if they are able to compute control for verification on time or without exceeding the memory limits.
What is the value of wrapping this check in the Cloud Function?

@daodesigner @gurrpi @ctrlc03

I would say that having this feature "as a service" would make more sense once we work on the VM approach for verification. That way we can straight away allow coordinators to host a service that can verify the correctness of a ceremony. In the meantime, users can do it using the CLI by calling our method in the actions package (https://github.com/privacy-scaling-explorations/groth-p0tion/issues/13#issuecomment-1447906977)

Correct. Added agnosticism reference + motivation to #13 @ctrlc03


Removing METAL Skips as CI works

Investigating Get all passing Metal tests in CI bounty.
Tried to repro failing tests by running in CI without skips and all tests passed.

Should close #1019

Huh, maybe GitHub fixed it?


Specify required feature critical-section-impl for some examples

Not perfect, but at least leads to a meaningful error message when the feature is missing:
error: target `vector_table` in package `rp2040-hal` requires the features: `rt`, `critical-section-impl`
Consider enabling them by passing, e.g., `--features="rt critical-section-impl"`

Definitely much better

I was wondering why this wasn't caught by CI and I think that's because when we build the examples, the BSP features get all merged together which enables critical-section-impl.
#487 covers that caveat


Ch8 codeBuild exercise missing some steps and code errors

I couldn't get the "devops" user to login to docker until I added this policy: AWSAppRunnerServicePolicyForECRAccess
buildspec.yml diff:
+env:
+  variables:
+    AWS_ACCOUNT_ID: "## Account ID ##"
+    IMAGE_REPO_NAME: "chapter8_codebuild"
+    IMAGE_TAG: "latest"

install phase missing commands: subsection
-  install:
all phases under install mis-indented
[diff not shown for brevity]
-        - docker push AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG
+      - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com/$IMAGE_REPO_NAME:$IMAGE_TAG

Dockerfile diff:
+ENV TZ=Etc/UTC
+ENV DEBIAN_FRONTEND=noninteractive

-RUN apt-get install -y python-3 pip python-dev build-essential git
+RUN apt-get install -y python3 pip python-dev build-essential git

This got me to finish the docker build, but still times out when pushing to the ECR. I'll update if I invest more time and have success.

Thank you @worthlesspenny7  for the solution


Batch dml mainline

Fixes #<issue_number_goes_here> (it's a good idea to open an issue first for context and/or discussion)

@guangyus, looks like the code formatting build is failing. Please see here under 'Coding Style' for how to format your code: https://github.com/googleapis/google-cloud-java/blob/master/CONTRIBUTING.md. Thanks!

@guangyus, looks like the code formatting build is failing. Please see here under 'Coding Style' for how to format your code: https://github.com/googleapis/google-cloud-java/blob/master/CONTRIBUTING.md. Thanks!

Fixed by running mvn com.coveo:fmt-maven-plugin:format.


Sentinels Dont really forgive.

You can forgive all you want, but they keep on killing even after they've killed the player.

Eh... it's really hard to test that code, but it seems to stop killing myself after I've died?


Change Application Accent Color in Runtime

Hi, sorry for more questions 😁
i am trying to change application accent color, i can read color from ColorPicker and Save it in Prefrences. its OK.
but i am using this codes in MainActivity for changing application accent color before onCreate method.

val sharedPreferences = getSharedPreferences("ThemeColor", Context.MODE_PRIVATE)
        val stringColor = sharedPreferences.getString("color", "0381fe")

// stringColor output is: e100e1
        setTheme(resources.getIdentifier("Color_$stringColor", "style", packageName))

i can see that stringColor  is changed and set to new color but after using setTheme nothing happened and i cant see new color.
where is wrong? i am copied this codes from yours old library.

You also need to add the styles.xml file with all defined themes in your app (https://github.com/OneUIProject/OneUI-Design-Library/blob/master/yanndroid/oneui/src/main/res/values-v9/styles.xml).

thanks.
in values folder or values-v9?

Thank you @BlackMesa123
i added styles in values-v9 folder. in emulator everything is working fine, but in my A51 Device (Android 13/OneUI 5) SwitchPreferenceCompat and androidx.appcompat.widget.SeslSwitchBar color is not changed

Thank you @BlackMesa123
i added styles in values-v9 folder. in emulator everything is working fine, but in my A51 Device (Android 13/OneUI 5) SwitchPreferenceCompat and androidx.appcompat.widget.SeslSwitchBar color is not changed

You might have to set a custom style for SwitchCompat and SeslSwitchBar in your theme in order to match the color you want.


Rainbows is still marked as experimental

The Rainbows framework has been experimental since v3.6.0 of the Agent.
Rainbows is now at 5.2.1 with > 500k downloads.  Review supportability of latest and remove experimental status.

Due to low adoption, we deprecated the support for rainbows in version 8.7.0 of the agent. Closing this since we will not need to update the instrumentation anymore.


Async problems?

I have a decorator function that makes sync function async, however if I add it to the class, it acts like the function doesn't exist, even tho i can see in the log that it loads it up as coroutine.
Can you give me an example for it?
I really like this lib, makes it a breeze to add.
Decorators on a function:
@AILibFunction
@LibParam
@make_async

I've added a new method to GPTFunctionLibrary in the latest release that can invoke coroutines called call_by_dict_async
check examples/async_functions.py for an example.

call_by_dict_async works for both sync and async functions.


Add multiline input patch as interface defaults.

This patches support for multiline support (that is, input with literal new lines).

Context:
Improves: Issue #1

Changes
Add while loop to read so as to capture new lines in input.

Checklist

[x] I have opened a new issue for this addition/fix or have linked an existing issue.
[x] I have tested the changes on my machine successfully.
[ ] I have updated the README as required.

Attribution
This Code of Conduct has been adapted from
the GitHub Docs.

Thank you for the pull request.
I am encountering issues with it unfortunately.
It's working for the davinci model

but fails for both the turbo model and the dalle model

Haven't been able to look into it much over the weekend, will try and figure it out this week. Seems like a minor issue though.

Sorry for the that! I thought input was being escaped later on but it isn't. So the to improve the feature, I am updating the code to add an escaped new line \n instead of a literal newline.
That should work now.
Just a note, read will trim leading spaces and trailing spaces and newlines. That should not be a problem, though.

This is working perfectly, thanks!
read trimming leading spaces and newlines isn't an issue at all.


[Bug] Deduplication logic for Cosmos Event is faulty leading to missed event

Bug report
Hi team!
I am an engineer at Persistence Labs where we maintain a self-hosted deployment of Graph Node for usage with Persistence Core-1 chain (a Cosmos SDK based L1).
I noticed that a few events were being missed in our subgraph which were similar but not exactly duplicates. Only first of them was being indexed, and the rest were being ignored and the handler actually never reached the subgraph.
On going deep, I realized this is happening due to a bug in the dedup logic for the events for the Cosmos Blockchain.
The dedup call happens here:
https://github.com/graphprotocol/graph-node/blob/8c6edc195102ee11a0767c77201a043aac45366b/graph/src/blockchain/block_stream.rs#L225
Rust stdlib dedup function uses PartialEq implementation for the dedup.
The PartialEq for BlockStream is defined here:
https://github.com/graphprotocol/graph-node/blob/8c6edc195102ee11a0767c77201a043aac45366b/chain/cosmos/src/trigger.rs#L75-L100
Particularly, the line 90 has an issue where only the source and event name is checked for duplicate. There's a possibility that events with the same name are emitted multiple times in the same block in Cosmos in the same transaction with different attribute values.
Error Analysis and reproducible scenario
I have made a fork branch with a test-case where I downloaded a block from the PersistenceCore Core-1 Firehose and copied it's base64 data. I later processed the triggers exactly as in the current 0.33 release, and then ran the dedup operation to demonstrate that non-duplicate data is being removed leading to ignored events during indexing.
Link to test case in the fork:
https://github.com/graphprotocol/graph-node/blob/01f3f435341ba124a38b420895d05e9c1f42df0b/chain/cosmos/src/chain.rs#L470
Run the test using:
cargo test --package graph-chain-cosmos --lib -- chain::test::test_decode_block --exact --nocapture
Fix
The fix is pretty straightforward. We need to update the PartialEq logic also include block data scenario. Only the name and source doesn't suffice.
Possible remediation for older releases where wrong data was indexed
As I can imagine, a lot of past indexed data must have been missed due to this issue. All those subgraphs would have to be re-indexed on a fixed Graph-node release binary to have data without any missing pieces.
Relevant log output
No response
IPFS hash
No response
Subgraph name or link to explorer
No response
Some information to help us out

[X] Tick this box if this bug is caused by a regression found in the latest release.
[ ] Tick this box if this bug is specific to the hosted service.
[X] I have searched the issue tracker to make sure this issue is not a duplicate.

OS information
Linux

As I see from the older raised bugs, this also is related and the root cause is exactly the same, however the error is much clearly highlighted in the current bug report with a reproducible scenario.
https://github.com/graphprotocol/graph-node/issues/4998

Hmm, so when it will be possible to re-index data? When can we expect new version of graph node to be released?

@wojciechowskip do you intend to re-index using the Hosted Service?

@wojciechowskip do you intend to re-index using the Hosted Service?

Yes, I am just waiting for the release to test it :)

@wojciechowskip its live on Hosted service.

Closing, thanks so much @betterclever !


remove encode to JSON for configuration and state

Jira: CT-547
KBC: https://github.com/keboola/connection/pull/4217
KBC (tag): https://github.com/keboola/connection/pull/4263

Muzou se odstranit vsechny json_encode pro configuration a state, protoze to ted jde posilat primo jako JSON.

[x] - odstranit encodovani do JSONu pro components endpointy
[x] - upravit dokumentaci

Before asking for review make sure that:
Checklist

[x] New client method(s) has tests
[x] Apiary file is updated

Release

[x] I gave the PR a proper label:

major (BC break)
minor (new feature)
patch (backwards compatible fix)
no release (just test changes)

🏷 Tag1 here: https://github.com/keboola/connection/pull/4263#issuecomment-1470451041

Upraveno na object i na ostatnich mistech.


weird behavior observed when using @warning tag

Description :
weird behavior observed when using @warning tag, the steps below the skipped step are also being evelauated
To Reproduce

<Either a sample terraform code, or your terraform plan file if it doesn't have any confidential information>

resource "aws_launch_template" "foobar" {
  name_prefix   = "foobar"
  image_id      = "ami-1a2b3c"
  instance_type = "t2.micro"

}

resource "aws_autoscaling_group" "bar" {
  availability_zones = ["us-east-1a"]
  desired_capacity   = 1
  max_size           = 1
  min_size           = 1

  launch_template {
    id      = aws_launch_template.foobar.id
    version = "$Latest"
  }
}

<Used terraform-compliance parameters>
terraform-compliance -t C:\Softwares\cloud\Terraform\0.12.24\terraform.exe -f C:\Training\Cloud\AWS\TC_Rules -p C:\Training\Cloud\AWS\TF_Templates\plan.json

Python 3.8.2
4.

<Your feature/scenario/steps>

Feature: ASG
  @warning
  Scenario: Health checks not enabled for ASG
    Given I have aws_autoscaling_group defined
    Then it must contain health_check_type
   And its value must match the "(^ELB$)|(^EC2$)" regex

Expected behavior :

The Scenario must throw a warning and the steps below the first skipped step should not be evaluated
Tested versions :

<terraform-compliance version (terraform-compliance -v)>
1.2.3
<terraform version (terraform -v)>

Terraform v0.12.24
+ provider.aws v2.64.0

<python runtime version, if running as a python package (python --version)>
Python 3.8.2
Additional context
If I remove the @warning tag, the Scenario fails as expected

Hi @vrbcntrl
Could you have a try with release 1.2.5?

Thank you @Kudbettin for looking into the issue.
My test is working as expected with V1.2.5

Thanks for re-testing this @vrbcntrl :tada:
Closing the issue. :)


main.py closes after running

immediately closes after running

Btw if youre using version one from the releases tab, thats old and buggy and I forgot to update it. Try cloning or downloading as zip and running the latest version

Btw if youre using version one from the releases tab, thats old and buggy and I forgot to update it. Try cloning or downloading as zip and running the latest version

Oh okay i will try that and let you know thanks

Btw if youre using version one from the releases tab, thats old and buggy and I forgot to update it. Try cloning or downloading as zip and running the latest version

somehow fixed it in pycharm but now stuck on this PS E:\downloads\Compressed\Reddit2Insta-Meme-Uploader-2\Reddit2Insta-Meme-Uploader-2> python main.py
Traceback (most recent call last):
File "E:\downloads\Compressed\Reddit2Insta-Meme-Uploader-2\Reddit2Insta-Meme-Uploader-2\main.py", line 10, in
from sidspackage import ColorPrint
File "E:\downloads\Compressed\Reddit2Insta-Meme-Uploader-2\Reddit2Insta-Meme-Uploader-2\venv\lib\site-packages\sidspackage_init_.py", line 1, in
from .paginator import Paginator
File "E:\downloads\Compressed\Reddit2Insta-Meme-Uploader-2\Reddit2Insta-Meme-Uploader-2\venv\lib\site-packages\sidspackage\paginator.py", line 2, in
from discord_ui import View
ImportError: cannot import name 'View' from 'discord_ui' (E:\downloads\Compressed\Reddit2Insta-Meme-Uploader-2\Reddit2Insta-Meme-Uploader-2\venv\lib\site-packages\discord_ui_init_.py)

@mountaincastle47
Oh I see its cause of sidspackage imports a paginator for discord.
I commented out all the lines that use that package.

if that didnt fix it delete all the lines which are commented out or say cp.print()

now i think it works perfectly fine except you gotta manually fix folder loaction\Reddit2Insta-Meme-Uploader-main\Reddit2Insta-Meme-Uploader-main\venv\Lib\site-packages\sidspackage\paginator.py to
import discord
from discord_ui import View
class Paginator(View):
def init(self, ctx, ems):
super().init(timeout=10)
self.ctx = ctx
self.em = ems
self.index = 0
def add(self, embed):
    self.em.append(embed)

@discord_ui.button(style=discord.ButtonStyle.green, emoji="⬅", custom_id="left")
async def left(self, button, interaction):
    if self.index == 0:
        button = [x for x in self.children if x.custom_id=="left"][0]
        button.disabled = True
    else:
        button = [x for x in self.children if x.custom_id=="right"][0]
        button.disabled = False
        self.index -= 1
    em = self.em[self.index]
    await interaction.response.edit_message(view=self,embed=em)

@discord_ui.button(style=discord.ButtonStyle.green, emoji="➡", custom_id="right")
async def right(self, button, interaction):
    if self.index == (len(self.em)-1):
        button = [x for x in self.children if x.custom_id=="right"][0]
        button.disabled = True
    else:
        button = [x for x in self.children if x.custom_id=="left"][0]
        button.disabled = False
        self.index += 1
    em = self.em[self.index]
    await interaction.response.edit_message(view=self,embed=em)

if that didnt fix it delete all the lines which are commented out or say cp.print()

i only changed discord.ui to discord_ui

ok, Its probably cause im using pycord which is discord.ui which is why I don't get these errors lol
anyways if its fixed now should I close this issue?

btw anyway to configure which subreddit the bots scrapes?

yep

how may i ask?

you add a subreddit name
Like right now its rpsnlist = ['memes', 'dankmemes']
if for example you want to scrape r/funny
you would add "funny" to the list
rpsnlist = ['memes', 'dankmemes', 'funny']

you add a subreddit name Like right now its rpsnlist = ['memes', 'dankmemes'] if for example you want to scrape r/funny you would add "funny" to the list rpsnlist = ['memes', 'dankmemes', 'funny']

alirght man thanks a lot for your time and effort.  Hope you have a wonderful day or night :)

no problem bro.
Also just letting you know don't run the bot to many times a day or you will get rate limited

oh okay gotcha bro thanks a lot


There could be a memory leak

There could be a memory leak in the API and the Operator (falls are me restarting deployments to add debugging).

Slack thread: https://kubernetes.slack.com/archives/C07MB5YBVCL/p1729256255810079
With the system metrics implemented at https://github.com/kubearchive/kubearchive/pull/573 you should be able to reproduce this:
0. Use that code or if its already merged, jump to step n1.

Install as normal.
Run bash integrations/observability/grafana/install.sh
Forward the promtheus port: kubectl port-forward -n observability svc/grafana-lgtm 9090:9090 &
Open localhost:9090 and use as query go_memory_allocated_bytes_total.
It should grow after a while, more on the api and the operator.

Acceptance Criteria

Investigate and provide an explanation of why the memory is increasing.
Fix it if its a memory leak.

Notes

Its OK to take this issue and then drop it after a while if your investigation yielded no fruits. No worries.

Hm... I could be totally wrong, sorry about this but someone please take a second look. I found that it is an accumulator, so maybe we shouldn't expect it to go down:
From the runtime.Start function look at the metric, look at how its defined, then you will end up in the runtime package of go, where you find this:
/gc/heap/allocs:bytes
	Cumulative sum of memory allocated to the heap by the
	application.

Maybe we need to watch at:
go_memory_used_bytes{}

Instead :sweat_smile:

I checked the implementation and the metric is of type Int64ObservableCounter which is always increasing Counter spec so there is no memory leak here.


Temperature: Update flash interface

Tested on Temperature PCB V6.0

The code looks fine, but the unit tests fail. The YML hasn't caught the error, which is concerning

The code looks fine, but the unit tests fail. The YML hasn't caught the error, which is concerning

It looks like it fails because the fake_ADS1120 has not been merged yet  from this branch. I assume the .yml also failed when the latest temperature PR was merged into main.
@LukeWalker-CA will you have a look as to whether the branch is ready for review / merging?

Opened a PR here


Allow z.function([z.string()]) rather than needing to use z.tuple(...) every time

Minor convenience request:
I'd like to use zod as a very lightweight way of basically making typescript assertions "real". So my hope is that using z.function(...) is almost as little overhead as defining a vanilla typescript function. Situation now:
import * as z from 'zod'

export const myFunction = z.function(z.tuple([z.string()])).implement(str => console.log(str))

It'd be great if z.function auto-tuplified the inputs so we didn't have to use z.tuple:
import * as z from 'zod'

export const myFunction = z.function([z.string()]).implement(str => console.log(str))

I'd be happy to open a PR if you're open to the idea?

Ideally one wouldn't even need to put z.string() in an array, so U'd get the following:
export const myFunction = z.function(z.string(), z.string()).implement((a, b) => console.log(a, b))


merge Pimengs PR for url parameterization to metrics view.

Will cancel previous PR.

Current coverage is 36.01% (diff: 100%)

No coverage report found for develop at 051b3c2.

Powered by Codecov. Last update 051b3c2...a55a3b5


Option ´disableDates´ it's not documented

I see the code from @amittkSharma that enables the option ´disabledDates´ it's merged, but the docs seems to have been overwritten since there's no reference to the option in the README (https://github.com/logbon72/angular-material-datetimepicker/issues/76).
Would be good to have this documented.

| **disable-dates**	| Date[]						| Dates to be disabled or not selectable by user.|


chore: Update permissions and add GitHub token in PR comment workflow

PR Type
enhancement, configuration changes

Description

Added permissions block to set pull-requests: write in the PR comment workflow.
Included github-token in the with section for actions/github-script to enable authentication.

Changes walkthrough 📝
Relevant filesConfiguration changes

pr-comment.yamlUpdate permissions and add GitHub token in PR comment workflow

.github/workflows/pr-comment.yaml
Added permissions block to set pull-requests: write.  Included github-token in the with section for actions/github-script.

+4/-1

💡 PR-Agent usage:
Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

Preparing review...

PR Review 🔍

 ⏱ Estimated effort to review [1-5]
2, because the PR involves a straightforward update to a GitHub Actions workflow file, specifically adding permissions and a token usage. The changes are minimal and localized to a single file, making the review relatively easy and quick.

 🧪 Relevant tests
No

 ⚡ Possible issues
No

 🔒 Security concerns
No

 Code feedback:
relevant file.github/workflows/pr-comment.yaml
suggestion

Ensure that the GITHUB_TOKEN has the minimal permissions necessary for its intended operations to enhance security. Review the token's permissions settings in the GitHub repository settings. [important]

relevant linegithub-token: ${{ secrets.GITHUB_TOKEN }}

Preparing PR description...

PR Description updated to latest commit (https://github.com/barnett-yuxiang/EvernoteV2/commit/13f8e59bd9b5625323a1ebae43aba8097810be87)


catch TransferFailedException

Fixes #508
TransferFailedException raised by ReplicatorClient.verify_transfer_prefix() will now be caught in both cp and sync, and a detailed transfer failed message will be printed.

@liuxt129 Before you merge, can you take a look and see why it says "Transfer successfully completed" and then immediately prints "Transfer failed exception"?
Also, the error message should be more descriptive and say something like "The following objects were not found at the destination"

The "Transfer successfully completed" message is printed in function launch_replication_job in cp_replicate.py, before the verify is done.
If we don't want this to happen, I think we can move the success message part from cp_replicate.py to cli.py, after the verify passes. We have everything we need for the success message from stats returned from launch_replication_job

A more descriptive error message:

New failed message:

New success message:


Change UI?

OS: windows10
PyQt version: pythpn3 QT5
I want do some change on the UI so that the labelImg.exe can used to my project;
but i can't find where to set the UI,  does it have a ui file?

I also want the ui file,if you have ,can you sent me? thank you.

I also want the ui file,if you have ,can you sent me? thank you.

Have you manage to get it? thank you~


Variable-ize ant version

Addresses #19.
I couldn't figure out a quick way to only have the variables declared in only one place. I have very little experience in Ruby and Chef, so maybe someone else can figure that one out. At any rate, now we have variables declaring the version of ant and the mirror from where to get it (if it ever happens to change).

thanks!


Change databricks container to multi-stage build

Currently, there is a frozen conda environment file that is used to install RAPIDS into the databricks base container.
This frozen file needs to be generated manually from the latest docker image and committed to the repo (thanks @skirui-source for doing this for 22.06 in #177).
In this PR I've updated the docker image to use a multi-stage build that exports the frozen env from the RAPIDS image, copies it to the databricks base and installs it there.
This should save some manual steps and mean that updating the image in the future will just mean changing the image tag in the Dockerfile instead of having to generate the whole frozen environment. It also means if the docker images get updated to fix security vulnerabilities, etc then next time someone builds the image here those will be picked up.

I've tweaked this further in 56466f7 and moved the RAPIDS image to a build arg. This means the only place we specify the image is in the README.md and hopefully makes it a little more clear to the user which version of RAPIDS they are building a container for. When we need to update this next time it means we only need to modify the README.
To me this is more clear, but if it's worse for others we can drop this commit and leave the RAPIDS image name within the Dockerfile.


Evaluate the need for VoidResponse

Do we need a special type for VoidResponse instead of just using Response<Void> as return type in public APIs?

We should remove VoidResponse and change all API to instead return Response<Void>.

Duplicate here - https://github.com/Azure/azure-sdk-for-java/issues/5465


Add guild_name alias as server

This seems to be the standard with weechat things.
I specifically need to be able to query ${server} so that I can use autosort.py effectively.
irc, slack & matrix all have it available to use, even though it doesn't map directly onto discord's architecture.
Related: #50

Thanks for the PR, looks good to me.


Fix textarea expanding, fixes #4832

This commit makes the palette expand on the x-axis when the textarea
in the activity palette is expanded.  This means it does not overflow.
This commit also puts limits on the size of the text area, so the user
can not drag it to be small and weird looking.
Bug link:  http://bugs.sugarlabs.org/ticket/4832

@SAMdroid-apps  you too fixed it :+1:
I pushed the entire new template with other bugs fixed as well to https://github.com/sugarlabs/sugar-web-template/pull/24
Thanks for the notice !

@SAMdroid-apps , maybe is better avoid resize at all, using "resize: none;".
http://stackoverflow.com/questions/5235142/how-to-disable-resizable-property-of-textarea

To be more clear, I think resize: none would be applied to all the textareas.


Activities

Activities

[ ] Active registered

withdraw
exit

[ ] Active applications

deposit
withdraw (depends)

[ ] Active challenges, not voted yet

commitVote

[ ] Committed, waiting for commit stage end

numTokens / voteOption

[ ] Committed, ready to reveal

before: revealVote / json file upload
after: voteOption / numTokens

All: votesFor / votesAgainst / voteOption / numTokens

[ ] Revealed, waiting for reveal stage end

timer

[ ] Revealed, ready for update

updateStatus

[ ] Revealed, updated, won challenge (assuming they participated in voting)

claimReward

[ ] Revealed, updated, lost challenge (assuming they participated in voting)

votesFor / votesAgainst / voteOption / numTokens

[ ] Revealed, updated, won vote

voterReward (getter)
claimReward

[ ] Revealed, updated, lost vote
[ ] Forgot to reveal

rescueTokens

[ ] Listing of transactions / history

lockedTokens

refer to new wireframes: 83a9ec2a46c3232ef6da270cbd75b082561715ed


Wallet Total Incorrect

I recently noticed that in the time between coin(s) being detected and confirmed, the wallet total is displayed incorrectly. It appears to be calculating the "Total" by adding the "Available" and "Unconfirmed" values while the "Available" value already includes the "Unconfirmed" value. Please see the attached screenshot.
Relevant math for my case:
Unconfirmed = 1.8378319
Available = sum(all incoming transactions) - sum(all outgoing transactions):
3 + 3.53465605 + 1.74557384 + 1.8378319 - 0.00011 = 10.11795179
Total = Available + Unconfirmed
10.11795179 + 1.8378319 = 11.95578369
At no point did I have 11.95578369 GRC. That value is simply wrong. Once the coin(s) are confirmed, the Total is displayed correctly. I took a look through the code but I don't see anything immediately obvious that would cause this in CWallet::GetBalance() or CWallet::GetUnconfirmedBalance(). The source of the issue is likely much deeper since the unconfirmed coin(s) seem to be being counted twice somehow. It doesn't seem to be a big problem since it corrects itself eventually, hopefully it's just a UX issue.
Screenshot:

there is a bug with unconfirmed balance that will be fixed in next version. where a unconfirmed balance received on fork doesnt go away. interesting from what i see i'll have a look at it again anyway. unconfirmed balance is not added to available till it passes 10 confirms. thanks for bringing this up first occurrence regarding this issue and i haven't duplicated it but will keep trying.

confirmed. fix will be with the unconfirmed balance PR


First letter uppercase

Sentance: "granting tenant-wide admin consent also allows organizations to implement their own review processes.”
The word "granting" maybe can be capitalized
[Enter feedback here]

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

ID: 2c075d54-1d74-18f5-4fe1-efb8d4a2e114
Version Independent ID: e5c52c87-5f62-63ca-1331-ab3128806d97
Content: What is application management? - Microsoft Entra
Content Source: articles/active-directory/manage-apps/what-is-application-management.md
Service: active-directory
Sub-service: app-mgmt
GitHub Login: @omondiatieno
Microsoft Alias: jomondi

@nn75
Thanks for contributing towards enhancement of document. We have performed the required change and it will go live soon.