Prometheus job multiple endpoints with same name

What did you do?
Run prometheus operator and create custom servicemonitor. I thinks it's important to mention that I do it using helm values:
prometheus:
  serviceMonitors:
    - name: kube-prometheus-postgres
      lables:
        prometheus: kube-prometheus
      selector:
        matchLables:
          app: prometheus-postgres-exporter
          release: prometheus-postgres-exporter
      jobLabel: kube-prometheus-postgres-exporter
      endpoints:
        - port: http
          interval: 30s
          path: /metrics
      namespaceSelector:
        matchNames:
          - monitoring

What did you expect to see?
Getting metrics from postgrex-exporter
What did you see instead? Under which circumstances?
Prometheus has created job in targets list but also I have wrong endpoints in target list. For example:

Environment

Prometheus Operator version:
v0.20.0

Kubernetes version information:

Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.8", GitCommit:"c138b85178156011dc934c2c9f4837476876fb07", GitTreeState:"clean", BuildDate:"2018-05-21T18:53:18Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:
kops

Manifests:
ServiceMonitor

kind: ServiceMonitor
metadata:
  clusterName: ""
  creationTimestamp: 2018-09-17T10:32:05Z
  generation: 0
  labels:
    app: prometheus
    chart: prometheus-0.0.51
    heritage: Tiller
    prometheus: kube-prometheus
    release: kube-prometheus
  name: kube-prometheus-postgres
  namespace: monitoring
  resourceVersion: "4709769"
  selfLink: /apis/monitoring.coreos.com/v1/namespaces/monitoring/servicemonitors/kube-prometheus-postgres
  uid: ebd07187-ba64-11e8-858b-0ab74d21fd5c
spec:
  endpoints:
  - interval: 30s
    path: /metrics
    port: http
  jobLabel: kube-prometheus-postgres-exporter
  namespaceSelector:
    matchNames:
    - monitoring
  selector:
    matchLables:
      app: prometheus-postgres-exporter
      release: prometheus-postgres-exporter

postgres-exporter service
kind: Service
metadata:
  creationTimestamp: 2018-09-17T09:29:02Z
  labels:
    app: prometheus-postgres-exporter
    chart: prometheus-postgres-exporter-0.4.0
    heritage: Tiller
    release: prometheus-postgres-exporter
  name: prometheus-postgres-exporter
  namespace: monitoring
  resourceVersion: "4691548"
  selfLink: /api/v1/namespaces/monitoring/services/prometheus-postgres-exporter
  uid: 1cfee641-ba5c-11e8-858b-0ab74d21fd5c
spec:
  clusterIP: <IP_ADDRESS>
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 9187
  selector:
    app: prometheus-postgres-exporter
    release: prometheus-postgres-exporter
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

grafana service
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: 2018-09-17T10:32:04Z
  labels:
    app: kube-prometheus-grafana
    chart: grafana-0.0.37
    heritage: Tiller
    release: kube-prometheus
  name: kube-prometheus-grafana
  namespace: monitoring
  resourceVersion: "4702275"
  selfLink: /api/v1/namespaces/monitoring/services/kube-prometheus-grafana
  uid: ebb31c6c-ba64-11e8-858b-0ab74d21fd5c
spec:
  clusterIP: <IP_ADDRESS>
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 3000
  selector:
    app: kube-prometheus-grafana
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

Prometheus Operator Logs:
As result I have these errors:

prometheus-kube-prometheus-0 prometheus level=warn ts=2018-09-17T11:30:30.903017646Z caller=scrape.go:926 component="scrape manager" scrape_pool=monitoring/kube-prometheus-grafana/0 target=http://<IP_ADDRESS>:3000/metrics msg="Error on ingesting out-of-order samples" num_dropped=31
prometheus-kube-prometheus-0 prometheus level=warn ts=2018-09-17T11:30:30.903065962Z caller=scrape.go:697 component="scrape manager" scrape_pool=monitoring/kube-prometheus-grafana/0 target=http://<IP_ADDRESS>:3000/metrics msg="append failed" err="out of order sample"

Prometheus scraper config:
- job_name: monitoring/kube-prometheus-postgres/0
  scrape_interval: 30s
  scrape_timeout: 10s
  metrics_path: /metrics
  scheme: http
  kubernetes_sd_configs:
  - api_server: null
    role: endpoints
    namespaces:
      names:
      - monitoring
  relabel_configs:
  - source_labels: [__meta_kubernetes_endpoint_port_name]
    separator: ;
    regex: http
    replacement: $1
    action: keep
  - source_labels: [__meta_kubernetes_namespace]
    separator: ;
    regex: (.*)
    target_label: namespace
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_pod_name]
    separator: ;
    regex: (.*)
    target_label: pod
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: service
    replacement: $1
    action: replace
  - source_labels: [__meta_kubernetes_service_name]
    separator: ;
    regex: (.*)
    target_label: job
    replacement: ${1}
    action: replace
  - source_labels: [__meta_kubernetes_service_label_kube_prometheus_postgres_exporter]
    separator: ;
    regex: (.+)
    target_label: job
    replacement: ${1}
    action: replace
  - separator: ;
    regex: (.*)
    target_label: endpoint
    replacement: http
    action: replace```

It looks like it doesn't create **__meta_kubernetes_label_app** for postgres

Thanks for reporting!
Can you share the same screenshot but without the tooltip so we can see the result labels for those two targets? And could you also share the grafana ServiceMonitor? Thanks!

I've redeployed it during investigation, but it is still reproducing

Grafana ServiceMonitor
kind: ServiceMonitor
metadata:
  clusterName: ""
  creationTimestamp: 2018-09-17T13:30:28Z
  labels:
    app: grafana
    chart: grafana-0.0.37
    component: grafana
    heritage: Tiller
    prometheus: kube-prometheus
    release: kube-prometheus
  name: kube-prometheus-grafana
  namespace: monitoring
  resourceVersion: "4731231"
  selfLink: /apis/monitoring.coreos.com/v1/namespaces/monitoring/servicemonitors/kube-prometheus-grafana
  uid: d74545a2-ba7d-11e8-858b-0ab74d21fd5c
spec:
  endpoints:
  - interval: 30s
    port: http
  jobLabel: kube-prometheus-grafana
  namespaceSelector:
    matchNames:
    - monitoring
  selector:
    matchLabels:
      app: kube-prometheus-grafana
      chart: grafana-0.0.37

As soon as I've run this one:
kubectl -n monitoring apply -f /tmp/postgres.yaml
postgres.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    prometheus: kube-prometheus
  name: kube-prometheus-postgres-exporter
  namespace: monitoring
spec:
  endpoints:
  - port: http
    interval: 30s
    path: /metrics
  selector:
    matchLabels:
      app: prometheus-postgres-exporter
  namespaceSelector:
     matchNames:
       - monitoring

It has fixed:
  - source_labels: [__meta_kubernetes_service_label_app]
    separator: ;
    regex: prometheus-postgres-exporter
    replacement: $1
    action: keep

Ha-ha, misspelling:
matchLables
must be
matchLabels
Sorry for it, but it is really hard to see :)

No worries at all, we're also looking forward to the pruning feature of CRDs, which will allow us to spot these types of mistakes at apply time! :slightly_smiling_face:


Awslocal cli: Exception while calling ecs.CreateCluster: 'EcrStore' object has no attribute 'clusters'

On windows, I'm trying to execute awslocal ecs create-cluster --cluster-name clusterName but it fails with this error message

I've installed both aws cli and awslocal cli. Any ideas?

Hi @solodezaldivar!
It actually seems like awslocal is working just fine, but LocalStack is reporting an error to your create-cluster request.
I cannot reproduce your issue with the latest Docker image. If you are still facing your issue after updating to the latest version of the Docker image, please create an issue with detailed information about the LocalStack version you are using in the localstack/localstack repository.
Thanks!


Consumer support sql scanner

Description
Allows consumer to decode on fields that implement the database/sql.Scanner interface.

LGTM. Thanks @justin0u0!


Port miscellaneous tests.

Review by @sjrd.

LGTM

@sjrd I added a commit that fixes a bug found while porting.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2685/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3469/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2686/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3470/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2688/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3473/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2692/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3477/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2696/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3482/
Test PASSed.

It seems the transient state with the commented out test for issue #2144 disappeared.

LGTM

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/2700/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3486/
Test PASSed.


Dropdown box on continuous delivery page for swtiching namespace is not in place

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce:

Deploy rancher single install.
Deploy a downstream cluster.
Go to cluster explorer -> continuous delivery.

Result:
The dropdown is not in place. See the screenshot below.

Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): v2.5-head, 761c805d
Installation option (single install/HA): single install

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): custom

this is fixed in this pr: https://github.com/rancher/dashboard/pull/2267

This is a duplicate of #2306


infdig error in $watch

I have an app that use angular gridster and it throw exception on init (on someone else computer I was not able to reproduce the error).
The error happen by this function:
scope.$watch(function() {
    return $elem[0].offsetWidth || parseInt($elem.css('width'), 10);
}, resize);

it seems that width is fliping size from 603 to 595 and back again. I'm attaching the screen shot of the error that was send to me:

Do you know why I may have this error in my app, and how to fix it? The person that have this error said that it's only happening when console in developer tools is closed. Don't know if that's related.

This may be duplicate of #169


Changed cipher mode breaks backward compatibility

We are looking into using this plugin as a replacement for cordova-plugin-secure-storage for an app that is currently in production and have been so for a while, in order to support android 10 devices. Unfortunately, as the AES cipher mode has changed in this fork, this would break existing clients having stored credentials encrypted with the old plugin.
Would it be possible to provide an upgrade path somehow, or at least a "backwards compatibility" flag? Perhaps it should be noted in the README?
The change in question is in the commit fd10aa624979e4bf5a323556c523f3c56035c6af - "Changed AES encryption mode for API 19 compatibility" as part of PR #17 and related to issue #23

We are planning to implement our own workaround which would involve detecting the specific mac check failed error, clearing the saved keys, and then requiring the user to log back in. Obviously having the plugin re-encrypt using the new cipher mode would be preferred.

That would be the ideal solution, indeed. Thanks for getting back to me so quickly, and have a nice day!

I have no control over this repo and would not be the person to implement this change. I just happened to have the same issue. Suggest you try and speak with the maintainer.

Aha, I didn't catch that you weren't involved with this repo.

Hey @steinjak & @hvaughan3
thanks for reporting this and your inputs, really appreciated.
Currently there is a PR that partially fix this issue #36 can you double check it and probable even contribute?
In the meantime, I asked the author to add some documentation on how to use.

Are there any updates regarding this issue/PR? For the time being; I've forked this repo and reverted the Chipher-mode back to CCM, because we can't wait for the release of the mentioned PR.


Support hex characters

A hex character is a byte, i.e. has 8 bits. The valid range of a hex character is 00 to FF.

in literals: '\x0B'
in charsets: [\x0B]
in ranges: '\x41'-'\x5A'

moved to javaslang-parser


Configure eslint to error on unnecessary semicolins

Coverage remained the same at 82.399% when pulling 7ff46843ff6894657795711879498d44e725ff3a on lint-semi into f9846502a857e777b40d36d6fa01f6c38154cec4 on master.

I am leaving this open for others developers to sound off on.


A couple of questions, if I may?

Hi,
This isn't an issue, but two questions regarding Mqtt if you don't mind?
(Seems like a good place to ask since you guys are obviously professionals on the subject)
I'm quite new to Mqtt & do not fully appreciate its capability yet, however I've had Mqttnet publishing via a simple .net app. over a LAN + Mosquitto broker, and a cloud demo. using cloudmqtt - both with standard tcp connections, so I have "some" experience.
My questions are:
1/ Websockets
When or why would you choose to use websockets over standard tcp?
Am I right in thinking that Windows 7 and below does not support websockets and that only Windows 10 does?
I don't understand what a websocket is or how it is used in Mqtt, so I'd very much appreciate some enlightenment here.
2/ Secure connection
I've seen standard, non-secure Mqtt working over port 1883 with Mosquitto, but I'd like to know what steps I need to take to get a secure connection working?
What type of certificate do I need to purchase (a link would be useful) and how do I use it in this context?
Thanks in advance to anyone who cares to answer.
Regards,
Darren

I'm not completely there for #2 yet.... but #1 I'm definitely doing both webSockets and TCP sockets because I am concerned about clients who adopt our technology being behind firewalls that block many IP Ports... it gives me a fallback to still create the connection with an alternative means before I need to work with potential client's IT staff.

WebSockets are also supported in Browsers out of the box. So you can easily send and receive data in HTML based apps.


[Discussion] Possible patching of apks to get around signature spoofing?

Hey there :)
I am not sure whether this is the right place for this, so please let me know in case you know where else to put it :P
I am currently in the process of setting up microG. I am using GrapheneOS, so signature spoofing is not supported out of the box. Also, I am not sure whether patching my ROM using NanoDroid will be a good solution in the long run, especially because it might eventually break OTA updates.
So I started thinking about something else:
Wouldn't it be possible to decompile an APK that uses Google Play Services, replace the package names from Google by the ones from microG and then recompile and sign it?
I am sure I am not the first person thinking about something like this, so I wanted to start a discussion before I go ahead and build something myself.
@mar-v-in what is your take on this? Have you done any research into this direction? Or anyone else? :)

Well it's easier to just use Xposed...

Android use RSA for apk signature.
You can't use an apk that is not signed with the google private key.
Signature as a way of certify that the apk has not been tampered and each time anything is changed inside an apk the signature break and you need to resign the app again.
So unless you find a way to get the google private RSA key from the public key you will need signature spoofing to for MicroG to work.

@nift4 Sure, Xposed works for sure, I am just trying to explore whether there are alternatives without flashing my device.
@Fox2Code Hmm, I see. I guess getting the private key would defeat the purpose and is hopefully impossible :P But I am not sure whether we are on the same page regarding this.  I am not trying to modify Google Play Services, but the apps that use it. Let's say I am using Uber, which uses Google Maps through Play Services. My idea for a proof of concept would be the following:

Download Uber APK
Use apktool to decompile it
Replace all references to Google Play Services by microG
Recompile APK
Sign the APK using my own key

Is there any way the app could know that it was modified and stop working? I am not an expert on cryptography, but I assume that this would only be possible in case there was an external server involved, right?

@lennartschoch
In theory, it would be possible to patch reference to Google Play Services to MicroG automatically
Especially it's easy to patch the call that checks if the signature is valid because the GMS library (The one inside the Uber APK) does the check the same way in every app that has the library.
In fact, MicroG is made to look like google so if the app makes a reference to play service it's microG that will receive the request but if the signature check is not patched the library will do not make a request to microG / Google Play Services since it has detected an invalid signature.
External servers are not needed since if you modify the apk you can cancel requests or modify them without needing an external server and needing to have internet. (You "setup" a fake server directly inside the apk)
But sometimes some apps check their own signatures to check if the apk hasn't been tampered with "unwanted modifications" and this is referred to as cat and mouse game to try to hide these modifications ( See Magisk for example )
But I think in most case disabling the signature inside the GMS library should be sufficient but you need to do that for each app to work

@Fox2Code Thanks for the helpful response! I'll definitely look into this and let you know in case I get something to work :)

@Fox2Code quick update on this:
I was just playing around with apktool and you were right:
By getting rid of the status code that is being returned when the Play Services signature mismatches, I was able to fool the app and now Uber runs without any Google Play Services, pretty awesome!

I will dig deeper into this and see whether it is possible to create some kind of patcher, that can analyze and patch an APK automatically

very interested in this - have a p40 pro and this seems a viable path forward.

@itoledo cool, glad to read that I am not the only one :P
I've started looking into the signature validation done by the gms library.
I am by no means an expert on this, I would really appreciate a hint into the right direction.
What I have found out so far:
The GMS library is using the signatures from the PackageManager API to get the RSA public key that the Play Services were signed with.
Seems like there is a list of public keys hardcoded into the library.
I used FernFlower to decompile the library and I think I got the following idea of the signature validation:
public static boolean zza(PackageInfo var0, boolean var1) {
      if (var0 != null && var0.signatures != null) {
         zze var2;
         if (var1) {
            var2 = zza(var0, zzh.zzx);
         } else {
            var2 = zza(var0, zzh.zzx[0]);
         }

         if (var2 != null) {
            return true;
         }
      }

      return false;
   }

This method is used inside the GoogleSignatureVerifier class to check whether a PackageInfo object matches a hardcoded signature. It points to the zzx object inside zzh which has the following definition:
final class zzh {
   static final zze[] zzx = new zze[]{new zzi(zze.zza("0\u0082\u0004C0\u0082\u0003+ \u0003\u0002\u0001\u0002\u0002\t\u0000Âà\u0087FdJ0\u008d0")), new zzj(zze.zza("0\u0082\u0004¨0\u0082\u0003\u0090 \u0003\u0002\u0001\u0002\u0002\t\u0000Õ\u0085¸l}ÓNõ0"))};
}

The strings here are probably too short to be actual public keys, but let's take a look at the zze and zzi classes that are referenced here:
zze seems to mostly take care of some formatting stuff, but it's superclass is zzj which has the following content:
final class zzj extends zzg {
   zzj(byte[] var1) {
      super(var1);
   }

   protected final byte[] zzd() {
      return zze.zza("0\u0082\u0004¨0\u0082\u0003\u0090 \u0003\u0002\u0001\u0002\u0002\t\u0000Õ\u0085¸l}ÓNõ0\r\u0006\t*\u0086H\u0086÷\r\u0001\u0001\u0004\u0005\u00000\u0081\u00941\u000b0\t\u0006\u0003U\u0004\u0006\u0013\u0002US1\u00130\u0011\u0006\u0003U\u0004\b\u0013\nCalifornia1\u00160\u0014\u0006\u0003U\u0004\u0007\u0013\rMountain View1\u00100\u000e\u0006\u0003U\u0004\n\u0013\u0007Android1\u00100\u000e\u0006\u0003U\u0004\u000b\u0013\u0007Android1\u00100\u000e\u0006\u0003U\u0004\u0003\u0013\u0007Android1\"0<EMAIL_ADDRESS>View1\u00100\u000e\u0006\u0003U\u0004\n\u0013\u0007Android1\u00100\u000e\u0006\u0003U\u0004\u000b\u0013\u0007Android1\u00100\u000e\u0006\u0003U\u0004\u0003\u0013\u0007Android1\"0<EMAIL_ADDRESS>0\r\u0006\t*\u0086H\u0086÷\r\u0001\u0001\u0001\u0005\u0000\u0003\u0082\u0001\r\u00000\u0082\u0001\b\u0002\u0082\u0001\u0001\u0000ÖÎ.\b\n¿â1MÑ\u008d³ÏÓ\u0018\\´=3ú\ftá½¶ÑÛ\u0089\u0013ö,\\9ßVøF\u0081=e¾ÀóÊBk\u0007Å¨íZ9\u0090ÁgçkÉ\u0099¹'\u0089K\u008f\u000b\"\u0000\u0019\u0094©)\u0015årÅm*0\u001b£oÅü\u0011:ÖË\u009et5¡m#«}úîáeäß\u001f\n\u008d½§\n\u0086\u009dQlN\u009d\u0005\u0011\u0096Ê|\fU\u007f\u0017[ÃuùHÅj®\u0086\b\u009b¤O\u008a¦¤Ý\u009a}¿,\n5\"\u0082\u00ad\u0006¸Ì\u0018^±Uyîøm\b\u000b\u001da\u0089Àù¯\u0098±ÂëÑ\u0007êE«Ûh£Ç\u0083\u008a^T\u0088ÇlSÔ\u000b\u0012\u001dç»Ó\u000eb\f\u0018\u008aáªaÛ¼\u0087Ý<d_/UóÔÃuì@p©?qQØ6pÁj\u0097\u001a¾^òÑ\u0018\u0090á¸®ó)\u008cðf¿\u009eláD¬\u009aèm\u001c\u001b\u000f\u0002\u0001\u0003£\u0081ü0\u0081ù0\u001d\u0006\u0003U\u001d\u000e\u0004\u0016\u0004\u0014\u008d\u001cÅ¾\u0095LC<a\u0086:\u0015°L¼\u0003òOà²0\u0081É\u0006\u0003U\u001d#\u0004\u0081Á0\u0081¾\u0080\u0014\u008d\u001cÅ¾\u0095LC<a\u0086:\u0015°L¼\u0003òOà²¡\u0081\u009a¤\u0081\u00970\u0081\u00941\u000b0\t\u0006\u0003U\u0004\u0006\u0013\u0002US1\u00130\u0011\u0006\u0003U\u0004\b\u0013\nCalifornia1\u00160\u0014\u0006\u0003U\u0004\u0007\u0013\rMountain View1\u00100\u000e\u0006\u0003U\u0004\n\u0013\u0007Android1\u00100\u000e\u0006\u0003U\u0004\u000b\u0013\u0007Android1\u00100\u000e\u0006\u0003U\u0004\u0003\u0013\u0007Android1\"0 \u0006\t*\u0086H\u0086÷\r\u0001\t\u0001\u0016\u0013android@android.com\u0082\t\u0000Õ\u0085¸l}ÓNõ0\f\u0006\u0003U\u001d\u0013\u0004\u00050\u0003\u0001\u0001ÿ0\r\u0006\t*\u0086H\u0086÷\r\u0001\u0001\u0004\u0005\u0000\u0003\u0082\u0001\u0001\u0000\u0019Ó\fñ\u0005ûx\u0092?L\r}Ò##=@\u0096zÏÎ\u0000\b\u001d[×ÆéÖí k\u000e\u0011 \u0095\u0006Al¢D\u0093\u0099\u0013ÒkJ àõ$ÊÒ»\\nL¡\u0001j\u0015\u0091n¡ì]ÉZ^:\u0001\u00006ô\u0092HÕ\u0010\u009b¿.\u001ea\u0081\u0086g:;åm¯\u000bw±Â)ãÂUãèL\u0090]#\u0087ïº\tËñ; +NZ\"É2cHJ#Òü)ú\u009f\u00199u\u00973¯Øª\u0016\u000fB\u0096ÂÐ\u0016>\u0081\u0082\u0085\u009cfCéÁ\u0096/ Á\u008333[À\u0090ÿ\u009ak\"ÞÑ\u00adDB)¥9©Nï\u00ad«ÐeÎÒK>QåÝ{fx{ï\u0012þ\u0097û¤\u0084Ä#ûOøÌIL\u0002ðõ\u0005\u0016\u0012ÿe)9>\u008eFêÅ»!òwÁQª_*¦'Ñè\u009d§\n¶\u00035iÞ;\u0098\u0097¿ÿ|©Ú>\u0012Cö\u000b");
   }
}

and this is zzi:
final class zzi extends zzg {
   zzi(byte[] var1) {
      super(var1);
   }

   protected final byte[] zzd() {
      return zze.zza("0\u0082\u0004C0\u0082\u0003+ \u0003\u0002\u0001\u0002\u0002\t\u0000Âà\u0087FdJ0\u008d0\r\u0006\t*\u0086H\u0086÷\r\u0001\u0001\u0004\u0005\u00000t1\u000b0\t\u0006\u0003U\u0004\u0006\u0013\u0002US1\u00130\u0011\u0006\u0003U\u0004\b\u0013\nCalifornia1\u00160\u0014\u0006\u0003U\u0004\u0007\u0013\rMountain View1\u00140\u0012\u0006\u0003U\u0004\n\u0013\u000bGoogle Inc.1\u00100\u000e\u0006\u0003U\u0004\u000b\u0013\u0007Android1\u00100\u000e\u0006\u0003U\u0004\u0003\u0013\u0007Android0\u001e\u0017\r080821231334Z\u0017\r360107231334Z0t1\u000b0\t\u0006\u0003U\u0004\u0006\u0013\u0002US1\u00130\u0011\u0006\u0003U\u0004\b\u0013\nCalifornia1\u00160\u0014\u0006\u0003U\u0004\u0007\u0013\rMountain View1\u00140\u0012\u0006\u0003U\u0004\n\u0013\u000bGoogle Inc.1\u00100\u000e\u0006\u0003U\u0004\u000b\u0013\u0007Android1\u00100\u000e\u0006\u0003U\u0004\u0003\u0013\u0007Android0\u0082\u0001 0\r\u0006\t*\u0086H\u0086÷\r\u0001\u0001\u0001\u0005\u0000\u0003\u0082\u0001\r\u00000\u0082\u0001\b\u0002\u0082\u0001\u0001\u0000«V.\u0000Ø;¢\b®\n\u0096o\u0012N)Ú\u0011ò«VÐ\u008fXâÌ©\u0013\u0003é·TÓrö@§\u001b\u001dË\u0013\tgbNFV§wj\u0092\u0019=²å¿·$©\u001ew\u0018\u008b\u000ejG¤;3Ù`\u009bw\u00181EÌß{.XftÉáV[\u001fLjYU¿òQ¦=«ùÅ\\'\"\"Rèuäø\u0015Jd_\u0089qhÀ±¿Æ\u0012ê¿xWi»4ªy\u0084Ü~.¢vL®\u0083\u0007ØÁqT×î_d¥\u001aD¦\u0002ÂI\u0005AWÜ\u0002Í_\\\u000eUûï\u0085\u0019ûã'ð±Q\u0016\u0092Å o\u0019Ñ\u0083\u0085õÄÛÂÖ¹?hÌ)yÇ\u000e\u0018«\u0093\u0086k;ÕÛ\u0089\u0099U*\u000e;L\u0099ßXû\u0091\u008bíÁ\u0082º5à\u0003Á´±\rÒD¨î$ÿý38r«R!\u0098^Ú°ü\r\u000b\u0014[j¡\u0092\u0085\u008ey\u0002\u0001\u0003£\u0081Ù0\u0081Ö0\u001d\u0006\u0003U\u001d\u000e\u0004\u0016\u0004\u0014Ç}\u008cÂ!\u0017V%\u009a\u007fÓ\u0082ßkã\u0098ä×\u0086¥0\u0081¦\u0006\u0003U\u001d#\u0004\u0081\u009e0\u0081\u009b\u0080\u0014Ç}\u008cÂ!\u0017V%\u009a\u007fÓ\u0082ßkã\u0098ä×\u0086¥¡x¤v0t1\u000b0\t\u0006\u0003U\u0004\u0006\u0013\u0002US1\u00130\u0011\u0006\u0003U\u0004\b\u0013\nCalifornia1\u00160\u0014\u0006\u0003U\u0004\u0007\u0013\rMountain View1\u00140\u0012\u0006\u0003U\u0004\n\u0013\u000bGoogle Inc.1\u00100\u000e\u0006\u0003U\u0004\u000b\u0013\u0007Android1\u00100\u000e\u0006\u0003U\u0004\u0003\u0013\u0007Android\u0082\t\u0000Âà\u0087FdJ0\u008d0\f\u0006\u0003U\u001d\u0013\u0004\u00050\u0003\u0001\u0001ÿ0\r\u0006\t*\u0086H\u0086÷\r\u0001\u0001\u0004\u0005\u0000\u0003\u0082\u0001\u0001\u0000mÒRÎï\u00850,6\nªÎ\u0093\u009bÏòÌ©\u0004»]z\u0016aø®F²\u0099B\u0004ÐÿJhÇí\u001aS\u001eÄYZb<æ\u0007c±g)zzãW\u0012Ä\u0007ò\bðË\u0010\u0094)\u0012M{\u0010b\u0019À\u0084Ê>³ù\u00ad_¸qï\u0092&\u009a\u008bâ\u008bñmDÈÙ \u008el²ð\u0005»?âË\u0096D~\u0086\u008es\u0010v\u00adE³?`\tê\u0019Áaæ&Aª\u0099'\u001dýR(ÅÅ\u0087\u0087]Û\u007fE'XÖaöÌ\fÌ·5.BLÄ6\\R52÷2Q7Y<JãAôÛAíÚ\r\u000b\u0010q§Ä@ðþ\u009e \u001c¶'ÊgCiÐ\u0084½/Ù\u0011ÿ\u0006Í¿,ú\u0010Ü\u000f\u0089:ãWb\u0091\u0090HÇïÆLqD\u0017\u0083B÷\u0005\u0081ÉÞW:õ[9\r×ý¹A\u00861\u0089]_u\u009f0\u0011&\u0087ÿb\u0014\u0010Ài0\u008a");
   }
}

As you can see, both of those classes contain some kind of key. Might this be a unicode-encoded RSA public key? If so, it should be relatively easy to find those strings in decompiled apks and replace them by the microG public key, right? Am I missing out on anything?

I just had another look. Pretty sure those are actually RSA public keys. I am not 100% sure about the encoding yet (seems to be a weird mixture of plaintext, unicode characters, but then some special chars like tab are encoded as \t), but I am pretty sure I can figure it out. Will try to get something working over the weekend :)


⚠ ClamAV has degraded performance

In 9920616, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 82 ms

Resolved: ClamAV performance has improved in 58e61aa.


Don't execute older Continuations on older Actor instance after the actor is recreated.

Description
Before this change, a ReenterAfter(Task.Delay(5000), () => SaveInternalStateToDB()); line followed immediately by a Restart by the supervisor, that SaveInternalStateToDB() would execute on the previous Actor instance, as a result saving the old state into DB.
With this change each Continuation stores the Actor instance it was created for, if it is different when the Continuation message is received, it simply ignores it and logs this.
I would overall consider this a critical bug, given that, in production scenarios, it could cause issues that would be very very hard to debug.
Purpose
This pull request is a:

[x] Bugfix (non-breaking change which fixes an issue)

Checklist

[x] I have added tests that prove my fix is effective or that my feature works

Very nice catch!


Color.r8 treated as float by binary And operator

Operating system or device - Godot version:
Official 2.0.3stable Win64
Windows 8.1
Issue description (what happened, and what was expected):
According to the documentation, Color.r8 .g8 and .b8 are int.
It should be thus possible to make binary operations with them, but the debugger says that :
invalid operands 'float' and 'int' in operator '&'
Steps to reproduce:
Run the code below.
Link to minimal example project (optional but very welcome):
var c = Color(250,150,100)
var x = c.r8 & 0xF0

as a workaround try:
var c = Color(250,150,100)
var x = int(c.r8) & 0xF0

By the way, sadly you can't actually use that constructor.
Color(r,g,b) takes float parameters, so:
var c = Color(100, 0, 0)
print(c.r8)

Prints 25500, which is all wrong.
I guess the constructor should either throw some errors or automatically switch ro rgb8 mode when it recieves value greater than 1. But that's a topic for another issue.

There's Color8 for that.

@akien-mga It should, since some people want to make "glowing" colors that exceed white.


Also trigger Dev rebuild on tag push

Signed-off-by: David Cassany<EMAIL_ADDRESS>

This is another one like https://github.com/rancher/elemental/pull/523


Addition to GooglePay.md

I would change this myself but I'm not able to contribute to the codebase.
In the Google Pay setup documentation can you add a link to the following set up guide? I was running into issues where isGooglePaySupported() would always return false and it was because I didn't have the setup described in that link completed.
I think it will make future devs lives easier with it added.

done in https://github.com/stripe/stripe-react-native/commit/730d850d0d25e0df9e1d4e67d89333836560d3f2, thanks for making an issue for this!


Parallel access to Microsoft.Keyvaults

Is your feature request related to a problem? Please describe.
In a bicep file that in parallel creates modules that in parallel set keyvault secrets we hit this runtime problem:
{
    "status": "Failed",
    "error": {
        "code": "ConflictError",
        "message": "A conflict occurred that prevented the operation from completing. The operation failed because the Microsoft.KeyVault.UnifiedStorage.Core.DomainModel.ResourceId 'Key Vault' changed from the point the operation began. This can happen if parallel operations are being performed on the Microsoft.KeyVault.UnifiedStorage.Core.DomainModel.ResourceId. To prevent this error, serialize the operations so that only one operation is performed on the Microsoft.KeyVault.UnifiedStorage.Core.DomainModel.ResourceId at a time. Follow this link for more information: https://go.microsoft.com/fwlink/?linkid=2147741"
    }
}

Describe the solution you'd like
Is there a way to detect this in Bicep and signal a potential issue? Should @batchSize(1) be suggested in such cases?

I have noticed that this is an issue as well. I have tried the decorator of @batchSize(1) and I still get the error. I even tried just one keyvault secret being fed into the resource and still get back that the keyvault has changed since the start of the operation. sample batch size example:
@description('Resource name for key vault')
param resourceName string
@description('Name of the CosmosDb account')
param cosmosDbAccountName string
@description('array of secrets tha has a SecretDisplayName, SecretName, and SecretValue')
param SecretsList array
var SecretsList: [
{
SecretDisplayName: 'CosmosDb Primary Key'
SecretName: 'CosmosDbAuthSettings--PrimaryKey'
SecretValue: '${listKeys(resourceId('Microsoft.DocumentDB/databaseAccounts', cosmosDbAccountName), '2015-04-08').primaryMasterKey}'
}
]
@batchSize(1)
resource keyvaultSecret 'Microsoft.KeyVault/vaults/secrets@2019-09-01' = [for Secret in SecretsList: {
tags: {
displayName: Secret.SecretDisplayName
}
name: '${resourceName}/${Secret.SecretName}'
properties: {
contentType: 'text/plain'
attributes: {
enabled: true
}
value: Secret.SecretValue
}
}]
Thinking it might be a listkeys operation issue, i tried static text values, still no dice.
Seeing this with just the one secret being added it seems like the resource was in an unhealthy state. I deleted the key vault and redeployed the parent key vault resource and it all worked fine. So this could just be that the actual key vault its self was not in a healthy state.
Long story short, it might not be a parallelism issue, since this seems to work ok for me in a for loop but rather a bad instance of the key vault.

I can confirm what @darrsull wrote.
This issue hit me today. while investigating, I ended up having a loop with just 1 secret a also @batchSize(1) abd I still got this error. When I deleted the key vault and created it from scratch, everything started to work. In this case it works as expected even when I remove @batchSize(1) and have multiple secrets in loop. So the secrets may be really created in parallel.
Just to note, when I had more secrets in a loop, each of them has unique name, so there cannot be conflict with accessing the same secret.

I think I got it. This conflict error strikes when there is a deleted secret with the same name. You do not need to delete whole key vault, just purge deleted secrets (and wait approximately 10 minutes, because purge is not immediate). Than everything works.
But this kind of error message is a bit misleading. The better would be something that will tel me that there exists deleted secret with the same name.
Is there a way how to handle this situation in Bicep? It would be great if Bicep was able to handle this kind of conflict. For me the best way is, if there is deleted secret, recover it first and then set the new value. And it is the same with deleted whole key vault – something like recover-or-create command.

I am trying to deploy azure key-vault  using ARM json template.
facing below error
ConflictError:
The operation failed because the Microsoft.KeyVault.UnifiedStorage.Core.DomainModel.ResourceId 'Key Vault' changed from the point the operation began. This can happen if parallel operations are being performed on the Microsoft.KeyVault.UnifiedStorage.Core.DomainModel.ResourceId. To prevent this error, serialize the operations so that only one operation is performed on the Microsoft.KeyVault.UnifiedStorage.Core.DomainModel.ResourceId at a time. Follow this link for more information: https://go.microsoft.com/fwlink/?linkid=2147741
please  help me on this error

I think I got it. This conflict error strikes when there is a deleted secret with the same name. You do not need to delete whole key vault, just purge deleted secrets (and wait approximately 10 minutes, because purge is not immediate). Than everything works.
But this kind of error message is a bit misleading. The better would be something that will tel me that there exists deleted secret with the same name.
Is there a way how to handle this situation in Bicep? It would be great if Bicep was able to handle this kind of conflict. For me the best way is, if there is deleted secret, recover it first and then set the new value. And it is the same with deleted whole key vault – something like recover-or-create command.

This helped. Thanks.

Related to #4364


Support linking to other .md documents

If you try to do this: [link text](path/to/other/document.md), currently that generates a link that fails (because in the final site, document.md will have been converted into document.html by that time). It would be nice of a target .md link was detected and converted into a URL automatically.
Note that this is supported in GitHub pages - you can target an md document and the link will get automatically converted to an html url.
There are two reasons we should support this feature, besides the fact that GH is doing it...

Kobweb markdown allows route overrides (see README), so it would be pretty cool to link to an md file knowing that whatever final URL it resolves to will be handled automatically.(*)

When navigating markdown files in GitHub, it can follow links to other markdown files in the same project.

(*) Example of routeOverride:
# TargetPage.md
---
routeOverride: target-page
---

# SourcePage.md

Link to [target page][TargetPage.md]

should generate final Kotlin code that looks like
Text("Link to ")
Link("target-page", "target page")

[!NOTE]
I set this bug to "good first issue" because it's relatively self contained, but there is a chance that the devil is in the details with solving the routeOverride stuff, so it may be harder than I'm expecting.

(This feature actually went out in 0.14.1)


GitHub Branding

https://github.com/logos
Please don’t do these things
❌ Use the Octocat or GitHub logo for your application’s icon
❌ Create a modified version of the Octocat or GitHub logo
❌ Integrate the Octocat or GitHub logo into your logo
❌ Use any GitHub artwork without permission
❌ Sell any GitHub artwork without permission
❌ Change the colors, dimensions or add your own text/images
@github

Resolved.


protect bpf.PerfEvent.Read from infinite loop

Infinite loop in Read can be caused by state->begin pointer in
perf_event_read getting ahead of state->end pointer.
Condition is changed to make sure that this situation is handled not by
reading further data from perf buffer.
Fixes: #5826

This change is

test-me-please

test-me-please

This looks like it needs backport all the way back to 1.0. Thoughts?

seems like @borkmann  was right, my fix would cause us to lose some perf events that wrap around ring buffer.
Since we don't know what is the underlying cause of the bug, it seems that the sensible thing to do would be to put a timeout on the loop in PerfEvent.Read and log as much as we can when the timeout is hit. @tgraf are you OK with going that route?

test-me-please

@borkmann I went with 1s timeout, but I wonder if this will not be too much. I don't know the order of magnitude that proper read of perf event should take.

@borkmann I went with 1s timeout, but I wonder if this will not be too much. I don't know the order of magnitude that proper read of perf event should take.

Hmm, what if there's a flood of events that is legit? Should this be higher?

@borkmann can you re-review? currently corrupted perf event is skipped. @tgraf would this be enough instead of restarting whole Cilium pod?

Superseded by https://github.com/cilium/cilium/pull/5856


feat: Add boxed precompile trait

closes: #798
Box is over the trait that has a call function. Trait is sync/send so it can be stored inside OnceBox.
And DynClone is added so precompiles can be cloned.

@mattsse can you take a look? Is this going to work

v exciting. could we get an example of what a stateful precompile could look like?


Have I written a test or not?

When you click through cells while looking at the "CELLTESTS" box, you can't tell if you've actually written a test without expanding 'advanced tools' and looking at the 'cell metadata'. It's pretty confusing.

how do you feel about this minimal indicator?

It's great to have an indicator! And I can see what you've implemented will work for me. It's a definite improvement, so we should add this change (if it's not already in).
My other initial reactions, for future iterations:

Using color alone might be problematic in terms of people being able to distinguish the states.
It's probably not clear to a new user what's being indicated at all.

My first thought was some kind of tick and cross, but that doesn't make it any clearer what's being indicated. I'll re-start using celltests and think about it again!

This issue - and the points above - were fixed in 0.2.3 (colored indicator plus text).


BUG: Drop off level when Invincible from damage

If hit by a spike or enemy you are temporarily invincible.

The team has agreed to keep this in as a hidden achievement. The depth at the bottom will be increased to guard against exploits.


Enforce smart contract artifact generation in CI

Adds a way to generate contract artifacts locally and to flag stale artifacts in CI.
The intent is to provide a safety check defending against PyTeal source changes that inadvertently skip generating generated sources (TEAL approval + clear state programs and contract.json).
It's possible to imagine more enriched forms of the check implementation.  The PR's intent is to convey a good hygiene starting point for contract writers.

Here's a working example of make gen-check:

As of https://github.com/algorand-devrel/beaker/pull/97/commits/c1db5088b5d1bae4b16f8b2e67d77d8e6d15bddf, the committed generated artifacts are stale.  Consequently, the build fails:  https://github.com/algorand-devrel/beaker/actions/runs/3274446267/jobs/5387981866.
Artifacts are updated in the next commit (https://github.com/algorand-devrel/beaker/pull/97/commits/6011b717c627cc8f44a56f1ec5038aa536c4446f), and subsequently, the build passes:  https://github.com/algorand-devrel/beaker/actions/runs/3274464326/jobs/5388024605.


Update README.md

fix typos

@mburleigh - thanks for fixing that. Hope you found this library useful.
PS. I have a new version of this library for .NET Core - see https://github.com/JonPSmith/EfCore.GenericServices


gherkin/perl: Update perl implementation

Summary
This PR updates the Gherkin Perl implementation to Gherkin v7 by updating the generated Perl modules and adjusting the hand-coded modules accordingly.
Details
Because since the last time the Perl implementation was updated, Scenario and Scenario Outline have semantically been merged, code changes were required to adapt the hand-crafted code (the token matcher) to behave the same way.
Motivation and Context
Ideally, Perl's Cucumber implementation (Test::BDD::Cucumber -- of which I'm the primary maintainer) moves to using the official Cucumber parser (based on the Berp grammar). However, in its current state, that's impossible because this implementation is too far behind on Gherkin releases.
How Has This Been Tested?
There currently are hardly any tests for this implementation. I wrote a test locally to test this change against the testdata/good/ body of test scenarios. Obviously a number of additional tests need to be developed to introduce sufficient assurance for this implementation. I was planning to do that in a separate PR: it's impossible to build passing tests for the code as it is on master now (using the testdata/ body of tests).
Building a body of tests however is independent of this change: this change is about updating the implementation, not about building an extensive test suite.
Let me know if adding the creation of a test suite should be included into this PR.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

No idea; it's an update to the implementation...
Checklist:

[ ] The change has been ported to Java.
[ ] The change has been ported to Ruby.
[ ] The change has been ported to JavaScript.
[ ] The change has been ported to Go.
[ ] The change has been ported to .NET.
[ ] I've added tests for my code.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

None of the above apply: It's an update to the existing Perl implementation (no updates/ports required). No documentation needs to be added (beyond the obvious lack of documentation of the module in general). No additional tests are required beyond what should have been in place (but already isn't).
Let me know how to proceed!

Hi @ehuelsmann - thanks for tasking the time to update this!
There is a common acceptance test suite, which is based on make, diff and a bunch of "golden master" expected results.
In order to verify that the Perl implementation passes those tests, they have to be re-enabled in gherkin/Makefile.
Could you do that please?
Cheers,
Aslak

@aslakhellesoy sure! No problem.
However, running the tests manually, I'm having a UTF-8 encoding issue:
--- testdata/good/escaped_pipes.feature.tokens	2019-08-29 12:31:40.522288882 +0200
+++ acceptance/testdata/good/escaped_pipes.feature.tokens	2019-09-01 22:44:59.348372922 +0200
@@ -4,11 +4,11 @@
 (4:1)Other://
 (5:3)ScenarioLine:Scenario/They are the future/
 (6:5)StepLine:Given /they have arrived/
-(7:7)TableRow://9:æ,13:o
-(8:7)TableRow://9:a,13:ø
+(7:7)TableRow://9:�,13:o
+(8:7)TableRow://9:a,13:�
 (9:5)StepLine:Given /they have arrived/
-(10:7)TableRow://9:|æ\n,22:\o
+(10:7)TableRow://9:|�\n,22:\o
 o\
-(11:7)TableRow://9:\|a\\n,22:ø\
-ø\
+(11:7)TableRow://9:\|a\\n,22:�\
+�\
 EOF

Any hints on how to solve this?

Actually, I found the solution. I needed to make sure gherkin-generate-tokens return UTF-8 its STDOUT.

If you're ok with it, I'll enable Perl in the central makefile once I have all tests fixed locally. I'm right now ready to push fixed ASTs. This PR already has the tokens.
However, there's a bit of work to be done on the pickles.

Sure, sounds good to me, but don't worry if the PR build is failing. We won't merge to master until it's all green anyway.
I usually recommend draft PRs for bigger chunks of work like this one.

Another thing that will need updating is the build scripts so that the core team will be able to publish Perl releases. The release process had changed quite a bit in the past few months. You can find more information about this in https://github.com/cucumber/cucumber/blob/master/RELEASE_PROCESS.md
We use a cukebot "robot" account with the various package managers, so we'd have to set one up on CPAN or Pause or whatever it is, and also get publish access to the existing one: https://metacpan.org/pod/Gherkin

I usually recommend draft PRs for bigger chunks of work like this one.

Actually, I had in mind to do this in smaller steps. However, with the smaller steps, it's tough to show you it's a step in the right direction, because the tests still fail. That's when it kind-of happened that I continued to implement the rest of the required changes in this single PR. There's a number of commits to monitor what I've actually done, for those interested.

We use a cukebot "robot" account with the various package managers, so we'd have to set one up on CPAN or Pause or whatever it is, and also get publish access to the existing one: https://metacpan.org/pod/Gherkin

No problem. I'm in contact with Peter (although he's extremely busy these days). I'll get the correct access rights assigned and set up once I fix the rest of the tests.

@aslakhellesoy I think I have resolved most issues, but I can't get the tests to succeed because of 1 thing: I know the pickle->id value is a sha1sum over something (I got that from the C sources); however:
diff --unified <(jq "." testdata/good/docstrings.feature.pickles.ndjson) <(jq "." acceptance/testdata/good/docstrings.feature.pickles.ndjson)
--- /dev/fd/63	2019-09-02 00:27:53.635257411 +0200
+++ /dev/fd/62	2019-09-02 00:27:53.635257411 +0200
@@ -1,6 +1,6 @@
 {
   "pickle": {
-    "id": "7f6957a28baf5ecf2af10c7ebcbb2febb1719be4",
+    "id": "8d5a672f16eb3f03761a6c13d17a5dcd068eb189",
     "language": "en",
     "locations": [
       {

but:
$ sha1sum testdata/good/docstrings.feature
8d5a672f16eb3f03761a6c13d17a5dcd068eb189  testdata/good/docstrings.feature
$ sha1sum -b testdata/good/docstrings.feature
8d5a672f16eb3f03761a6c13d17a5dcd068eb189 *testdata/good/docstrings.feature

Concluding: I'm getting the exact same sha1 from sha1sum as from the latest state of my source code. However, that's not the expected sha1sum...
Could you please tell me what it is that's the source for the sha1? Thanks!

Hmm, actually, I have a bit more work on the pickles, but that should all be "just work". For the pickle IDs, I lack information. (But maybe I missed the docs?)

@aslakhellesoy This PR now has complete compliance with your test suite (token, ast and pickles) except for the pickle id field...

The build currently fails because cpanm fails from the build image. It's Perl's de-facto dependency installer. Could you install that on the images? (I'd rather not include commands in the Makefile to do it, because it doesn't apply outside the build environment...)

I had a once-over and noticed gherkin/perl doesn't use protocol buffers. Does that mean it can only emit messages as JSON (as required by the tests), but not binary protobuf?
How hard would it be to use https://metacpan.org/pod/Google::ProtocolBuffers?
I wonder if we should start using .proto.bin instead of .ndjson. The only benefit I see with .ndjson is that the diff is human-readable. We could print the ndjson diff when the binary diff fails.
WDYT?

@aslakhellesoy The reason the current implementation doesn't output protobuf is because it wasn't there before and I wasn't aware that other implementations did. I don't have a problem supporting protobuf output. In fact, I immediately checked whether Google::ProtocolBuffers can work with Cucumber's messages.proto tonight. Unfortunately, it doesn't understand the input.
What about we use this PR to update what's currently there to be 7.0.x compliant and I create separate PRs for what should be there? In order to create those PRs, I have studied several other implementations, which raised the following questions:

does an implementation need bin/gherkin-generate-* or bin/gherkin (with --with-ast/--no-ast etc options)?
does an implementation need to generate protobuf output? (or is JSON the minimum requirement?)
does an implementation need other formatters than protobuf or JSON?

Maybe the underlying question is: which language subdirectory should I be looking at to see a normative language implementation?

I wonder if we should start using .proto.bin instead of .ndjson. The only benefit I see with .ndjson is that the diff is human-readable. We could print the ndjson diff when the binary diff fails.
WDYT?

In general, I think this is a very good idea, assuming that ProtoBuf output is the norm these days. It'll help bring that requirement to the attention of authors of various language implementations.

Just finished checking https://metacpan.org/pod/Google::ProtocolBuffers::Dynamic ; however, that doesn't support the protobuf well known types, which messages.proto does use (Timestamp). So that's not a short term solution either.

That Timestamp type has caused nothing but headaches! Just look at the hack I had to add to the Dockerfile.
I think we'd be fine if we changed all timestamp fields to use int64 - see https://stackoverflow.com/questions/3574716/date-and-time-type-for-use-with-protobuf#3627777
Would that simplify the use of https://metacpan.org/pod/Google::ProtocolBuffers::Dynamic @ehuelsmann?

It'll help bring that requirement to the attention of authors of various language implementations.

Exactly my thought - I realised it must not have been apparent to you at all that we were using protobuf.

Yes, that works. However, what also works is adding
message Timestamp {
  int64 seconds = 1;
  int32 nanos = 2;
}

to the end of the messages.proto file and removing the timestamp include.
Basically, this is the definition of that type; depending on some external source (causing problems at that) for these 4 lines seems... unnecessary.

We use a cukebot "robot" account with the various package managers, so we'd have to set one up on CPAN or Pause or whatever it is, and also get publish access to the existing one: https://metacpan.org/pod/Gherkin

After I contacted @pjlsergeant about the access rights, it turns out the primary rights are on the account HELLESOY , presumably the same person as @aslakhellesoy  :-) Could you revive the account and provide me upload rights to at least upload the updated version in its current version (which is already a lot better than what's there); further updates can then be uploaded when we succeed to add the protobufs and maybe other improvements (tag expressions, cucumber expressions, etc)

(If you need help getting upload rights, we could set up a slack chat or a phone call)

I have requested a new account for cukebot at https://pause.perl.org/pause/query?ACTION=request_id.
The credentials for this account will be in 1Password once it's approved. To get access to that, please create a free 1Password account and send me your email address in a private message in Slack, @ehuelsmann.

I'm closing this PR in favour of #711. It has all your commits and some additional CI-related ones from me. Let's continue over there.


Using / for division is deprecated

I am using the version 3.0.0 but I could still see the deprecation issue as:
DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.

Recommendation: math.div($value, $rem-baseline)

More info and automated migrator: https://sass-lang.com/d/slash-div

   ╷
35 │       $result: append($result, $value / $rem-baseline * 1rem, $separator);
   │                                ^^^^^^^^^^^^^^^^^^^^^^
   ╵
<EMAIL_ADDRESS>35:32  rem-convert()
<EMAIL_ADDRESS>53:13  rem()
<EMAIL_ADDRESS>6:31              @import
    stdin 1:9                                                          root stylesheet

Are you certain you're using 3.0 ? Could you look at<EMAIL_ADDRESS>?


Performance regression in isPlainObject utility

🐛 Bug Report
The changes to  isPlainObject introduced in #767 added a more comprehensive check that worked for objects across iframes which relies on Function.toString:
	const Ctor =
		Object.hasOwnProperty.call(proto, "constructor") && proto.constructor
	return (
		typeof Ctor == "function" &&
		Function.toString.call(Ctor) === objectCtorString
	)

This more robust check is quite expensive for the common case where the object instance comes from the same frame and a simpler equality check would suffice.
I will submit a PR to remedy this.
Link to repro
N/A (Perf)
To Reproduce
N/A (Perf)
Observed behavior
In our app we invoke immer.applyPatches multiple times per second based on WebSocket events. The calls to Function.toString have a noticeable performance impact on our app.
Expected behavior
The utility method should not have a substantial impact on performance.
Environment
We only accept bug reports against the latest Immer version.

Immer version:
[X] I filed this report against the latest version of Immer
[ ] Occurs with setUseProxies(true)
[ ] Occurs with setUseProxies(false) (ES5 only)

:tada: This issue has been resolved in version 9.0.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Avoid running SQLAlchemy schema tests with Ingres dialect

When running the SQLAlchemy dialect compliance suite, quite a few tests would fail with some form of the following error:
sqlalchemy.exc.ProgrammingError: (pyodbc.ProgrammingError)
('42503', "[42503] [Actian][Actian II ODBC Driver][INGRES]
CREATE TABLE: You may not create an object owned by 'test_schema'. (328737) (SQLExecDirectW)")
[SQL:
CREATE TABLE test_schema.test_table (
    id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL,
    data VARCHAR(50),
    PRIMARY KEY (id) )

The reason for the error is that the affected tests attempt to create and drop tables owned under schemas different than the current user.
Ingres does not support this kind of operation except in rare instances where the current user has security administrator and operator privilege or who is the DBA of the database. The user must then use the SET SESSION AUTHORIZATION ... command to set the effective user for the current session.
Per discussion in 11366 and additional research in internal ticket II-14148, the setting supports_schemas = False will be added to the IngresDialect class to avoid execution of tests that use alternate schemas.
The file README.testsuite.md is being added to provide information on how to run the dialect compliance suite and also provide information about the issue of running tests that contain alternate schemas.
Testing
Ingres 11.2 (15807) on Windows 10 (client and server are same machine)
Python 3.10.7
mock 5.1.0
pluggy 1.5.0
psycopg2 2.9.9
pyodbc 5.1.0
pypyodbc 1.3.6
pytest 8.1.1
setuptools 69.5.1
SQLAlchemy 2.0.29.dev0
sqlalchemy-ingres 0.0.7.dev1
tox 4.14.2

Result
Baseline
Withsupports_schemas = False
Diff

Total Tests
1531
1531
-

Passed
336
473
+137

Failed
63
173
+110

Errors
798
30
-768

Skipped
334
855
+521

Run Time
17m 25s
42s
-16m 43s

I am suspicious about the huge jump in skipped tests when setting supports_schemas = False in the IngresDialect class.

Result
Withoutsupports_schemas = False
Withsupports_schemas = False
Diff

Skipped
334
855
+521

I think it will be important to run the suite with and without the setting and review the 521 tests that are affected to see they are indeed skipped due to the alternate schema issue and not some side effect.

@clach04 Thanks for your review. I added text from the PR to the new README and cleaned it up a bit, including your suggestions for making the quoted text distinct that is taken from the SQLAlchemy repository pages.
Please let me know of additional suggestions. Thanks.

Focusing solely on the tests in dialect compliance suite class ComponentReflectionTest:
Without the flag supports_schemas = False in the IngresDialect class, all reflection tests fail with this error (e.g. involving tables): [INGRES]CREATE TABLE: You may not create an object owned by 'test_schema'. Conversely, with the flag present in the IngresDialect class, the majority of the tests are skipped, yet many tests now fall into the PASS and FAIL categories.
Results of running ComponentReflectionTest class

IngresDialect classcontains flagsupports_schemas = False
PASSED
FAILED
ERROR
SKIPPED
TOTAL

No
0
0
732
0
732

Yes
131
104
0
497
732


Git clone is failing if a rebase or change in history has occurred.

The following script: https://github.com/Islandora-Devops/isle-buildkit/blob/main/base/rootfs/usr/local/bin/git-clone-cached.sh doesn't handle if the repository has been cloned before but a rebase or change in history has occured. If it fails to fetch the commit requested of it, it should deleted it's local cache of the repository and attempt a fresh clone.

Fixed in this commit: https://github.com/Islandora-Devops/isle-buildkit/commit/88d1164f5c7a9ed375d6992d43cdbfc532b7eb2d


[NEW ALGORITHM] : Tag Sort Algorithm

Issue will be closed if:

You mention more than one algorithm. You can create a separate issue for each algorithm once the current one is completed.
You propose an algorithm that is already present or has been mentioned in a previous issue.
You create a new issue without completing your previous issue.

Note: These actions will be taken seriously. Failure to follow the guidelines may result in the immediate closure of your issue.

Name:
TAG SORT ALGORITHM
About:
Tag sort is a sorting algorithm that keeps track of the original indices of elements while sorting. This allows the sorted array to be mapped back to the original array

Labels:
new algorithm, gssoc-ext, hacktoberfest, level1

Assignees:

[x] Contributor in GSSoC-ext
[x] Want to work on it

@bhaviya18 assigned


Black Screen when try to open a new instance with a workspace

Issue Type: Bug
Since about a month ago, it started to happen that once I have a first instance of Azure Data Studio working with a WorkSpace, if I try to open a second instance with another workspace, it opens a black screen that never ends. It always has to be closed because it does not work.
However, if it opens as a directory it works fine.
Azure Data Studio version: azuredatastudio 1.40.1 (3a32679ab590c1023ab4de6f191769e7e127d25b, 2022-11-22T18:30:25.850Z)
OS version: Windows_NT x64 10.0.22621
Restricted Mode: No
Preview Features: Enabled

System Info

Item
Value

CPUs
11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz (8 x 2419)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
19.78GB (7.82GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (18)

Extension
Author (truncated)
Version

sql-server-diagnostic-book
ema
0.2.0

admin-pack
Mic
0.0.2

agent
Mic
0.49.0

cms
Mic
0.9.2

dacpac
Mic
1.11.0

import
Mic
1.5.4

powershell
ms-
2022.7.2

profiler
Mic
0.11.0

query-history
Mic
0.5.3

schema-compare
Mic
1.17.0

sql-database-projects
Mic
0.20.0

extra-sql-script-as
pac
0.4.1

sqlops-spexecutesql-to-sql
pej
1.0.1

schema-visualization
R0t
0.7.1

sql-prompt
Red
0.2.11

simple-data-scripter
sea
0.1.6

vscodeintellicode
Vis
1.2.1

poor-sql-formatter
WSR
0.1.0

(3 theme extensions excluded)

Thanks for the answer.
No, when I means a black screen, is that the ADS opens with out any buttons, menus o anything.
The only thing to do is to close it.
I don’t know much about it. But looks to me have something to do with the trusted directories.
But I don’t know to admin those.
The screen is this:
@.***
I don’t see any notification or text to have a clue about.
Enviado desde Correohttps://go.microsoft.com/fwlink/?LinkId=550986 para Windows
De: Kim @.>
Enviado: miércoles, 14 de diciembre de 2022 4:31 p. m.
Para: @.>
CC: @.>; @.>
Asunto: Re: [microsoft/azuredatastudio] Black Screen when try to open a new instance with a workspace (Issue #21415)
If you open up the Developer Tools in the ADS instance with a black screen, are there any errors in the console?
—
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fazuredatastudio%2Fissues%2F21415%23issuecomment-1352233177&data=05|01||83e3167464a64a04a38b08dade1a96bf|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638066503027806141|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=odWxPWnZdsNgzSFgA1LDCBhsapJRzf0pcxAe6qZcVxw%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FASSUMJOKFFV6RZ4ICSVPUJLWNI4DXANCNFSM6AAAAAAS6VQZ3I&data=05|01||83e3167464a64a04a38b08dade1a96bf|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638066503027806141|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=77Gsqml1CRqllKCSdMYXxNrQFGKfAvj2nMRdzqftzCc%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>

Have there been any updates to this?

The only way I could work in my machine, was to discover that when I open the workspace directly from the explorer it Works.
@.***
Enviado desde Correohttps://go.microsoft.com/fwlink/?LinkId=550986 para Windows
De: @.>
Enviado: jueves, 2 de marzo de 2023 11:50 a. m.
Para: @.>
CC: @.>; @.>
Asunto: Re: [microsoft/azuredatastudio] Black Screen when try to open a new instance with a workspace (Issue #21415)
Have there been any updates to this?
[image]https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F26486167%2F222496418-57f64188-cac6-48be-8a4a-06ea65bdba37.png&data=05|01||1194582652924f3e2e5b08db1b3e2a9c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638133726043125257|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=pig6Y8O4TtjKH5q4NqhkMMSCIHwrF%2BQDS0gU5dJropE%3D&reserved=0
—
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fazuredatastudio%2Fissues%2F21415%23issuecomment-1452191312&data=05|01||1194582652924f3e2e5b08db1b3e2a9c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638133726043125257|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=pO1LXjtJPlT6MeGQEuIkr3YcZN%2BLPCy9qoKfQNczOWY%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FASSUMJPPOXFXFHMHXPFGEYLW2DFTTANCNFSM6AAAAAAS6VQZ3I&data=05|01||1194582652924f3e2e5b08db1b3e2a9c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|638133726043125257|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=rfmQydTcEkAsA%2FBuv8mCOeV9H2hGUiONBXMRxYeRkxw%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>


Mistral vocab

Great package! Thank you for bundling all these vocabs. Could you please also add Mistral?

Hello, thank you for your feedback.
I'm glad to hear you like this library. In fact, the @lenml/llama2-tokenizer-vocab-llama2 package is already compatible with the Mistral vocabulary. So you just need to install and use this package to tokenize for Mistral.
As you can see in the compatibility table:
| Library Name                           | Description                               | Compatibility                                        |
|---------------------------------------|-------------------------------------------|-------------------------------------------------------|
| @lenml/llama2-tokenizer-vocab-llama2 | Vocabulary for llama2                    | mistral, zephyr, vicuna, llama2                       |

So no need to add a separate vocab package for Mistral. The existing vocab-llama2 package supports it out of the box.


Cassandra error from kong.core.cluster

I've been seeing these errors coming out of Nginx:
(Edited for clarity. Removed misleading log INFO entry.)
2016/02/08 22:46:39 [notice] 91#0: signal 17 (SIGCHLD) received
2016/02/08 22:46:39 [notice] 91#0: unknown process 1476 exited with code 0
2016/02/08 22:46:39 [error] 91#0: [lua] cluster.lua:84: Cassandra error: <IP_ADDRESS>, context: ngx.timer

This seems to indicate that the calls from Kong.init_worker() are missing the global configuration set in Kong.init().
So, I tried adding the global configuration to init_worker(), and now I see a much more descriptive error:
2016/02/08 22:45:57 [notice] 62#0: start worker process 88
2016/02/08 22:45:57 [info] 89#0: [lua] log.lua:22: info(): Refreshing local and peers info, context: init_worker_by_lua*
2016/02/08 22:45:57 [error] 88#0: init_worker_by_lua error: /app/.heroku/lualib/resty/lock.lua:153: API disabled in the context of init_worker_by_lua*
stack traceback:
 [C]: in function 'sleep'
 /app/.heroku/lualib/resty/lock.lua:153: in function 'lock'
 /app/.heroku/share/lua/5.1/cassandra.lua:51: in function 'lock_mutex'
 /app/.heroku/share/lua/5.1/cassandra.lua:1104: in function 'refresh_hosts'
 /app/.heroku/share/lua/5.1/cassandra.lua:1216: in function 'spawn_cluster'
 /app/.heroku/share/lua/5.1/kong/dao/cassandra/factory.lua:38: in function 'new'
2016/02/08 22:45:57 [error] 89#0: init_worker_by_lua error: /app/.heroku/share/lua/5.1/cassandra.lua:109: API disabled in the context of init_worker_by_lua*
stack traceback:
 [C]: in function 'tcp_sock'
 /app/.heroku/share/lua/5.1/classic.lua:63: in function 'load'
 /app/.heroku/share/lua/5.1/kong.lua:161: in function 'init_worker'
 init_worker_by_lua:1: in main chunk
 /app/.heroku/share/lua/5.1/cassandra.lua:109: in function 'new_socket'
 /app/.heroku/share/lua/5.1/cassandra.lua:261: in function 'connect'
 /app/.heroku/share/lua/5.1/cassandra.lua:509: in function 'get_first_coordinator'
 /app/.heroku/share/lua/5.1/cassandra.lua:1118: in function 'refresh_hosts'
 /app/.heroku/share/lua/5.1/cassandra.lua:1216: in function 'spawn_cluster'
 /app/.heroku/share/lua/5.1/kong/dao/cassandra/factory.lua:38: in function 'new'
 /app/.heroku/share/lua/5.1/classic.lua:63: in function 'load'
 /app/.heroku/share/lua/5.1/kong.lua:161: in function 'init_worker'
 init_worker_by_lua:1: in main chunk

A few preliminary conclusions:

Confusion arises from kong.core.cluster relying on globals configuration & dao
It seems sleep & tcp_sock are not allowed in init_worker_by_lua*

As @thibaultCha & @thefosk know, I'm operating Kong on an experimental fork using an external supervisor #928, so this issue may be self-inflicted or a canary indicator of a latent issue.

BTW, I see the same error when running using Kong's internal process manager, via kong start -c $KONG_CONF:
2016/02/08 23:52:13 [notice] 91#0: signal 17 (SIGCHLD) received
2016/02/08 23:52:13 [notice] 91#0: unknown process 241 exited with code 0
2016/02/08 23:52:13 [error] 91#0: [lua] cluster.lua:84: Cassandra error: <IP_ADDRESS>, context: ngx.timer

…and these errors from a different function in cluster.lua:
2016/02/08 23:57:21 [error] 158#0: [lua] cluster.lua:40: Cassandra error: <IP_ADDRESS>:9042, context: ngx.timer
2016/02/08 23:57:24 [error] 158#0: [lua] cluster.lua:40: Cassandra error: <IP_ADDRESS>, context: ngx.timer
2016/02/08 23:57:27 [error] 158#0: [lua] cluster.lua:40: Cassandra error: <IP_ADDRESS>, context: ngx.timer

Hi @mars,
The first logs you are seeing is not an error but in info (the authentication logs).
The second logs is weird, lua-cassandra should print nicer error messages than this.

So, I tried adding the global configuration to init_worker(), and now I see a much more descriptive error:

Globals initialized in the init_by_lua phase should also be available in init_worker_by_lua, so that shouldn't be necessary.
Otherwise, I believe lua-cassandra was never intended to be used inside of init_worker_by_lua (except for the cluster initialization step) and I was not aware that clustering used it. lua-cassandra would have to be updated for this but that is unrelated to Kong itself.

Hi @thibaultCha! Thanks for taking time to look into this,
I do see lots of log entries like [error] 91#0: [lua] cluster.lua:84: Cassandra error when running Mashape/kong 0.6.1. This is not something unique to my fork. Can anyone corroborate these errors from their own {nginx_working}/logs/error.log.

Globals initialized in the init_by_lua phase should also be available in init_worker_by_lua

init_worker_by_lua is run in each child/worker process of Nginx. That means this is interprocess sharing of globals :fearful:
So, I've been trying to diagnose further by exposing configuration & dao as top-level module locals or creating them again in Kong.init_worker(), but these reveal other errors like a nil conf in kong.tools.cluster.get_node_name() and API disabled in the context of init_worker_by_lua*.

init_worker_by_lua is run in each child/worker process of Nginx. That means this is interprocess sharing of globals

That is correct. This is one thing that extremely annoys/disgusts me too. Big, long-term plans are to refactor this as well as the plugin definition. We have brainstormed over a few ideas to make plugins more robust and most of all to not depend on upvalues such as the Kong ones or ngx

In another experiment, I just converted the Kong codebase from those global configuration & dao variables to reference a "singletons" module containing those values.
With that in place, I still see the same Cassandra error appear in the error log :dizzy_face:

Here's a branch to demo defining configuration & dao globals for each Nginx process (in init_by_lua & init_worker_by_lua.)
On that branch, when running busted spec/integration/cluster/cluster_spec.lua, the Nginx error.log shows these errors (like quoted above):
2016/02/10 10:15:56 [info] 48259#0: [lua] log.lua:22: info(): Refreshing local and peers info, context: init_worker_by_lua*
2016/02/10 10:15:56 [error] 48259#0: init_worker_by_lua error: /usr/local/share/lua/5.1/cassandra.lua:109: API disabled in the context of init_worker_by_lua*
stack traceback:
	[C]: in function 'tcp_sock'
	/usr/local/share/lua/5.1/cassandra.lua:109: in function 'new_socket'
	/usr/local/share/lua/5.1/cassandra.lua:261: in function 'connect'
	/usr/local/share/lua/5.1/cassandra.lua:509: in function 'get_first_coordinator'
	/usr/local/share/lua/5.1/cassandra.lua:1118: in function 'refresh_hosts'
	/usr/local/share/lua/5.1/cassandra.lua:1216: in function 'spawn_cluster'
	./kong/dao/cassandra/factory.lua:38: in function 'new'
	/usr/local/share/lua/5.1/classic.lua:63: in function 'load'
	./kong/kong.lua:112: in function 'define_globals'
	./kong/kong.lua:154: in function 'init_worker'
	init_worker_by_lua:1: in main chunk
2016/02/10 10:15:56 [error] 48260#0: init_worker_by_lua error: /usr/local/openresty/lualib/resty/lock.lua:153: API disabled in the context of init_worker_by_lua*
stack traceback:
	[C]: in function 'sleep'
	/usr/local/openresty/lualib/resty/lock.lua:153: in function 'lock'
	/usr/local/share/lua/5.1/cassandra.lua:51: in function 'lock_mutex'
	/usr/local/share/lua/5.1/cassandra.lua:1104: in function 'refresh_hosts'
	/usr/local/share/lua/5.1/cassandra.lua:1216: in function 'spawn_cluster'
	./kong/dao/cassandra/factory.lua:38: in function 'new'
	/usr/local/share/lua/5.1/classic.lua:63: in function 'load'
	./kong/kong.lua:112: in function 'define_globals'
	./kong/kong.lua:154: in function 'init_worker'
	init_worker_by_lua:1: in main chunk

Reading the docs for ngx.sleep & ngx.socket.tcp, it's clear that this code shouldn't ever be working in this context init_worker_by_lua.
Co-sockets are not supported in these contexts.
It looks like the solution might be to define the configuration & dao globals inside each of the kong.core.cluster timers. Those ngx.sleep & ngx.socket.tcp APIs are available within the timer callback functions.

Thank you for taking time to investigate this! I find it very valuable that you dedicate time to look into Kong. I did not know lua-cassandra was even being used in there, and curiously I never encountered this error, which either is very strange, either because I missed it.
Yes, like I said, lua-cassandra was never meant to be working in init_worker_by_lua precisely because cosockets are not supported there. While not being a fan of the idea, I started implementing such availability yesterday night here (it stills need some work, second commit broke some stuff), assuming people will know that it is not ideal to run lua-cassandra in non-supported contexts.

It looks like the solution might be to define the configuration & dao globals inside each of the kong.core.cluster timers.

That could be one solution too, maybe more short-term, since ideally those globals should be nuked anyways (#709 is a good place to talk about this, even though since then we have a clear ideas of how this should be accomplished and would like to POC it someday).

It looks like the solution might be to define the configuration & dao globals inside each of the kong.core.cluster timers.

I just tried that fix which resulted in a new mutex problem from resty.lock:
2016/02/18 16:39:28 [info] 71#0: [lua] log.lua:22: info(): Refreshing local and peers info, context: ngx.timer
2016/02/18 16:39:28 [error] 71#0: lua entry thread aborted: runtime error: unknown reason
stack traceback:
coroutine 0:
 /app/.heroku/share/lua/5.1/kong/dao/cassandra/factory.lua:40: in function 'new'
 [C]: in function 'error'
 /app/.heroku/share/lua/5.1/classic.lua:63: in function 'load'
 /app/.heroku/share/lua/5.1/kong/core/cluster.lua:26: in function </app/.heroku/share/lua/5.1/kong/core/cluster.lua:21>, context: ngx.timer
2016/02/18 16:39:38 [error] 72#0: lua entry thread aborted: runtime error: /app/.heroku/share/lua/5.1/kong/dao/cassandra/factory.lua:40: Error locking mutex: timeout
stack traceback:
coroutine 0:
 /app/.heroku/share/lua/5.1/kong/dao/cassandra/factory.lua:40: in function 'new'
 [C]: in function 'error'
 /app/.heroku/share/lua/5.1/classic.lua:63: in function 'load'
 /app/.heroku/share/lua/5.1/kong/core/cluster.lua:26: in function </app/.heroku/share/lua/5.1/kong/core/cluster.lua:21>, context: ngx.timer

I see @thibaultCha making progress on lua-resty-socket & lua-cassandra late last night :astonished: So, I'm going to jump back out of this :rabbit: hole.

It looks like the solution might be to define the configuration & dao globals inside each of the kong.core.cluster timers.

I don't see how doing so will solve the problem, since those values are globals anyways, they are already available in all the contexts and the timers (regardless of how wrong that is).
There is one thing I still don't understand though, I am really unable to replicate this, and not seeing any such error. Especially since dao.nodes:find_by_keys is being invoked in a timer context, and not in init_worker. So are you talking about an issue on next or on your fork?

The Cassandra error only happens when running a cluster with at least two nodes. A single Kong doesn't do it.
I see the error running Kong 0.6.1 with both:

kong start CLI via heroku run bash

the error appears in {nginx-working-dir}/logs/error.log

web dyno via the external supervisor Procfile.web

the error appears in heroku logs stream

The only place I have a Kong cluster running is in a Heroku Private Space. I've been trying to reproduce locally, but would need to setup a development cluster on OS X. I have not yet figured that out. Do you have any notes for how you all work with clustering locally/in development?

I finally figured out how to get a second Kong running locally in a cluster.
I now confirm that this error does not occur when running locally on OS X with either Mashape/kong 0.6.1 or the fork mars/kong.
I guess there's something not-quite-right about the build on Heroku.
I'll close this in favor of a new issue in that repo.
Thanks for your patience.


Question on training and evaluation

Hi,
I am able to train my model on nuscenes mini dataset. How do I evaluate on test dataset? Do I have to upload my model in nuscenes website for evaluation or how do I test it locally?
Would be helpful to get some guidance.
Regards
Niranjan Ravi.

Hello @NiranjanRavi1993. Have you implemented  your model for testing. Have you had any success in doing so. I have also trained the centernet baseline_e170 model for 60 epocs as mentioned by the readme file but now I want to test the model for its working. Also Mr. @mrnabati, Can we make an inference on a simple video for the obstacle detection to check the model working? Thank you in advance.


Unavailable service design

This is dependant on https://github.com/alphagov/digitalmarketplace-api/pull/322 being merged.
Mark services that are unavailable to buy (by either their framework having expired or their not being published) as such on their page rather than returning a 404.
This ensures that, once they have been published, services will always have a live URL, as requested in this story:
https://www.pivotaltracker.com/story/show/110062348
The two states of the notification banner are as shown:
Service no longer published

Service part of an expired framework

@robyoung nice call with the return bool(self.banner), didn't think of that. I've also made it a @property as it read better when fed to an assertion.
That and the extra use of the UnavailableBanner class are now added in ca3fd4e

Nice :+1:


Could not init a new project

when i use  " react-native init AwesomeProject" to create a new project ,but it does n0t work, the terminal aways says "Installing react-native package from npm...".nothing  happened in the "AwesomeProject"file except a json("{"AwesomeProject":"HelloWorld","version":"0.0.1","private":true,"scripts":{"start":"react-native start"}}") file.
but the NPM works normally.
npm:3.4.0
node:5.0.0

i think you should wait...

i wait almost 2 hours..

Can you try installing npm 2 and seeing if that works better for you? npm install -g npm@2, then react-native init HopeThisWorks.

well...it works..thx

Thanks so much for answering @ide! Closing the issue.

I'll update the docs to tell people to install npm 2. npm 3 is extremely slow (at least 2x slower, maybe 4x) for installing RN.


Add doxygen documentation + astyle update

use java style that uses attached braces (astyle)
all if-else statements, functions/methods will be same formatted, therefore code style will be more consistent and it will look nicer
add doxygen configuration file
write doxygen documentation for all files

Wow a lot of work, respect!


Extract JSX kit from StagedBlueprintPlanning

I would very much like to use the JSX way of making GUIs could you please add it

I've been procrastinating this since forever, see https://github.com/GlassBricks/StagedBlueprintPlanning/issues/42
I think I'll get started on it this weekend or the next.
This would be outside of the scope of typed-factorio, so I'll close this here. Please comment on that linked issue instead!

Because you can't cut it off from all the other stuff lol? (I've tried)


recoll: fix no/bad configuration error on darwin

Description of changes

Prior to this fix, running recoll fails with the following error:
No/bad main configuration file in /nix/store/.../Resources/examples.
The path is incorrect and RECOLL_DATADIR should be used.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

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

2 packages built:

recoll (python310Packages.recoll)
python39Packages.recoll

Result of nixpkgs-review pr 186368 run on x86_64-darwin 1

2 packages built:

recoll (python310Packages.recoll)
python39Packages.recoll

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1321

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/658

@ofborg eval


[Bug]: Rspack Dev Tools Slow when source-maps are generated using "eval" option

System Info
System:
OS: Linux 6.5 Ubuntu 20.04.6 LTS (Focal Fossa)
CPU: (32) x64 Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz
Memory: 110.57 GB / 125.78 GB
Container: Yes
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 20.11.0 - /usr/local/share/nvm/versions/node/v20.11.0/bin/node
Yarn: 1.23.19 - /usr/bin/yarn
npm: 10.2.4 - /usr/local/share/nvm/versions/node/v20.11.0/bin/npm
Watchman: 20240317.093234.0 - /usr/local/bin/watchman
Browsers: Edge
Details
Hi some of my team members have reported the below issue when serving an app and debugging , so wanted to check if others are experiencing the same issue:

I noticed that the devtools within Edge's sources tab seem really slow to load with Rspack building. I think it was working fine without rspack, so I think the critical difference is using it.
It seemed like everything was using these giant relative paths last time I tried to use it, so everything loads in some sources folder in Edge. Initially I thought it might just be me but a few other members of my team also seem to be running into the slowness.
I frequently have my whole tab freeze / crash while I try to do anything (ex: nav through the stack trace) in the sources tab when a breakpoint is hit.
my devtool window responses slowly, hitting a break point will just cause the devtool window crashes.
Debugging is becoming extremely difficult with rspack. Most of the times, the dev tools just freezes and there is nothing I can do except restarting the browser again. Even after restart, the very next time, it hits a breakpoint and immediately freezes up again.

After testing with various devTool options it seems like with the "eval-cheap-module-source-map" option  does 2 things:

loads the file as giant relative paths as shown below

This consequently caused the memory usage for the main application VM in the browser by 3x. (This could be the cause of the hanging/ unresponsiveness of the devtools window in Edge browser)

When I remove the "eval" option and just use "cheap-module-source-map" , I see:

the folder structure of the source files is maintained and NOT loaded as relative paths.

the memory usage for the  main application VM in the browser  goes down AND the slowness/ hanging is not observed.

So is it a bug with with rspack when source maps are generated using "eval" option?
Reproduce link
No response
Reproduce Steps
Debug an application with source -maps generated using the devTools: "eval-cheap-module-source-map"  option and observe:

source files loaded as relative paths in browser's DevTools
after a while the devTools in the browser freeezes/ hangs / unresponsive
Edge browser is being used.

@LingyuCoder @h-a-n-a
here is the repro repo for this issue: https://github.com/pushkargupta9807/rspack-repro-latest
yarn
yarn dev:rspack // for rspack serve
Intructions:

yarn dev:rspack with devTools: "eval-cheap-source-map"

yarn dev:webpack with with devTools: "eval-cheap-source-map"

you can clearly repro the above and see the difference in the way source files are loaded with this devTools option with eval.
This is the reason  for I frequently have my whole tab freeze / crash while I try to do anything (ex: nav through the stack trace) in the sources tab when a breakpoint is hit.

with the "eval" optimization removed from the devtools, it works fine with rspack :
yarn dev:rspack with devTools: "cheap-source-map"

a gentle follow up, @SyMind hopefully you are able to repro the issue. Thanks

hello, @SyMind @h-a-n-a just wanted to check if any updates on this issue. Please let me know if you are not able to repro or any other clarification. This is a pain point for all the developers and it would be great to have it resolved. Thanks

@pushkargupta9807 I cannot reproducible, and is there same issue in Chrome browser?

@pushkargupta9807 I am following up on this issue.

@pushkargupta9807 I fixed it. Please try again.

Thank you @SyMind . Let me try and get back.

@SyMind I tried with the Rspack 0.7.6-canary-f272bd8-20240625122346 version - however the issue still remains.  Is the fixed merged in this version or I should be trying some other version ?

@SyMind just a follow up, I do not think the issue is fixed. Can you please check. Thanks


Add primary_selection

This plugin uses xclip (or a similar command by changing the configuration) to implement middle mouse copy/paste.

Seems that original requester didn't find any issues with this plugin so merging it :)


IServerAddressesFeature, logging

#331, #328
@lodejard @davidfowl @DamianEdwards @halter73 @muratg
I'll link the related PRs for Kestrel and WebListener shortly.

Expose the info to Program.Main and Console.WriteLine from in there.

Updated.

Hosting environment: Production
Now listening on: http://+:5000/
Application started. Press Ctrl+C to shut down.

Also https://github.com/aspnet/Hosting/issues/351

:shipit:


iOS: fullscreen doesn't work

Make it work!

Looking into this but its somewhat involved actually, as iOS doesn't support Fullscreen API https://stackoverflow.com/questions/43024394/ios10-fullscreen-safari-javascript

Yeah I saw that after I created this. Decided to leave it up in case someone wanted to get creative.


Exception on iOS when converting string to HRI

When running ZXing-cpp on an iOS device I fount that an exception is being thrown from the EscapeNonGraphical function when it calls std::locale utf8Loc("en_US.UTF-8") (here). The exception thrown is "collate_byname::collate_byname failed to construct for en_US.UTF-8". My suspicion is that the iOS platform does not provide the locale that it's trying to access.
The issue can be reproduced by scanning this barcode with default decoder hints:

Can you test what happens if you simply remove the "en_US.UTF-8" parameter?


Inspect Editor Tokens - hover stays open

Testing https://github.com/microsoft/vscode/issues/89392
Firefox, Shadow Dom

Run the Inspect Editor Token command
I wasn't able to hide the hover, Escape or setting focus to an element outside the editor didn't work

@alexdima How exactly would we want to close the hover?  Personally, I only want it closed when it gets in the way of the text around what I am looking at.  So I would only want it hidden until I click onto the next token.  What are your thoughts?
Here is how I have it modified currently.  When pressing escape, I set visibility = hidden.  On the widget compute, I set the visibility = inherit.  (I could also just add another listener, but wasn't really sure if that was necessary.)

I just looked in vscode and it has the similar inspect tokens feature, so I think we should setup Monaco the same way.
Escape closes the hover until you select it from the menu again.


realizes relation doesn't need "at t"

From<EMAIL_ADDRESS>on May 22, 2012 09:44:08
Domain: Process
Range: realizable entity
I don't thin this should be time-dependent. If a temporal qualification is needed the realization can be a part of some process
Original issue: http://code.google.com/p/bfo/issues/detail?id=39

From<EMAIL_ADDRESS>on May 22, 2012 07:35:35
Agreed

From<EMAIL_ADDRESS>on May 23, 2012 08:50:19
Status: Started

From<EMAIL_ADDRESS>on June 15, 2012 09:52:45
Status: Fixed


Please provide a way to install this plugin with phonegap project

Have you tried? http://docs.phonegap.com/phonegap-build/configuring/plugins/#importing-config You can install any cordova plugin in phonegap from npm


make-4.1-r0: BAD signature

(15/40) Installing make (4.1-r0)
ERROR: make-4.1-r0: BAD signature

I tried install build-base in the Dockerfile and get an error of the make package, which is submitted like a couple hours ago(http://nl.alpinelinux.org/alpine/edge/main/x86_64/)
make-doc-4.1-r0.apk    2016-May-26 15:49:52    354.8K  application/x-tgz

+1 Also getting this error. Running boot2docker on OSX

i had to downgrade make from 4.2 -> 4.1. The package got rebuilt but cache had old version so signature check failed. I am working around it by bumping pkgrel. make-4.1-r1 should be find.
This issue can be closed.

make-4.2-r0: BAD signature again...
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM alpine:edge
 ---> 79c898d40088
Step 2 : RUN apk --update add make
 ---> Running in 33deadff99b2
fetch http://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
(1/1) Installing make (4.2-r0)
ERROR: make-4.2-r0: BAD signature
1 errors; 5 MiB in 11 packages
The command '/bin/sh -c apk --update add make' returned a non-zero code: 1

Maybe there is something wrong with the package management ?

@blackgear can you please try again? make-4.2-r1 should be ok.

@ncopa It works, thanks :+1:

Hi, I have this same issue again, the package seems to have been recently updated "30-Apr-2018 20:01", please kindly check. Thanks.
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.5/main: BAD archive
WARNING: Ignoring APKINDEX.c51f8f92.tar.gz: No such file or directory
fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/community/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.5/community: BAD archive
WARNING: Ignoring APKINDEX.d09172fd.tar.gz: No such file or directory
fetch http://dl-4.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
ERROR: http://dl-4.alpinelinux.org/alpine/edge/community: BAD archive
WARNING: Ignoring APKINDEX.e76b60f6.tar.gz: No such file or directory

I am not able to reproduce.
@clandmeter can you please have a look at this?

Hi
You are having issues on both dl-cdn and dl-4?
From the error report this looks more like a network/system issue.
Which command did you run to generate this error?

Hi, it's part of my Dockerfile.build. Here was the command I run
RUN echo "@edge http://dl-4.alpinelinux.org/alpine/v3.6/community" >> /etc/apk/repositories && apk update

I cannot reproduce this issue so my guess its something local like I mentioned before.


⚠ ClamAV has degraded performance

In 5626549, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 78 ms

Resolved: ClamAV performance has improved in 7b65e7d.


@context vs @type

@jbenet quick question that was left unanswered during the meeting:
@context can make our JSON blobs look nicer, but it also means that other people would have to use our context or create their own while importing the @type's from our @context, since there can be only one context per JSON blob.
What would be the best way for people to merge our @context into their @context?
//cc @whyrusleeping

@context can be an array linking to multiple contexts. Each is applied in the order given and this results in a merged context.
See: http://www.w3.org/TR/json-ld/#advanced-context-usage
You can also specify the @context into sub parts of the JSON tree, not necessarily at the root node.

Thank you for clarifying that @mildred :)


raft: handling of applying old snapshots

There was a TODO requirement to handle ErrorSnapshotOutOfDate for the
function ApplySnapshot. The same has been implemented
#6090

@heyitsanthony Can you suggest how to check why the continuous-integration/travis-ci/p check is failing. Its not mentioning any logs as well.

lgtm, defer to @xiang90

lgtm


Test ad shows admob picture only

Dear,
My apology for this post, this is first time using admob pro. I'm migrating from 'cordova-plugin-admob' due to comparability with new Intel XDK release.
admob pro keep showing me 'test ad from admob' picture. I want to update my app that is currently on production. Does it mean that admobpro will work on production or do I have to change some parameters?

There's this line in 'www/js/admob.js'
`
var admobid = {};
if( /(android)/i.test(navigator.userAgent) ) {
admobid = { // for Android
banner: 'ca-app-pub-xxxxxxxxxxxxxx',
//interstitial: 'ca-app-pub-xxxxxxxxxxxxxx'
};
`
Do I have to change it from 'test' to something else?
my software: Intel XDK
my platform: Android

Please find isTesting:true when createBanner() or setOptions(), remove it, or change it to isTesting:false

Many thanks bro.
Thanks for your reply. I appreciate it


Test JP region games.

With how the EU version of Sonic Mania raised some TODOs, I believe we should check if JP region games raise any other issues that EU doesn't.
I'll check my Disc Replay as they usually have a few PS4 games from different regions.

Seems this might be a more per game basis.


Replace ListView by RecyclerView.

Fixed - If an item is expanded random list items getting expanded.
Description
Replace the Listview with RecyclerView.
Fixes - In CityHistoryAdapter if any Text is expanded randomly few items were getting expanded.
Fixes #(issue)
Type of change
Just put an x in the [] which are valid.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.

[x] ./gradlew assembleDebug assembleRelease
[x] ./gradlew checkstyle

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

Sure 👍
On Fri, 2 Oct 2020, 1:36 pm Swati Garg<EMAIL_ADDRESS>wrote:

@Swati4star requested changes on this pull request.
In Android/app/gradle/wrapper/gradle-wrapper.properties
https://github.com/project-travel-mate/Travel-Mate/pull/823#discussion_r498744098
:

@@ -0,0 +1,6 @@
+#Thu Oct 01 11:48:10 AST 2020

revert this file
In Android/app/gradlew
https://github.com/project-travel-mate/Travel-Mate/pull/823#discussion_r498744141
:

@@ -0,0 +1,172 @@
+#!/usr/bin/env sh

remove this file
In Android/app/gradlew.bat
https://github.com/project-travel-mate/Travel-Mate/pull/823#discussion_r498744325
:

@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off

remove this file too
Please add required changes only
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/project-travel-mate/Travel-Mate/pull/823#pullrequestreview-501027577,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHUZ7SPH4L4PDA5SOP7XC4DSIWUJBANCNFSM4SA45FIA
.

There are still many gradle files which need to be reverted. Please see the "files changed" by this PR

There are still many gradle files which need to be reverted. Please see the "files changed" by this PR

There are total 7 files which are changed by this Pull Request. 4 of  them are CityHistoryActivity, CityHistoryAdapter, CityHistoryListItem and activity_city_history.xml. I have deleted the gradlew file and reverted the changes made in gradle-wrapper.properties. And the last one which is gradle-wrapper.jar.
I didn't made any changes to all other files in the project..

The gradle files  (these 3 files) are added by your PR which should be removed:
Android/app/gradle/wrapper/gradle-wrapper.jar
Android/app/gradle/wrapper/gradle-wrapper.properties
Android/app/gradlew.bat

Done, Please Review it.
On Fri, Oct 2, 2020 at 5:20 PM Swati Garg<EMAIL_ADDRESS>wrote:

The gradle files (these 3 files) are added by your PR which should be
removed:
Android/app/gradle/wrapper/gradle-wrapper.jar
Android/app/gradle/wrapper/gradle-wrapper.properties
Android/app/gradlew.bat
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/project-travel-mate/Travel-Mate/pull/823#issuecomment-702761869,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHUZ7SMZGCLPLE6YMH2MUWLSIXOUHANCNFSM4SA45FIA
.

Thanks, Also please close the issue #822.
On Sat, 3 Oct 2020, 9:31 pm Swati Garg<EMAIL_ADDRESS>wrote:

Merged #823 https://github.com/project-travel-mate/Travel-Mate/pull/823
into master.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/project-travel-mate/Travel-Mate/pull/823#event-3836846114,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHUZ7SKV6HWKAD54ICIEY3DSI5UYVANCNFSM4SA45FIA
.