text:
failing beforeAll() causes even passing tests in the scope to fail

🐛 Bug Report
I'm looking for the best practice for aborting a describe block if the test setup fails. For example, when testing an API, if authenticating fails, it's pointless to run any other tests.
As suggested in the issue template, I searched StackOverflow first, where I found this incomplete answer, advising to place the initialization code in a beforeAll block. Hence, raising the issue here because

I haven't seen anything documenting the practice of returning failure from beforeAll
If a beforeAll block fails, tests in that describe block are still run, and they fail, even if otherwise they would pass!

To Reproduce
describe('test that a 3rd party API remains consistent', () => {
  beforeAll(() => expect('login').toBe('successful'));  // this will fail
  test('API function 1', () => expect(1).toBe(1));  // each...
  test('API function 2', () => expect(2).toBe(2));  // ...of these...
  test('API function 3', () => expect(3).toBe(3));  // ...will fail too
});

Expected behavior
Jest should report that the beforeAll() failed, and bail the describe scope without executing further tests in it. If it's somehow intended behavior that all tests should still be executed, and still marked as failed (which I find odd), this should be documented under beforeAll and in the Setup and Teardown guide. Other tests in the file, outside of the failing block, should still be executed.
Link to repl or repo (highly encouraged)
https://repl.it/@DanDascalescu/beforeAll-failure-should-bail-the-test
Run npx envinfo --preset jest
  System:
    OS: Linux 4.15 Ubuntu 16.04.4 LTS (Xenial Xerus)
    CPU: x64 Intel(R) Core(TM) i7-7500U CPU @ 2.70GHz
  Binaries:
    Node: 10.5.0 - /usr/local/bin/node
    Yarn: 1.7.0 - /usr/bin/yarn
    npm: 6.2.0 - /usr/local/bin/npm
  npmPackages:
    jest: ^23.4.1 => 23.4.1

See also
#6527

@aaronabramov have we changed the behaviour here for circus? Bailing after a failing lifecycle hook makes sense to me

yes! this was a bug in jasmine (or a feature). We changed this behavior in jest-circus.
@dandv jest-circus isn't shipped with jest by default yet, but you can test it by yarn add jest-circus and adding "testRunner": "jest-circus/runner" to your jest config

I would like to add to this a request for named hooks. The test is marked as a failure and not run, but named hooks (especially when the hooks reside outside of the test file) would aid in debugging.

@alycda feel free to open up a separate issue for that 🙂

Closing this as the behavior is fixed in jest-circus

Closing this as the behavior is fixed in jest-circus

It doesn't seem to be fixed in latest Jest (v23.6.0). So it's fixed for what users exactly? Facebook internal?

See the comment above: https://github.com/facebook/jest/issues/6695#issuecomment-405326998
Install circus (which will become the default in Jest at some point) and you should be good. Also see #7198

Install circus (which will become the default in Jest at some point)

Thanks I'll follow. Still why then it's not set as default? Are there any other issues we should be aware of? Is jest-circus considered stable?

You can follow #6295 for state of making it the default.

jest-circus seems to not fix this. All 3 tests still run and fail.
Here's the command I ran:
$ yarn run jest --testRunner=jest-circus/runner --bail

Am I missing a configuration value somewhere?

This is still as broken as ~1yr ago, even with circus... Please consider reopening.

To my eyes this just looks like an issue with the reporting. beforeAll is only run once and none of the other tests actually execute, but they all fail with the same reason, and they all print the same error.
We should probably avoid printing the individual tests if beforeAll fails. Right now the implementation just checks if we've had an error and if yes, print it and fail the test

I've seen a similar issue with reporting. It's hard to disentangle from proprietary code, but what happens is that a test.todo('description', callback); reports the MongoDB error thrown by the previously executed test (a bulk write failure) instead of the correct error that only a description should be specified for .todo tests. I tried throwing an error directly in that failing test but that doesn't reproduce the behavior.
Happy to see if the .todo issue reproduces once this is fixed.

@SimenB the issue seems to be only partially fixed in circus. since nested hooks are still being executed.

To my eyes this just looks like an issue with the reporting. beforeAll is only run once and none of the other tests actually execute, but they all fail with the same reason, and they all print the same error.
We should probably avoid printing the individual tests if beforeAll fails. Right now the implementation just checks if we've had an error and if yes, print it and fail the test without actually executing it

@SimenB Should we create a separate issue for this? Or was the intention to re-open this to continue the work in this one?

Sure, a new issue about the state today and what we want the end state to be makes sense to me

Is it a duplicate of #577?

@pkuczynski I think so, yes.

Still not working as expected... Not via throwing an error or calling done.fail(err)

Definitely not stale, still see this issue in latest jest.

Undigging topic - imo. test suite should interrupt tests execution with appropriate message when one of hooks will fail or timeout (beforeEach/All, afterEach/All).

Unstale

As a present for this issue's 5th birthday, I would like to ask a maintainer to reopen #2713, because throwing from beforeAll should really stop executing any further tests. @SimenB?

It seems this framework is totally abandonned... RIP!

authors: JaneJeon SimenB aaronabramov alycda chrismwendt dandv denissabramovs fider medikoo pkuczynski svyandun thernstig vtgn


text:
compile frontend in oldSchool, update task info

In #69 there was uncompiled frontend, also task-info.yaml files didn't reflect the new changes. This is fixed

@Daoortor could you please fix Qodana?

source: gharchive/pull-request

authors: Daoortor nbirillo

license: MIT

license_type: permissive

license_source: github-api


text:
Supporting auto-generation of CA issuer keypair

#79 adds a basic CA issuer that reads a signing keypair from a Secret in the Kubernetes API server in order to issue certificates.
For convenience, it may be desirable to support an 'automatically generate a signing keypair' mode.

ref #85 #84

Instead of adding a 'generate CA' field to the Issuer, I think we should look at adding a selfsigned certificate issuer and adding an IsCA field to the Certificate resource type (as described in #85 #84)

Closing in favour of #84

source: gharchive/issue

repo: jetstack-experimental/cert-manager

license_source: bigquery


text:
Cert manager stuck at attempting to acquire leader lease

Describe the bug:
Have been running with cert manager for a year now, but suddenly, it is being stuck at "attempting to acquire leader lease", with no error messages.  It is working fine on a similar cluster, with the same settings.
Environment details::

Kubernetes version (e.g. v1.10.2): 1.11.8-gke.6
Cloud-provider/provisioner (e.g. GKE, kops AWS, etc): GKE
cert-manager version (e.g. v0.4.0): v0.6.2
Install method (e.g. helm or static manifests): helm

/kind bug

After reinstall of helm chart, and some patience, then it worked.

repo: jetstack/cert-manager


text:
Issue certificate using dns01 via route53 stuck on SelfCheck status

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind feature

What happened:
Trying to configure dns01 route53 provider and it works using staging letsencrypt ClusterIssuer. When changing ClusterIssuer to live, it stuck on status
  Normal  PrepareCertificate  15m   cert-manager-controller  Preparing certificate with issuer
  Normal  PresentChallenge    15m   cert-manager-controller  Presenting dns-01 challenge for domain auth-service-trunk.gel.net
  Normal  PresentChallenge    15m   cert-manager-controller  Presenting dns-01 challenge for domain auth.test.gel.tech
  Normal  SelfCheck           14m   cert-manager-controller  Performing self-check for domain auth-service-trunk.gel.net
  Normal  SelfCheck           14m   cert-manager-controller  Performing self-check for domain auth.test.geo.tech

I've checked route 53 and  I see there _acme-challenge. TXT records for both domains.
Same live ClusterIssuer works as expected with http01 provider.
In log no errors. How to understand what wrong? Can I enable debug mode in some way?
What you expected to happen:
Successfully issued certificate
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version):
Server Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.8", GitCommit:"2f73858c9e6ede659d6828fe5a1862a48034a0fd", GitTreeState:"clean", BuildDate:"2018-02-09T21:23:25Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

Cloud provider or hardware configuration**:
AWS

Install tools:
Installed via helm from https://github.com/kubernetes/charts/tree/master/stable/cert-manager

Others:

Hi @argusua is your cluster DNS able to resolve external domain names?
cert-manager with be trying to fetch the _acme-challenge' using the DNS provided by the cluster to the cert-manager` pod. If that DNS does not allow Internet DNS look-ups, that will fail.
If you have this problem, then from k8s 1.9 you can specify custom DNS servers for each Pod, so you could add an Internet DNS server like Google 8.8.8.8 to the cert-manager pod.
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pods-dns-config

I've noticed the similar issue. Everything was working 4 days ago but when I applied a new certificate resource I got the following error.
Error preparing issuer for certificate: error waiting for key to be available for domain
cert-manager pod logs
I0316 14:00:52.147870       1 server.go:68] Listening on http://0.0.0.0:9402
I0316 14:00:52.153768       1 leaderelection.go:174] attempting to acquire leader lease...
I0316 14:00:52.230488       1 leaderelection.go:184] successfully acquired lease kube-system/cert-manager-controller
I0316 14:03:07.518985       1 controller.go:138] clusterissuers controller: syncing item 'letsencrypt-production'
I0316 14:03:10.273963       1 helpers.go:122] Setting lastTransitionTime for ClusterIssuer "letsencrypt-production" condition "Ready" to 2018-03-16 14:03:10.273947464 +0000 UTC m=+138.299805182
I0316 14:03:10.279701       1 controller.go:152] clusterissuers controller: Finished processing work item "letsencrypt-production"
I0316 14:03:10.279766       1 controller.go:138] clusterissuers controller: syncing item 'letsencrypt-production'
I0316 14:03:10.991498       1 controller.go:152] clusterissuers controller: Finished processing work item "letsencrypt-production"
I0316 14:04:19.614244       1 controller.go:187] certificates controller: syncing item 'test/test-certificate'
I0316 14:04:19.615050       1 sync.go:107] Error checking existing TLS certificate: secret "test-certificate" not found
I0316 14:04:19.615205       1 sync.go:209] Preparing certificate with issuer
I0316 14:04:19.616105       1 prepare.go:230] Compare "" with "https://acme-v01.api.letsencrypt.org/acme/reg/31265273"
I0316 14:08:14.093642       1 helpers.go:165] Setting lastTransitionTime for Certificate "test-certificate" condition "Ready" to 2018-03-16 14:08:14.093626634 +0000 UTC m=+442.119484352
I0316 14:08:14.093733       1 sync.go:213] Error preparing issuer for certificate: error waiting for key to be available for domain "test.mydomain.com": context deadline exceeded
E0316 14:08:14.110479       1 sync.go:190] [test/test-certificate] Error getting certificate 'test-certificate': secret "test-certificate" not found

Certificate
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
  name: test-certificate
  namespace: test
spec:
  secretName: test-certificate
  issuerRef:
    name: letsencrypt-production
    kind: ClusterIssuer
  dnsNames:
  - test.mydomain.com
  acme:
    config:
    - dns01:
        provider: route53
      domains:
      - test.mydomain.com

Cluster Issuer
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
  name: letsencrypt-production
spec:
  acme:
    server: https://acme-v01.api.letsencrypt.org/directory
    email: myemail@mydomain.com
    privateKeySecretRef:
      name: letsencrypt-production
    dns01:
      providers:
      - name: route53
        route53:
          accessKeyID: AKIAXXXXXXXXXXXXX
          secretAccessKeySecretRef:
            name: route53-config
            key: secret-access-key
          region: us-east-1

Certificate detailed description
Name:         test-certificate
Namespace:    test
Labels:       <none>
Annotations:  <none>
API Version:  certmanager.k8s.io/v1alpha1
Kind:         Certificate
Metadata:
  Cluster Name:
  Creation Timestamp:  2018-03-16T14:08:31Z
  Generation:          0
  Resource Version:    33688876
  Self Link:           /apis/certmanager.k8s.io/v1alpha1/namespaces/test/certificates/test-certificate
  UID:                 9rf2b603-98uj-11e8-8521-1239c7046d88
Spec:
  Acme:
    Config:
      Dns 01:
        Provider:  route53
      Domains:
        test.mydomain.com
  Common Name:
  Dns Names:
    test.mydomain.com
  Issuer Ref:
    Kind:       ClusterIssuer
    Name:       letsencrypt-production
  Secret Name:  test-certificate
Status:
  Acme:
    Authorizations:  <nil>
  Conditions:
    Last Transition Time:  2018-03-16T14:19:33Z
    Message:               Error checking ACME domain validation: error waiting for key to be available for domain "test.mydomain.com": context deadline exceeded
    Reason:                ErrCheckAuthorization
    Status:                False
    Type:                  Ready
Events:
  Type     Reason                   Age                From                     Message
  ----     ------                   ----               ----                     -------
  Warning  ErrorPrepareCertificate  26m (x29 over 5h)  cert-manager-controller  Error preparing issuer for certificate: error waiting for key to be available for domain "test.mydomain.com": context deadline exceeded
  Warning  ErrorCheckCertificate    10m (x30 over 5h)  cert-manager-controller  Error checking existing TLS certificate: secret "test-certificate" not found
  Normal   PrepareCertificate       10m (x30 over 5h)  cert-manager-controller  Preparing certificate with issuer
  Normal   PresentChallenge         10m (x30 over 5h)  cert-manager-controller  Presenting dns-01 challenge for domain test.mydomain.com
  Normal   SelfCheck                9m (x30 over 5h)   cert-manager-controller  Performing self-check for domain test.mydomain.com

TXT record was created in Route53 hosted zone and it was publicly accessible
cert-manager: v0.2.3
kubernetes: v1.7.9
cloud provider: AWS

Hi @whereisaaron
Thanks for fast response. Looks like yes, dns resolution works inside cert-manager container:

Also, today status changed for certificate to:
Status:
  Acme:
    Authorizations:  <nil>
  Conditions:
    Last Transition Time:  2018-03-16T15:12:40Z
    Message:               Error checking ACME domain validation: [error waiting for authorization for domain "auth.test.gel.tech": context canceled, error waiting for authorization for domain "auth-service-trunk.gel.net": context canceled]
    Reason:                ErrCheckAuthorization
    Status:                False
    Type:                  Ready

Same here:
$ kubectl get clusterissuer -oyaml
apiVersion: v1
items:
- apiVersion: certmanager.k8s.io/v1alpha1
  kind: ClusterIssuer
  metadata:
    clusterName: ""
    creationTimestamp: 2018-03-18T11:00:27Z
    generation: 0
    name: letsencrypt-prod
    namespace: ""
    resourceVersion: "3499055"
    selfLink: /apis/certmanager.k8s.io/v1alpha1/letsencrypt-prod
    uid: 90d32342-2a9b-11e8-ae12-4ccc6ad2499b
  spec:
    acme:
      dns01:
        providers:
        - name: aws
          route53:
            accessKeyID: AK232AHSKGRLPPABQ
            hostedZoneID: ""
            region: eu-central-1
            secretAccessKeySecretRef:
              key: secret-access-key
              name: route53-credentials-secret
      email: info@example.com
      privateKeySecretRef:
        key: ""
        name: ingress-key-pair
      server: https://acme-staging.api.letsencrypt.org/directory
  status:
    acme:
      uri: https://acme-staging.api.letsencrypt.org/acme/reg/232323
    conditions:
    - lastTransitionTime: 2018-03-18T11:00:28Z
      message: The ACME account was registered with the ACME server
      reason: ACMEAccountRegistered
      status: "True"
      type: Ready
kind: List
metadata:
  resourceVersion: ""
  selfLink: ""

kubectl describe certificate
Name:         rig2-tls
Namespace:    default
Labels:       <none>
Annotations:  <none>
API Version:  certmanager.k8s.io/v1alpha1
Kind:         Certificate
Metadata:
  Cluster Name:
  Creation Timestamp:  2018-03-18T11:02:58Z
  Generation:          0
  Owner References:
    API Version:           extensions/v1beta1
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  Ingress
    Name:                  rig2-zcash-miner
    UID:                   95c1ed1c-2a2a-11e8-ae12-4ccc6ad2499b
  Resource Version:        3499961
  Self Link:               /apis/certmanager.k8s.io/v1alpha1/namespaces/default/certificates/rig2-tls
  UID:                     eb1acec6-2a9b-11e8-ae12-4ccc6ad2499b
Spec:
  Acme:
    Config:
      Dns 01:
        Provider:  aws
      Domains:
        rigs.umine.farm
  Common Name:
  Dns Names:
    rigs.umine.farm
  Issuer Ref:
    Kind:       ClusterIssuer
    Name:       letsencrypt-prod
  Secret Name:  rig2-tls
Status:
  Acme:
    Authorizations:  <nil>
  Conditions:
    Last Transition Time:  2018-03-18T11:06:38Z
    Message:               Error checking ACME domain validation: error waiting for key to be available for domain "rigs.umine.farm": context deadline exceeded
    Reason:                ErrCheckAuthorization
    Status:                False
    Type:                  Ready
Events:
  Type     Reason                   Age                From                     Message
  ----     ------                   ----               ----                     -------
  Normal   SelfCheck                7m (x5 over 21m)   cert-manager-controller  Performing self-check for domain rigs.umine.farm
  Warning  ErrorCheckCertificate    4m (x6 over 22m)   cert-manager-controller  Error checking existing TLS certificate: secret "rig2-tls" not found
  Normal   PrepareCertificate       4m (x6 over 22m)   cert-manager-controller  Preparing certificate with issuer
  Normal   PresentChallenge         4m (x6 over 22m)   cert-manager-controller  Presenting dns-01 challenge for domain rigs.umine.farm
  Warning  ErrorPrepareCertificate  39s (x6 over 18m)  cert-manager-controller  Error preparing issuer for certificate: error waiting for key to be available for domain "rigs.umine.farm": context deadline exceeded

and route53 record is created and working well

My ingress:
ingress:
  enabled: true
  annotations: #{}
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: '/'
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/acme-challenge-type: 'dns01'
    certmanager.k8s.io/acme-dns01-provider: 'aws'
    # nginx.ingress.kubernetes.io/ssl-redirect: "false"
  path: /rig2
  hosts:
    - rigs.umine.farm
  tls: #[]
    - secretName: rig2-tls
      hosts:
        - rigs.umine.farm

@whereisaaron thanks for the tip regarding dns. I can confirm where I exec into cert manager and try pining that address it fails. External addresses are ok, but I configured my cluster woith the same name as dns address, so I guess that's why the query doesn't go to upstream server which is 8.8.8.8

Not fully fixed. Got it working for rigs.umine.farm and got fake certificate from staging acme server. Changed server to prod and was hoping to get a new certificate (proper one) but that didn't work. Changed DNS to another name and started getting errors during self-check again.
Warning  ErrorCheckCertificate    17m (x2 over 20m)  cert-manager-controller  Error checking existing TLS certificate: secret "rig2-cert" not found
  Normal   PrepareCertificate       17m (x2 over 20m)  cert-manager-controller  Preparing certificate with issuer
  Warning  ErrorPrepareCertificate  17m                cert-manager-controller  Error preparing issuer for certificate: error waiting for key to be available for domain "monitor.umine.farm": context deadline exceeded
  Normal   PresentChallenge         17m (x2 over 20m)  cert-manager-controller  Presenting dns-01 challenge for domain monitor.umine.farm
  Normal   SelfCheck                16m (x2 over 19m)  cert-manager-controller  Performing self-check for domain monitor.umine.farm
  Warning  ErrorCheckCertificate    1m (x5 over 15m)   cert-manager-controller  Error checking existing TLS certificate: secret "rig2-cert" not found
  Normal   PrepareCertificate       1m (x5 over 15m)   cert-manager-controller  Preparing certificate with issuer
  Warning  ErrorPrepareCertificate  1m (x4 over 11m)   cert-manager-controller  Error preparing issuer for certificate: error waiting for key to be available for domain "monitor.umine.farm": context deadline exceeded
  Normal   PresentChallenge         1m (x5 over 15m)   cert-manager-controller  Presenting dns-01 challenge for domain monitor.umine.farm
  Normal   SelfCheck                1m (x5 over 14m)   cert-manager-controller  Performing self-check for domain monitor.umine.farm

'context deadline exceeded' means the HTTP request timed out. With the range of stuff you have reported my guess would be you've having some connectivity issues with Internet requests from your cluster. It looks like your cert-manager is fine, but it has, perhaps intermittent, trouble making DNS requests and making HTTP requests to the Internet to check the challenges are in place.

Looks like DNS and HTTP request are correct
Request performed from the cert-manager container:
dig acme-v01.api.letsencrypt.org

; <<>> DiG 9.11.2-P1 <<>> acme-v01.api.letsencrypt.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48485
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;acme-v01.api.letsencrypt.org.	IN	A

;; ANSWER SECTION:
acme-v01.api.letsencrypt.org. 60 IN	CNAME	api.letsencrypt.org-ng.edgekey.net.
api.letsencrypt.org-ng.edgekey.net. 60 IN CNAME	e14990.dscx.akamaiedge.net.
e14990.dscx.akamaiedge.net. 20	IN	A	104.95.238.173

;; Query time: 6 msec
;; SERVER: 10.3.0.10#53(10.3.0.10)
;; WHEN: Mon Mar 19 10:15:00 UTC 2018
;; MSG SIZE  rcvd: 158

curl https://acme-v01.api.letsencrypt.org/directory
{
  "key-change": "https://acme-v01.api.letsencrypt.org/acme/key-change",
  "meta": {
    "terms-of-service": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf"
  },
  "new-authz": "https://acme-v01.api.letsencrypt.org/acme/new-authz",
  "new-cert": "https://acme-v01.api.letsencrypt.org/acme/new-cert",
  "new-reg": "https://acme-v01.api.letsencrypt.org/acme/new-reg",
  "rYI1xLOBxqk": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417",
  "revoke-cert": "https://acme-v01.api.letsencrypt.org/acme/revoke-cert"
}

As I said before, nothing has been changed in our k8s cluster or cert-manager configuration and everything was working a week ago.

@simonkey007 cert-manager isn't trying to access letsencrypt.org, it is trying to access the domain for the certificate being issued, to check that the challenge record is in place. e.g. 'umine.farm'.

Still can't get it work for my live ingress. I've tried today create test ingress and it works as expected.
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: lets-test
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/tls-acme: "true"
    certmanager.k8s.io/cluster-issuer: "letsencrypt-live"
    certmanager.k8s.io/acme-challenge-type: "dns01"
    certmanager.k8s.io/acme-dns01-provider: "route53"
spec:
  tls:
    - secretName: test-crt-tls
      hosts:
      - lets.test.gelato.tech
      - letstest.gelatogroup.net
  rules:
  - host: lets.test.gelato.tech
    http:
      paths:
      - path: /
        backend:
          serviceName: jenkins
          servicePort: 80
  - host: letstest.gelatogroup.net
    http:
      paths:
      - path: /
        backend:
          serviceName: jenkins
          servicePort: 80

For live ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    certmanager.k8s.io/acme-challenge-type: dns01
    certmanager.k8s.io/acme-dns01-provider: route53
    certmanager.k8s.io/cluster-issuer: letsencrypt-live
    kubernetes.io/ingress.class: nginx
    kubernetes.io/tls-acme: "true"
  creationTimestamp: 2018-03-16T07:19:07Z
  generation: 269
  name: auth-service-kubernetes-live-nginx
  namespace: default
  resourceVersion: "119221337"
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/auth-service-kubernetes-live-nginx
  uid: 5068e65a-28ea-11e8-94fa-0ae1ba4584f4
spec:
  rules:
  - host: auth.live.gelato.tech
    http:
      paths:
      - backend:
          serviceName: auth-service-kubernetes-live-nginx
          servicePort: 80
        path: /
  - host: auth-service.gelatogroup.com
    http:
      paths:
      - backend:
          serviceName: auth-service-kubernetes-live-nginx
          servicePort: 80
        path: /
  tls:
  - hosts:
    - auth.live.gelato.tech
    - auth-service.gelatogroup.com
    secretName: auth-service-kubernetes-live-nginx-tls

I get next certificate like this:
Name:         auth-service-kubernetes-live-nginx-tls
Namespace:    default
Labels:       <none>
Annotations:  <none>
API Version:  certmanager.k8s.io/v1alpha1
Kind:         Certificate
Metadata:
  Cluster Name:
  Creation Timestamp:             2018-03-20T14:23:59Z
  Deletion Grace Period Seconds:  <nil>
  Deletion Timestamp:             <nil>
  Owner References:
    API Version:           extensions/v1beta1
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  Ingress
    Name:                  auth-service-kubernetes-live-nginx
    UID:                   5068e65a-28ea-11e8-94fa-0ae1ba4584f4
  Resource Version:        119219236
  Self Link:               /apis/certmanager.k8s.io/v1alpha1/namespaces/default/certificates/auth-service-kubernetes-live-nginx-tls
  UID:                     54dba49f-2c4a-11e8-94fa-0ae1ba4584f4
Spec:
  Acme:
    Config:
      Dns 01:
        Provider:  route53
      Domains:
        auth.live.gelato.tech
        auth-service.gelatogroup.com
  Common Name:
  Dns Names:
    auth.live.gelato.tech
    auth-service.gelatogroup.com
  Issuer Ref:
    Kind:       ClusterIssuer
    Name:       letsencrypt-live
  Secret Name:  auth-service-kubernetes-live-nginx-tls
Status:
  Conditions:  <nil>
Events:
  Type     Reason                 Age   From                     Message
  ----     ------                 ----  ----                     -------
  Warning  ErrorCheckCertificate  21m   cert-manager-controller  Error checking existing TLS certificate: secret "auth-service-kubernetes-live-nginx-tls" not found
  Normal   PrepareCertificate     21m   cert-manager-controller  Preparing certificate with issuer
  Normal   PresentChallenge       21m   cert-manager-controller  Presenting dns-01 challenge for domain auth.live.gelato.tech
  Normal   SelfCheck              20m   cert-manager-controller  Performing self-check for domain auth.live.gelato.tech
  Warning  ErrorCheckCertificate  9m    cert-manager-controller  Error checking existing TLS certificate: secret "auth-service-kubernetes-live-nginx-tls" not found
  Normal   PrepareCertificate     9m    cert-manager-controller  Preparing certificate with issuer
  Normal   PresentChallenge       9m    cert-manager-controller  Presenting dns-01 challenge for domain auth-service.gelatogroup.com
  Normal   PresentChallenge       9m    cert-manager-controller  Presenting dns-01 challenge for domain auth.live.gelato.tech
  Normal   SelfCheck              9m    cert-manager-controller  Performing self-check for domain auth.live.gelato.tech

Additionally, I found today in logs next error:
E0320 14:43:49.216953       1 prepare.go:167] Error cleaning up solver: Failed to change Route 53 record set: InvalidChangeBatch: Tried to delete resource record set [name='_acme-challenge.auth-service.gelatogroup.com.', type='TXT'] but it was not found
	status code: 400, request id: 19c8e4a0-2c4d-11e8-99b7-430c9c1f3614

I've tried create this record manually, but error again apeared.

@argusua I don't think you need to create it manually as it provides a response with a long non-readable string when you query it (run test record in route53). And I am just curious - can single secret work with multiple hosts? I had an idea of one secret/certificate per host but maybe it works with several as well (I am not talking about wildcard certificates as your domain names are different.)

Get some progress on my issue. I've created new clusterIssuer (previous I get by migrating from kube-lego as described here https://github.com/jetstack/cert-manager/blob/master/docs/user-guides/migrating-from-kube-lego.md). Now I get a certificate but only for first domain:
Events:
  Type     Reason                   Age   From                     Message
  ----     ------                   ----  ----                     -------
  Normal   PrepareCertificate       4m    cert-manager-controller  Preparing certificate with issuer
  Normal   PresentChallenge         4m    cert-manager-controller  Presenting dns-01 challenge for domain auth-service.gelatogroup.com
  Normal   PresentChallenge         4m    cert-manager-controller  Presenting dns-01 challenge for domain auth.live.gelato.tech
  Normal   SelfCheck                3m    cert-manager-controller  Performing self-check for domain auth.live.gelato.tech
  Normal   PrepareCertificate       2m    cert-manager-controller  Preparing certificate with issuer
  Normal   PresentChallenge         2m    cert-manager-controller  Presenting dns-01 challenge for domain auth-service.gelatogroup.com
  Normal   PresentChallenge         2m    cert-manager-controller  Presenting dns-01 challenge for domain auth.live.gelato.tech
  Normal   SelfCheck                1m    cert-manager-controller  Performing self-check for domain auth.live.gelato.tech
  Normal   ObtainAuthorization      49s   cert-manager-controller  Obtained authorization for domain auth.live.gelato.tech
  Warning  ErrorPrepareCertificate  3s    cert-manager-controller  Error preparing issuer for certificate: error presenting acme authorization for domain "auth-service.gelatogroup.com": Failed to change Route 53 record set: InvalidChangeBatch: RRSet with DNS name _acme-challenge.auth-service.gelatogroup.com. is not permitted in zone sourcelogistic.com.
           status code: 400, request id: 3ae889c0-2eb0-11e8-952e-ad6827c36e4f
  Normal   RenewalScheduled         3s               cert-manager-controller  Certificate scheduled for renewal in 1438 hours
  Normal   PrepareCertificate       2s (x2 over 3s)  cert-manager-controller  Preparing certificate with issuer
  Warning  ErrorPrepareCertificate  2s               cert-manager-controller  Error preparing issuer for certificate: error presenting acme authorization for domain "auth-service.gelatogroup.com": Failed to change Route 53 record set: InvalidChangeBatch: RRSet with DNS name _acme-challenge.auth-service.gelatogroup.com. is not permitted in zone sourcelogistic.com.
           status code: 400, request id: 985b9304-2eb0-11e8-8ec5-9feeb1e51a10
  Normal   RenewalScheduled  2s               cert-manager-controller  Certificate scheduled for renewal in 1438 hours
  Normal   PresentChallenge  1s (x2 over 3s)  cert-manager-controller  Presenting dns-01 challenge for domain auth-service.gelatogroup.com

Looks like cert-manager uses incrorect zoneId for set dns record in route53.

Finally, I found why the wrong zoneId had used. It's because of CNAME record. My current issue resolved.

I had/have the same issue with http01 it seams, where the cert-manager cant curl the well-known url from inside the cluster, but externaly it is possible to access.
Just the edge router missing some loopback ... spend 15h for this knowledge.
The error description "error waiting for key to be available for domain" is very missleading.
Should be "error waiting for collange-key resource to be available for domain ..."

@Zetanova often referred to as 'hairpin NAT', needed if your egress and ingress have the same external IP address. It can be confusing to configure.

@whereisaaron  Yes, i disovered it too. My problem was that i just missundestud the error message.
I put active/passive vm iptabales+keepalived in front of the k8s and it seams that i cant get the hairpin NAT to work.

I got a similar issue on dns01 config. Log was like follows.
(As @whereisaaron says, this should be shown only http01 config...)
$ kubectl describe certificate
...
Events:
...
  Warning  ErrorPrepareCertificate  2m               cert-manager-controller  Error preparing issuer for certificate: [error waiting for key to be available for domain "{censored}": context canceled]
...

In my case, it was fixed by just deleting (and restarting) the cert-manager pod.

I'm going to close this now as it appears to be resolved - thanks everyone for providing support and help debugging 😄

Just tried to generate letsencrypt's wildcard cert via dns01/route53 validation and getting:
E0621 14:13:18.291341       1 controller.go:186] certificates controller: Re-queuing item "namespace/xxx-net" due to error processing: Failed to change Route 53 record set: InvalidChangeBatch: Tried to delete resource record set [name='_acme-challenge.xxx.net.', type='TXT'] but it was not found
Looks like it should just silently ignore that error or don't delete entries which don't exists in route53?
Did you manage to resolve that issue?
Using the latest cert manager v0.3.0.

same problem with 0.5.0, was working fine in 0.4.1, rolling back

we had same issue, it got resolved when I created the TXT record manually, then acme cert manager changed that record because it was expired and deleted successfully.
I got the txt record key from cert manager logs and the value from aws cloudtrail logs.
Next time I will try creating the txt record with some random value to see if that helps

authors: Zetanova argusua cryptcoin-junkey grebois infa-ddeore mlushpenko munnerz simonkey007 urbaniak whereisaaron


text:
Prompt user to check supported versions if unknown

Before:
$ go run main.go operator deploy --version=foo
operator version foo does not exist
exit status 1

After:
$ jsctl operator versions
v0.0.1-alpha.17
$ go run main.go operator deploy --version=foo
operator version foo is unknown or not supported by this version of jsctl. Run 'jsctl operator versions' to see the supported operator versions.
exit status 1

Signed-off-by: Charlie Egan charlieegan3@users.noreply.github.com

Thanks Irbe 🙏

repo: jetstack/jsctl


text:
Use new test fixture in Cassandra controls

I'm trying to get rid of the Cassandra specific test fixture in ./pkg/controllers/cassandra/testing
In this branch I've switched:

ServiceAccounts
Roles
RoleBindings

I'll deal with Pilot and NodePool controls in separate branches.
Release note:
NONE

/test e2e

/test e2e v1.10

/retest

/lgtm
/approve

authors: munnerz wallrj

repo: jetstack/navigator


text:
Document how to get the root key after init

It would be good to have a few lines in the documentation about how to retrieve the root key after init, to make it possible to login to vault.

if you use AWS KMS you can do it with this script:
export REGION=us-west-2
export AWS_PROFILE=dev

echo "Fetching Vault unseal keys and root token from AWS..."

aws ssm get-parameters --names kubernetes-vault-root --region us-west-2 | jq -r '.Parameters[].Value'  | base64 -D> /tmp/root-token

ROOT_TOKEN=$(aws kms decrypt --region $REGION --ciphertext-blob fileb:///tmp/root-token --encryption-context Tool=vault-unsealer | jq -r '.Plaintext' | base64 -D)

for i in {0..4}; do
aws ssm get-parameters --names kubernetes-vault-unseal-${i} --region us-west-2 | jq -r '.Parameters[].Value'  | base64 -D > /tmp/unseal-${i}

echo -n "UNSEAL_KEY_$((i+1)): $(aws kms decrypt --region $REGION --ciphertext-blob fileb:///tmp/unseal-${i} --encryption-context Tool=vault-unsealer | jq -r '.Plaintext' | base64 -D)
"
done

echo "Initial Root token: $ROOT_TOKEN"

#31

THanks for typing that out! Yes, my question was related to AWS KMS, sorry for not clarifying

authors: innovia trondhindenes

repo: jetstack/vault-unsealer


text:
Celery doesn't account for running and reserved tasks

This is a similar problem to #3 .
I'm using the Redis backend for Celery. I tried my hand at a solution in https://github.com/aspiredu/hirefire/commit/3ae625cc527330357a66df8d8c5e2701213d5af7, but it only works for small numbers of dynos, workers, and tasks. Even when it does work, it's painfully slow.
The issue is that active, reserved, and scheduled tasks don't show up in the queue. Missing the scheduled ones is fine, but missing active and reserved means that my queues, which are running a lot of long-running tasks, get shut down well before stuff is done processing, which causes the dynos to flap as they are put back in the queue, then taken out, then when the process repeats.

Unfortunately I can confirm that #9 has not solved this issue, even when I'm using py-ampq. I haven't tested with librabbitmq or iron-mq, but I find it likely that I'll get the same results.

An IRC conversation with @ask gave me two ideas to try. Both are somewhat involved for something as light as HireFire, but we've gotta do what we've gotta do.

Use Flower to get data on the running worker queues.
Use heartbeats from worker to get up-to-date data.
(from me) use inspect() (that's how flower gets it's info) for all queues/procs/workers at once and somehow re-use that data for the life of the request to the HireFire info URL.

2 requires some upstream code-changes to Celery (the heartbeats don't currently include scheduled and reserved counts), and also requires a persistent monitor to receive those events.
I'm honestly not sure which path to take first. I'll just have to take 1 and run with it.

@ryanhiebert did you find any solution for this trouble ?

No solution yet. It's been somewhat back-burnered in my current workload, but trying to use Flower to get a better picture of the running queues seems like the route I'm likely to try first. Any and all help would be welcome!

Any updates on this issue?

No, sorry. Haven't been able to work on it any more yet.

I wrote a basic implementation that seems to work.
import itertools

from celery import Celery
from django.conf import settings
from gevent.pool import Group

from hirefire.procs.celery import CeleryProc

def _inspect(method):
    app = Celery('app', broker=settings.BROKER_URL)
    inspect_result = getattr(app.control.inspect(), method)()
    app.close()
    return inspect_result

class OFCeleryProc(CeleryProc):
    def quantity(self):
        """
        Returns the aggregated number of tasks of the proc queues.
        """
        if hasattr(self.channel, '_size'):
            # Redis
            return sum(self.channel._size(queue) for queue in self.queues)
        # AMQP (Include both libs, since we have both installed)
        from librabbitmq import ChannelError as LCE
        from amqp.exceptions import ChannelError as ACE
        count = 0
        for queue in self.queues:
            try:
                queue = self.channel.queue_declare(queue, passive=True)
            except (LCE, ACE):
                # The requested queue has not been created yet
                pass
            else:
                count += queue.message_count
        active, reserved = Group().map(_inspect, ('active', 'reserved'))
        num_active = sum(1 for v in itertools.chain.from_iterable(active.itervalues()) if not v.get('acknowledged', False) and v.get('delivery_info', {}).get('exchange') in self.queues) if active else 0
        num_reserved = sum(1 for v in itertools.chain.from_iterable(reserved.itervalues()) if not v.get('acknowledged', False) and v.get('delivery_info', {}).get('exchange') in self.queues) if reserved else 0
        return count + num_active + num_reserved

@joshowen : That can work OK, for a small number of queues. Unfortunately, I have around 20 queues, and the combined time of running this made for timeouts in Heroku. I've got to find something faster.

https://github.com/celery/celery/issues/2839
This issue with Celery also makes this issue worse. Tasks that are running are immediately shut down, instead of being given the time that Heroku usually gives to let the dynos shut down gracefully. Having this fixed wouldn't be sufficient by itself, but it would make the problem less of a deal for short tasks.

@ryanhiebert Even using gevent?

@joshowen: Actually, that's not what I had done before. I'm going to have to dig more into it, and see if it works for me.
I'm not currently using gevent.

With gevent I was able to run the _inspect calls in parallel and got around the heroku timeouts

Let me try it. I still do have quite a few queues (not just workers), with different procs, so even with gevent it means that I'll have to run ~20 of these to get all the stats for HireFire. Worth a try, though.

@joshowen thanks for your example code, we just ran into the same issue.
I build a similar solution, still slow, but less calls:
the app.control.inspect() calls always return the data for every queue, not only one.
We have just extended HireFireMiddleware to do these calls once (not only for active and reserved, but also for scheduled) and then the subsequent CeleryProcs will get the data from their queues out of it. So queue size does not have any effect on the calls, perhaps only on the time celery needs to call all the workers.
(cc @ryanhiebert )

will try to bake this into a PR, I think this is a common problem if you want to scale to 0 :)

@syphar: that sounds awesome. I'm looking forward to it.

@syphar: I'm working on this now for work, and if possible I'd like to see your approach. Any chance you could let me see your work (via very raw, perhaps broken PR, or perhaps a gist of the interesting code), so that I can take inspiration at least?

@ryanhiebert yes, sure. Sorry for the delay many things happening :)
middleware:
class HireFireMiddleware(OriginalHireFireMiddleware):
    """
    An extended HireFireMiddleware which includes counts worker-stats.

    we query for running, reserved or scheduled tasks and add them to the
    queued tasks per queue.

    The related procs have to have a method called ``quantity_with_running``
    which will get the inspection data, so it's queried only once per
    call from hirefire.
    """

    def dump_procs(self, procs):
        celery_inspect = {
            method: getattr(app.control.inspect(), method)()
            for method in ('active', 'reserved', 'scheduled')
        }

        data = [
            {
                'name': name,
                'quantity': proc.quantity_with_running(celery_inspect) or 'null',
            }
            for name, proc in procs.items()
        ]

        return json.dumps(data, cls=TimeAwareJSONEncoder, ensure_ascii=False)

    def info(self, request):
        payload = self.dump_procs(self.loaded_procs)
        return HttpResponse(payload, content_type='application/json')

procs.py
class UpdatedCeleryProc(CeleryProc):
    def quantity_with_running(self, celery_inspect):
        count = super(UpdatedCeleryProc, self).quantity()
        for func, tasks in celery_inspect.items():
            if not tasks:
                continue

            queue_tasks = [
                v
                for v in itertools.chain.from_iterable(tasks.values())
                if (
                    not v.get('acknowledged', False) and
                    v.get('delivery_info', {}).get('exchange') in self.queues
                )
            ]
            count += len(queue_tasks)

        return count

class LowPrioWorkerProc(UpdatedCeleryProc):
    name = 'celeryworkerlowprio'
    queues = ['lowprio']

this code

as expected: only works with celery
not perfect: increases response time (it's around ~3s on our production system)
good: the amount of procs/queues doesn't matter, since the inspect result contains everything.
runs in production for 4 weeks here
only tested on python 3.5

What was blocking me (when I had some time) was the question how to design this the best way to

make it optional
make it backend-agnostic

Awesome. I'll work on figuring out those when I'm implementing it for myself. This is very, very, helpful. Thank you.

@ryanhiebert we can get this into a working PR together, if you have some nice ideas on the design :)

Would you be up for a pairing session, perhaps? You can hit me up on irc.freenode.net, I'm ryanhiebert, or you can email me ryan@ryanhiebert.com

If you're interested in pairing, I've set up a floobits workspace at https://floobits.com/ryanhiebert/hirefire.

I do have a good idea, and that's to send a cache dictionary into the procs, so that they can share state between themselves. I'm working up an implementation.

Here's my work-in-progress branch on the approach I came up with. Feel free to give me feedback. I'll open up a PR after I've done some more testing in my environment.

https://github.com/aspiredu/hirefire/tree/global-cache

authors: joshowen ryanhiebert syphar touilleMan

repo: jezdez/hirefire


text:
Support gstreamer

Need to write an example using the macro with an gstreamer element, and possibly create another gst_element macro to make it easier.

I implemented a webrtcsrc element based on this crate, I think we have mostly everything we need tbh.

I also started adding macros to ease GstElement implementation here, at this point it implements element metadata and pad templates declaration in the macros like:

#[gobject::gst_element(
    class(final),
    long_name = "TheTestElement",
    classification = "Test/Filter",
    description = "Just a test",
    author = "Thibault Saunier <tsaunier@igalia.com>",
    pad_templates(
        src(presence="always"),
        // `__` is transformed to `_%` as "%" is not a valid character
        sink__u(direction="sink", presence="sometimes", caps="video/x-raw"),
    )
)]

My next step will be to improve the way we interact with Pads creation and integration into the Elements, maybe adding a macros like:
    #[gobject::gst_pad(sink__u)]
    impl SrcPad {
        fn chain() -> Result<gst::FlowSuccess, gst::FlowError> {
            ...
        }
    }

but I am still thinking.


text:
Creation of a roadmap section

Idea Contribution

[X] I have read all the feature request issues.
[X] I'm interested in working on this issue
[X] I'm part of GSSOC organization

Explain feature request
Creation of a roadmap section,which will contact roadmap and their respected study material and links for various fields, Android development,web development ,ml , DSA etc
Explain your solution
No response
Any alternative approaches/features
No response
Additional Context
No response

@jfmartinz kindly assign me this issue

@jfmartinz Maybe this issue is not solved yet!
I would like to resolve this issue ASAP, creating a roadmap section for almost every tech field- Data Science, Web Development, App Development, UI/UX Design, and Machine Learning...
Kindly assign me this issue, and I'll resolve it soon.

This is actually completed but the author forgot to reference the PR. but you can still add some resources that youd like and create a PR for that, just make sure that those resources are not duplicate, thanks

@jfmartinz  ok then I will do so as a separate pr

authors: Soumya6Tiwari jfmartinz renunegii

repo: jfmartinz/ResourceHub


text:
make sure statuses are included with the buildinfo.

[ ] All tests passed. If this feature is not already covered by the tests, I added new tests.
[x] This pull request is on the dev branch.
[x] I used gofmt for formatting the code before submitting the pull request.

fixes #356

@AnalogJ,
Since we're currently considering to make major changes and improvements to the entire build promotion process, I suggest that for now, we wait with changes to the build-info schema to include promotion statuses.

Hi @eyalbe4
I'd really like to get this merged if possible.
Any chance you could provide an update about the future of Promotion status's in this library?
I've also rebased my branch on the latest from master.

Hey @eyalbe4 @yahavi
Any additional feedback for this PR?

@eyalbe4 @yahavi any updates here? Sorry to keep bugging you

@AnalogJ,
Since this change may conflict with other planned changes to the build promotion process, will you be able to share more details about the need? How are you planning to use and consume this data?
With this information, maybe we'll be able to come up with an alternative solution.

Hey,
This is a critical feature for us. Basically we use the Jfrog Go SDK to create "Builds".
The builds contain a list of versioned artifacts that will be used in a deployment. These artifacts are then scanned using XRAY, and deployed to various non-production environments automatically. The "PromotionStatus" field is used as a manual flag to ensure that Production Deployments can only use vetted/production-ready artifacts.

I see @AnalogJ.
Would you be willing perhaps to tag the build-info artifact in Artifactory, with a property that will indicate the status of the build? Every time you publish a build-info, it is also saved as a file under the artifactory-build-info repository. You can set and get the value of this custom property on/from the build-info artifact, to support your logic.
This functionality is supported by this library as well. See the Setting Properties on Files in Artifactory and Deleting Properties from Files in Artifactory sections in the README.

This PR doesnt seem relevant since https://github.com/jfrog/jfrog-client-go/blob/master/artifactory/services/promote.go is merged. Closing.

repo: jfrog/jfrog-client-go


text:
Some defaults in the user HCL dont match the description

Describe the bug
profile_updatable and disable_ui_access default to True when the docs say they should be False
Requirements for and issue

[x] A description of the bug
[ ] A fully functioning terraform snippet that can be copy&pasted (no outside files or ENV vars unless that's part of the issue). If this is not supplied, this issue will likely be closed without any effort expended.
[ ] Your version of artifactory (you can curl it at $host/artifactory/api/system/version
[ ] Your version of terraform
[ ] Your version of terraform provider

Expected behavior
Docs match actuals
Additional context
Add any other context about the problem here.

https://github.com/jfrog/terraform-provider-artifactory/pull/517

Actually docs here say it should be true https://github.com/jfrog/terraform-provider-artifactory/blob/master/docs/resources/user.md not sure what is the correct default value and which bit is wrong :)

@apr-1985 Per my comment, it's the Description that is incorrect.

repo: jfrog/terraform-provider-artifactory


text:
issue 470 allow creation of location with only try_files

This commit will fix #470.

@buckstr the proposed PR won't allow you to create a location with only try_files.
As is, if you only set try_files and don't set proxy, location_alias, stub_status, fastcgi or www_root then the template vhost/locations/empty.erb will be rendered. This doesn't include try_files.

Hi --
There's been no further activity on this since the 'needs Rebase' and 'needs tests' labels were set. If we don't have any further comments in the next month, this PR will be closed.

Addressed in #834 already.

authors: 3flex buckstr wyardley

repo: jfryman/puppet-nginx

license: mit


text:
Conversion from FromSqlError to Error

Error needs column index, but FromSqlError doesn't have it. I've fudged it by putting obviously-wrong index value, and then hiding that fact in Display.
Ideally the Error should use Option<usize> for index (and type), but I assume it's better to avoid unnecessary backwards-compat break.
Fixes #555

The test failure looks like a vcpkg installation issue, unlikely to be related to this change.

Thank you.

authors: gwenn kornelski

repo: jgallagher/rusqlite


text:
feature request: routie.back(), routie.next()

it would be great to have back and next method for navigating through history

What's wrong with using window.history.back() and window.history.forward()? These should work out of the box.

I haven't dug into why, but in cordova window.history.back() and window.history.forward() don't seem to work -- at least not on the emulated Nexus 4.

authors: GinkgoFJG akaRem benplum


text:
Display an error message when file upload fails

A common error that has been occurring is the failure of the /api/upload endpoint. While I'd like to get around to finding out why the error is happening so frequently, the least we can do is show an error message.
Here is the console output of when it happened to me twice today:

Looks good to me. See my one comment.
It could be that disk space on the server is getting low. It might be worth looking into.

I think that might be it. Disk space, I mean.
Hiding the alert on upload is a good idea. I'll update the PR.
On Feb 2, 2016 7:40 PM, "James Lamine" notifications@github.com wrote:

Looks good to me. See my one comment.
It could be that disk space on the server is getting low. It might be
worth looking into.
—
Reply to this email directly or view it on GitHub
https://github.com/jglamine/calvinwebprint/pull/49#issuecomment-178917875
.

authors: jglamine tylervz

repo: jglamine/calvinwebprint


text:
Bring "Convert labels to SVG" export option to Desktop version + conversion issue

[ ] I agree to follow the Code of Conduct that this project adheres to.
[ ] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

So, I've this big file I'm working on that has a lot (really a lot) of text labels and I'll have it to upload it to Wikimedia Commons. Since Commons doesn't like certain tags about text labels I have to convert that into vectorized text, feature that is only available on the web version. I'd really like to have it on Deskto
p so that I wouldn't have to switch working environment every time I need to export my drawings.
Second, since this file I'm working on is as I said pretty text intensive, the converter struggles to convert all the text and ends with an error. I'll upload the file for context so that you can replicate the issue.
Carrara-Avenza rev. 3 (2023-01-23).zip
Cheers!

convert to SVG requires a back-end, it can't be ported to desktop.

authors: OverFloyd davidjgraph

repo: jgraph/drawio


text:
The future is ember-animated

I propose to either sunset this addon and give people a transition path to ember-animated or perhaps reimagine it as a thin wrapper atop ember-animated.
Thoughts welcome!

ember-sortable has accomplished exactly what I attempted to create in an app I'm working on in a reliable way. I'd hate to see it go, but if the plan is to sunset the addon then I'd be happy to replace what we have with a thin wrapper atop of ember-animated should that be created.

I still think this is worth exploring, but it’s a long way off so closing for now.

repo: jgwhite/ember-sortable


text:
Mongock is not compatible with the native build

Describe the bug
Mongock is a library to help us to handle the data migration with a MongoDb database.
JHipster already uses it with Mongo and we reused the same with Quarkus.
Mongock uses org.reflections that cause an error when we build it with GraalVM to generate a native executable.
To Reproduce
Steps to reproduce the behavior:
Generate a project with MongoDb as a database.
Install GraalVM
openjdk 11.0.10 2021-01-19
OpenJDK Runtime Environment GraalVM CE 21.0.0.2 (build 11.0.10+8-jvmci-21.0-b06)
OpenJDK 64-Bit Server VM GraalVM CE 21.0.0.2 (build 11.0.10+8-jvmci-21.0-b06, mixed mode, sharing)

Run the following command: ./mvnw clean verify -Pnative -DskipTests
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Unsupported features in 2 methods
Detailed message:
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: org.apache.commons.vfs2.VFS. To diagnose the issue you can use the --allow-incomplete-classpath option. The missing type is then reported at run time when it is accessed the first time.
Trace:
	at parsing org.reflections.vfs.Vfs$DefaultUrlTypes$7.createDir(Vfs.java:287)
Call path from entry point to org.reflections.vfs.Vfs$DefaultUrlTypes$7.createDir(URL):
	at org.reflections.vfs.Vfs$DefaultUrlTypes$7.createDir(Vfs.java:287)
	at org.reflections.vfs.Vfs.fromURL(Vfs.java:98)
	at org.reflections.vfs.Vfs.fromURL(Vfs.java:90)
	at org.reflections.Reflections.scan(Reflections.java:236)
	at org.reflections.Reflections$1.run(Reflections.java:199)
	at java.lang.Thread.run(Thread.java:834)
	at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:519)
	at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
	at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved type during parsing: org.apache.commons.vfs2.VFS. To diagnose the issue you can use the --allow-incomplete-classpath option. The missing type is then reported at run time when it is accessed the first time.
Trace:
	at parsing org.reflections.vfs.Vfs$DefaultUrlTypes$7.matches(Vfs.java:281)
Call path from entry point to org.reflections.vfs.Vfs$DefaultUrlTypes$7.matches(URL):
	at org.reflections.vfs.Vfs$DefaultUrlTypes$7.matches(Vfs.java:281)
	at org.reflections.vfs.Vfs.fromURL(Vfs.java:97)
	at org.reflections.vfs.Vfs.fromURL(Vfs.java:90)
	at org.reflections.Reflections.scan(Reflections.java:236)
	at org.reflections.Reflections$1.run(Reflections.java:199)
	at java.lang.Thread.run(Thread.java:834)
	at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:519)
	at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
	at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)

	at com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:129)
	at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:770)
	... 8 more

Expected behavior
The native build should succeed without errors.
Suggestions
Move from Mongock to Liquibase with Mongo.
Find a way to make Mongock compatible with the native build.
Additional context
Use ./mvnw dependency:tree -Dverbose to check which library is using VFS.
Check this issue: https://github.com/quarkusio/quarkus/issues/9801
cc @danielpetisme

closed by #180

I have just realised about this ticket and it seems that has been somehow sorted out.
However is there anything that we can provide natively from Mongock to help on this or improve.
Just let me know.

repo: jhipster/generator-jhipster-quarkus


text:
Add caffeine option for cacheProvider

Overview of the feature request
Caffeine is a new option available for cache since JHipster 6.3.0
Motivation for or Use Case
It should be possible to select this option in JDL
Related issues or PR
https://github.com/jhipster/generator-jhipster/pull/10303

[X] Checking this box is mandatory (this is just to show you read everything)

@murdos : Thanks for adding this; seems I've missed this. 😄

authors: SudharakaP murdos

repo: jhipster/jhipster-core


text:
Gradle CI doesn't launch unit tests

It seems that the gradle ci don't launch unit test only IT.
I have tried to put a failing unit test and the ci was green
Is this the behaviour or a misconfiguration on my side ?
A possible working solution
github-actions.yml
jobs:
  tests:
    name: tests
    runs-on: ubuntu-latest
    timeout-minutes: 20
    steps:
      - name: 'Setup: checkout project'
        uses: actions/checkout@v4
      - name: 'Setup: environment'
        id: setup
        uses: ./.github/actions/setup
      - name: Setup Gradle
        uses: gradle/gradle-build-action@v2
      - name: 'Test: run unit tests'
        run: ./gradlew clean test --no-daemon
      - name: 'Test: run integration tests'
        run: ./gradlew clean integrationTest --no-daemon

@fabienpuissant : I looked at a random build action: feat(liquibase): async liquibase configuration should not be activated if liquibase is disabled. At least for this example, the tests were executed:
> Task :test

JwtReaderTest > should not authenticate user from empty token STANDARD_OUT
    2024-12-05T23:23:09.354Z  INFO   --- [    Test worker] t.j.f.s.a.i.primary.JwtReader            : Invalid empty JWT token

JwtReaderTest > should not authenticate user from blank token STANDARD_OUT
    2024-12-05T23:23:09.359Z  INFO   --- [    Test worker] t.j.f.s.a.i.primary.JwtReader            : Invalid empty JWT token

JwtReaderTest > should not authenticate user from invalid token STANDARD_OUT
    2024-12-05T23:23:09.481Z  INFO   --- [    Test worker] t.j.f.s.a.i.primary.JwtReader            : Invalid JWT token
    2024-12-05T23:23:09.482Z TRACE   --- [    Test worker] t.j.f.s.a.i.primary.JwtReader            : Invalid JWT token: Invalid compact JWT string: Compact JWSs must contain exactly 2 period characters, and compact JWEs must contain exactly 4.  Found: 0

Here is the part of the github-actions.yml responsible for that:
      - name: 'Test: verify ${{ matrix.app }}'
        if: steps.tests-requirement-check.outputs.execute_tests == 'true'
        working-directory: /tmp/jhlite/${{ matrix.app }}/
        run: |
          if [ -f 'mvnw' ]; then
            ./mvnw clean verify -Dsonar.qualitygate.wait=true sonar:sonar
          elif [ -f 'gradlew' ]; then
            ./gradlew clean build sonar --no-daemon --info
          else
            npm install
            npm test
          fi

Please, could you provide an example that reproduces the not desired behavior?

@renanfranca It's on a generated app
See https://github.com/fabienpuissant/test-jh-lite-gradle-ci/actions/runs/12202622941
should fail because of : https://github.com/fabienpuissant/test-jh-lite-gradle-ci/blob/main/src/test/java/com/mycompany/myapp/FailingTest.java
In the test-ci for jhlite it seems to be ok 😄

Not 100% sure just on my mobile, but with the soft ordering should run after for the integration test phase this does not define a dependency. So when just executing integrationtest this does not imply running unit tests.

To work out of the box without Jacoco, it is going need to change the Gradle module to directly link unit and integration tests. Then, when adding Jacoco, remove that link to make Jacoco the glue.

@fabienpuissant : I think your solution is better and more flexible 😉. Even if we add the Jacoco module, the CI configuration will need to be updated to execute Jacoco instead of the IntegrationTest task. IMHO, If you want, feel free to proceed with the implementation—if not, I can take care of it on Monday 👍.
Thanks for reporting that improvement/bug!
cc: @pascalgrimaud , @murdos and @atomfrede

authors: atomfrede fabienpuissant renanfranca

repo: jhipster/jhipster-lite


text:
Typo in Equation 5 in paper?

Equation 5 in the paper makes use of f_S, however, the corresponding portion in Figure 2 (orange) only makes use of f_T. Additionally, f_T makes more sense since the input is in the target domain. Should the f_S in equation 5 be f_T?

”Note that we can also consider a feature-level method  Which distinguishes the features or semantics from two image sets as viewed under a task network. “
I think both f _ s and f _ t can do experiments.


text:
"This is the solution of the issue"

          > "This is the solution of the issue"

this is a quote
Originally posted by @jhon-elen in https://github.com/jhon-elen/Prueba3/issues/7#issuecomment-2267641691

Anothe comment

@jhonelentest

Header
Header

Cell
Cell

Cell
Cell

import os

os.chdir()

Details

This is a detail


text:
Abrocoma bennetti is mentioned in MSW1/2 but Abrocoma bennettii was mentioned in original publication

via @myrmoteras -

[...] For example, Abrocoma bennetti does not match COL because it is spelled with out a ..ii  in MSW2 (and also in MSW1, and 3). The original in has a ...ii though. https://doi.org/10.5281/zenodo.7457193 or https://github.com/plazi/treatments-xml/blob/main/data/03/FA/64/03FA64167865FF8AFF34F96C4ECCA3D4.xml and with access to the original publication. now also in BLR. [...]

also via @myrmoteras

@myrmoteras in running
preston ls | preston grep -o --no-line "(Abrocoma bennetti)([^i])"

after cloning
Plazi Community. (2022). Plazi Treatments XML Archive hash://sha256/3cfd60b8b19e76d208377537835de92efdb5b945a6a71765b74ed2fe22298b42 hash://md/594923284e3eb9965b8cbad149c76cd0f (hash://sha256/3cfd60b8b19e76d208377537835de92efdb5b945a6a71765b74ed2fe22298b42) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.7443343
I was able to cite all locations of Abrocoma bennetti without the ...ii suffix in a recent plazi/treatments-xml corpus and appended them to annotations.csv via https://github.com/jhpoelen/msw-plazi/commit/ea24ff964ea1373302ac01d406a0ac9226f65c68 .

The associated treatment metadata headers in which  the name (without ii suffix) occurs are:
<document ID-DOI="http://doi.org/10.5281/zenodo.6228755" ID-GBIF-Dataset="aa7a2f2b-ea55-4ae2-863a-93bf3bdde535" ID-GBIF-Taxon="119379023" ID-ISSN="1175-5326" ID-Zenodo-Dep="6228755" checkinTime="1459984091607" checkinUser="plazi" docAuthor="Valim, Michel P. & Linardi, Pedro Marcos" docDate="2008" docId="03948456FFB1FFED26E95090DEA41A59" docLanguage="en" docName="zt01899p024.pdf" docOrigin="Zootaxa 1899" docStyle="DocumentStylede.uka.ipd.idaho.easyIO.settings.Settings@1effd53c" docStyleName="zootaxa.2007.monograph" docTitle="Gyropus scalaris Werneck 1942" docType="treatment" docVersion="6" lastPageId="16" lastPageNumber="17" masterDocId="FFADFC2EFFBFFFFD267E5649DD2D1865" masterDocTitle="A taxonomic catalog, including host and geographic distribution, of the species of the genus Gyropus Nitzsch (Phthiraptera: Amblycera: Gyropidae)" masterLastPageNumber="24" masterPageNumber="1" pageId="14" pageNumber="15" updateTime="1645556127074" updateUser="ExternalLinkService">
<document ID-DOI="http://doi.org/10.5281/zenodo.4592306" ID-GBIF-Dataset="e61aa52f-2e17-4afc-b30a-6cd468eea36b" ID-GBIF-Taxon="180302034" ID-ISSN="1545-1410" ID-Zenodo-Dep="4592306" ID-ZooBank="B8876E05-78A8-45FA-A34A-9FFB56741A20" checkinTime="1614695199489" checkinUser="felipe" docAuthor="Pérez, M. Julieta & Díaz, M. Mónica" docDate="2018" docId="03970124E858FFE6FF5BB08A2EBC056C" docLanguage="en" docName="MammalSpecies.50.963.74-83.pdf" docOrigin="Mammalian Species 50 (963)" docSource="http://dx.doi.org/10.1093/mspecies/sey010" docStyle="DocumentStyle:E260F2FEBB038053A7447521347BED36.2:MammalSpecies.2016-.journal_article" docStyleId="E260F2FEBB038053A7447521347BED36" docStyleName="MammalSpecies.2016-.journal_article" docStyleVersion="2" docTitle="Octodontomys gliroides" docType="treatment" docVersion="4" lastPageId="6" lastPageNumber="80" masterDocId="FFAE795CE859FFE0FF8AB0412A6B0312" masterDocTitle="Octodontomys gliroides (Rodentia: Octodontidae)" masterLastPageNumber="83" masterPageNumber="74" pageId="1" pageNumber="75" updateTime="1643466530690" updateUser="ExternalLinkService" zenodo-license-document="CLOSED">
<document ID-DOI="http://doi.org/10.5281/zenodo.6228735" ID-GBIF-Dataset="aa7a2f2b-ea55-4ae2-863a-93bf3bdde535" ID-GBIF-Taxon="119379012" ID-ISSN="1175-5326" ID-Zenodo-Dep="6228735" checkinTime="1459984091607" checkinUser="plazi" docAuthor="Valim, Michel P. & Linardi, Pedro Marcos" docDate="2008" docId="03948456FFB8FFFA26E952E1DE221F7B" docLanguage="en" docName="zt01899p024.pdf" docOrigin="Zootaxa 1899" docStyle="DocumentStylede.uka.ipd.idaho.easyIO.settings.Settings@1effd53c" docStyleName="zootaxa.2007.monograph" docTitle="Gyropus longus Neumann 1912" docType="treatment" docVersion="6" lastPageNumber="8" masterDocId="FFADFC2EFFBFFFFD267E5649DD2D1865" masterDocTitle="A taxonomic catalog, including host and geographic distribution, of the species of the genus Gyropus Nitzsch (Phthiraptera: Amblycera: Gyropidae)" masterLastPageNumber="24" masterPageNumber="1" pageId="7" pageNumber="8" updateTime="1645556127074" updateUser="ExternalLinkService">
<document ID-DOI="http://doi.org/10.5281/zenodo.7353039" ID-ISBN="0-89327-235-3" ID-Zenodo-Dep="7353039" approvalRequired="41" approvalRequired_for_document="2" approvalRequired_for_matCits="35" approvalRequired_for_originalDoi="1" approvalRequired_for_treatments="3" checkinTime="1665792792562" checkinUser="GgServerImporter" docAuthor="James H. Honacki, Kenneth E. Kinman & James W. Koeppl" docDate="1982" docId="03BC87A94624FFB823F2F6CB530FF624" docLanguage="en" docName="MammalSpeciesofTheWorld.1982.Rodentia.560-594.pdf.imd" docOrigin="Mammal Species of the World (1 st Edition), Lawrence, Kansas, USA: Alien Press, Inc. & The Association of Systematics Collections" docTitle="Abrocoma bennetti Waterhouse 1837" docType="treatment" docVersion="3" lastPageNumber="585" masterDocId="FF85FFD1463DFFA12306FFF55074FFFA" masterDocTitle="Order Rodentia (Part 6)" masterLastPageNumber="594" masterPageNumber="560" pageNumber="585" updateTime="1669255589438" updateUser="ExternalLinkService">
<document ID-DOI="http://doi.org/10.5281/zenodo.7353083" ID-ISBN="1-56098-217-9" ID-Zenodo-Dep="7353083" approvalRequired="3" approvalRequired_for_document="2" approvalRequired_for_originalDoi="1" checkinTime="1667534037376" checkinUser="GgServerImporter" docAuthor="Charles A. Woods" docDate="1993" docId="E11F878EFFCAFFC5FF3DF9DBFC54D984" docLanguage="en" docName="MammalSpeciesofTheWorld.1993.Hystricognathi.771-806.pdf.imd" docOrigin="Mammal Species of the World (2 nd Edition), Washington and London: Smithsonian Institution Press" docTitle="Abrocoma bennetti Waterhouse 1837" docType="treatment" docVersion="3" lastPageNumber="789" masterDocId="1D26FFF6FFD8FFD7FFE1FC69FFB0DF05" masterDocTitle="Order Rodentia - Suborder Hystricognathi" masterLastPageNumber="806" masterPageNumber="771" pageNumber="789" updateTime="1669256602727" updateUser="ExternalLinkService">
<document ID-DOI="http://doi.org/10.5281/zenodo.7353083" ID-ISBN="1-56098-217-9" ID-Zenodo-Dep="7353083" approvalRequired="3" approvalRequired_for_document="2" approvalRequired_for_originalDoi="1" checkinTime="1667534037376" checkinUser="GgServerImporter" docAuthor="Charles A. Woods" docDate="1993" docId="E11F878EFFCAFFC5FF50F949FDC9DA9C" docLanguage="en" docName="MammalSpeciesofTheWorld.1993.Hystricognathi.771-806.pdf.imd" docOrigin="Mammal Species of the World (2 nd Edition), Washington and London: Smithsonian Institution Press" docTitle="Abrocoma Waterhouse 1837" docType="treatment" docVersion="3" lastPageNumber="789" masterDocId="1D26FFF6FFD8FFD7FFE1FC69FFB0DF05" masterDocTitle="Order Rodentia - Suborder Hystricognathi" masterLastPageNumber="806" masterPageNumber="771" pageNumber="789" updateTime="1669256602727" updateUser="ExternalLinkService">

generated via
cat ../msw-plazi2/annotations.csv\
 | grep Donat\
 | cut -d ',' -f6\
 | sed 's/cut://g'\
 | sed 's+!/b.*$++g'\
 | sort\
 | uniq\
 | grep hash\
 | parallel "preston cat {1} | head -n1"

So,according to Plazi's recent treatments-xml corpus, the assumed invalid name (i.e., Abrocoma bennetti without ii prefix) appears in:
Valim, Michel P., & Linardi, Pedro Marcos. (2008). Gyropus scalaris Werneck 1942. In A taxonomic catalog, including host and geographic distribution, of the species of the genus Gyropus Nitzsch (Phthiraptera: Amblycera: Gyropidae), pp. 1-24 in Zootaxa (Vol. 1899, pp. 15–17). Zenodo. https://doi.org/10.5281/zenodo.6228755
Pérez, M. Julieta, & Díaz, M. Mónica. (2018). Octodontomys gliroides. In Octodontomys gliroides (Rodentia: Octodontidae), pp. 74-83 in Mammalian Species (Vol. 50, Number 963, pp. 75–80). Zenodo. https://doi.org/10.5281/zenodo.4592306
Valim, Michel P., & Linardi, Pedro Marcos. (2008). Gyropus longus Neumann 1912. In A taxonomic catalog, including host and geographic distribution, of the species of the genus Gyropus Nitzsch (Phthiraptera: Amblycera: Gyropidae), pp. 1-24 in Zootaxa (Vol. 1899, p. 8). Zenodo. https://doi.org/10.5281/zenodo.6228735
James H. Honacki, Kenneth E. Kinman, & James W. Koeppl. (1982). Order Rodentia (Part 6). In Mammal Species of the World (1st Edition) (pp. 560–594). Alien Press, Inc. & The Association of Systematics Collections. https://doi.org/10.5281/zenodo.7353039
Charles A. Woods. (1993). Order Rodentia - Suborder Hystricognathi. In Mammal Species of the World (2nd Edition) (pp. 771–806). Smithsonian Institution Press. https://doi.org/10.5281/zenodo.7353083
and . . . annotations now exist to point to exactly which position of the texts they occur. You should actually be able to generate a little web widget that places the annotation exact on top of the location the suspected text occurs. . .

repo: jhpoelen/msw-plazi


text:
The document object obtained from parsing with jsoup.parse is missing one layer of elements compared to the original HTML.

https://test.em.bonahl.com/#/user/login
original :

jsoup:

https://github.com/jhy/jsoup/blob/1762412a28fa7b08ccf71d93fc4c98dc73086e03/src/main/java/org/jsoup/parser/HtmlTreeBuilderState.java#L417

It seems that nesting forms is not allowed here. However, modern frontend frameworks have implemented nested form nesting.

Input:

<form id=1>
<form id=2>
</form>
</form>

jsoup parse:

   <form id="1">
   </form>

Chrome parse (Inspect Document)

Spec:
https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inbody

A start tag whose tag name is "form"
If the form element pointer is not null, and there is no template element on the stack of open elements, then this is a parse error; ignore the token.
...

I believe jsoup is working per spec and to the same output as current browsers by only allowing one form on the stack at a time.

Shadow DOM enables you to attach a DOM tree to an element, and have the internals of this tree hidden from JavaScript and CSS running in the page. Modern frontend frameworks have implemented neste HTML forms through Shadow DOM, and it have been widely used. jsoup should adapt to this.

authors: 666asd jhy skylakeliu

repo: jhy/jsoup


text:
no tabs on linux

Description
I assume that tabs are supported, since an issue for tabs feature-request has already been closed long time ago #116 and from some issues it seems that tabs are supported, ex in OSX : #647.
However on linux (ubuntu 18.04) this is not the case, tabs open in new window.
Steps to reproduce issue
middle-click or ctrl-click a internal link opens a new window instead of a new tab.
links are not either considered as external URLs because they do not open in web browser but in nativefier.
Details

Are you nativefying a public website ? => tried few websites, some hosted locally and some public websites.
Feature request? Have you looked at nativefier --help to see if an existing option could fit your needs? => yes and I trired to specify --internal-urls but it did not change the behaviour.
Full nativefier command used to build your app: nativefier --name "Gitlab" --icon "/path/to/gitlab/icon.png" --internal-urls "https://mydomain.comgitlab/*" "https://mydomain.com/gitlab"
Version of Nativefier (run nativefier --version): v7.6.4
Version of node.js (run node --version): v9.2.0
OS: Ubuntu 18.04

The nativefier support for tabs comes from electron; support for native tabs in electron for macOS was added here: https://github.com/electron/electron/pull/9052
If electron gets updated to support tabs on more platforms then it should be relatively simple to add support for them to nativefier.
It would be possible to change how middle-click and ctrl-click behave in nativefier, to open external links in an external browser when native tabs are unavailable, but I'm not convinced such a change would provide value, since external links already open in an external browser when you left-click on them.  Being able to use middle-click to override the default "open externally" behavior seems useful to me.

@monkeydri 👍 to what @bacongravy said. See Release Notes for Nativefier v7.6.3:

macOS: Add tabs, used automatically instead of windows (PR #579).
Provided by Electron and (so far) no available for Windows/Linux, contributions welcome.

alright, thanks fro your answer. It's a pity, as I don't think native tabs will be available on linux/windows anytime soon on Electron as there is no equivalent feature on them as macOS native tabs (ie. an option to display multiple windows from an app as tabs).

@bacongravy Can the module electron-tabs help to support tabbing in Linux?

authors: bacongravy mhgharieb monkeydri ronjouch

repo: jiahaog/nativefier


text:
Guidance running script

Hello, very interested in the project, I would like to run the script. Supposedly there are some parameters, but I don't know how to add them.
Running the script without parameters gives blank output.
I also tried running the blocks of code as files, the first downloads model files and then errors at line 7: list indices must be integers or slices, not str
How should one go about running this? I'm using windows

Make sure you can run Whisper without any problems first.
Next:
import whisper
from stable_whisper import modify_model

model = whisper.load_model('base', 'cuda')
modify_model(model)

Then just use the model how you normally how you would use it. It should behave just like how whisper normally behaves, but with some additional values in the results.

I'm having the same problem. I can use Whisper with no issues, but I always get this error when executing the example script.
word_timestamps = results['segments']['word_timestamps']
TypeError: list indices must be integers or slices, not str
I'm also using Windows 10 and I'm a complete novice, so apologies if I'm making a silly mistake.

you can run like this but all the data is visible, so not very clean:
make "run.py" file and put
import whisper
from stable_whisper import modify_model
model = whisper/load_model('base', 'cuda')
modify_model(model)
results = model.transcribe('out.wav')
print(results)
type python run.py in the terminal.
Maybe @jianfch can write a packaged demo script later. This is not for  command line tools

Yes, but that does not have single word timings, thats just generating a normal (better than youtube though w/punctuation) .srt
I'd like to make .ass timed text subtitles for all videos. so I need the timestamps and word data

Not sure about .ass, but you can change results_to_sentence_srt to results_to_token_srt to get the word timings. FYI -

The "word" timestamps are actually token timestamps. Since token:word is not always 1:1 (varies by language), you may need to do some additional processing to get individual word timings.

Thanks, that's super helpful!

word_timestamps = results['segments']['word_timestamps'] TypeError: list indices must be integers or slices, not str

that was a mistake on my part for not updating the execution lines in readme
word_timestamps are under each segment, instead of the segments which is a list
so the word_timestamps for first segments would be:
first_segment_token_timestamps = results['segments'][0]['word_timestamps']

if you want a list of just the word_timestamps
word_timestamps = [seg['word_timestamps'] for seg in results['segments']]

authors: ClashSAN jak3-taylor jianfch

repo: jianfch/stable-ts


text:
在uxcore中使用jsonp方式获取数据会报错

SyntaxError: Unexpected token :

具体什么错？

不好意思，忘了jsonp要求的返回数据格式不是json。已经通过修改header实现跨域访问。

authors: isoloist jias

repo: jias/natty-fetch


text:
✨ チーム開発の資料を追加

概要
インターンで使用する資料を追加しました
変更点

README.mdの追加
docs.mdの追加
drawi.o integrationをrecommendationsに追加
スクラムマスターがlinterにかかってしまったのでfilterを追加した

@dicenull 演習と目次を修正完了しました

repo: jigintern/intern-dev-tutorial


text:
subregion_select dropdown has value numeric instead of alphabet code

Hi there,
As part of testing just observed that for country Denmark, the subregion select dropdown has value numeric.
State
Hovedstaden
Midtjylland
Nordjylland
Sjælland
Syddanmark
On saving it, the same numeric value is being saved in table.
Is it normal behaviour, any fix will be really appreciated.

Those are the region codes as found by the iso-codes debian package so this is expected behavior unless that codes have changed since the last time the script was run in the carmen gem.

Select tag looks like this:

 Hovedstaden
 Midtjylland
 Nordjylland
 Sjælland
 Syddanmark

So on saving value, 84 saves in the database instead of state code..

authors: arun-manthani ecbypi

repo: jim/carmen-rails


text:
cm-chessboard: Figure out the status of pawn promotion

Pawn promotion seems an issue with all of these “just a board” packages. See closed issue “ Pawn promotion support? #19 at cm-chessboard.
To the extent that I’m just replicating FEN strings, I don’t think there’s any problem. Where a need would arise is either (a) when I’m stepping through a main line (rather than using FENs) or (b) when the user is adding an line that has a promotion.

Closed as out of scope for this repository.


text:
about the length of tokens

Hello,
I have read your paper and am quite interested in your work! There is a question about the tokens.
I notice you truncat the passage tokens with 120 in MSMARCO Passage Retrieval, however, for ANCE, the original paper uses 512 tokens. So does the number of tokens have the impact on the accuracy?

No
We just don't have that many advanced GPUs to afford very long input :(
BTW, the average passage length is about 70 tokens and truncating to 120 shouldn't be a problem.

hhhhhhhhha!
Thanks a lot for your reply! I have no multiple GPUs either! Lol!
I agree with your settings!

authors: KaishuaiXu jingtaozhan

repo: jingtaozhan/DRhard


text:
Set default value while AutoMigrate

If no default value, the query with gorm will get error.

Hi @wb14123
I just pushed a commit,  so even the data in database is NULL, gorm won't get any error now.
So we don't need the default value for migrations
Thank you.

repo: jinzhu/gorm


text:
Fixed issue https://github.com/jinzhu/gorm/issues/151 where postgresql connection problems fail silently

For reference: https://github.com/jinzhu/gorm/issues/151
Errors connection to a postgresql fail silently, resulting in errors. This fix sends a ping right after the connection has been made. If the ping fails, we assume the connection is broken.
Accepting better solutions. This quick fix did it for me :)

Should we always Ping() the database after connection?

It's not the most pretty solution. But it an extra safetycheck to verify that the connection is in fact alive.

Should i rewrite the pr and make the Ping() generic?

Hi @pariz
Yes, I think it is a better solution than just check the postgres.

I agree. Code has been updated. Epic oneliner! :)

picked your code to the master, thank you.

authors: jinzhu pariz


text:
datas on ajax call not work correctly

Problemes
1- The filter don't work.
2- After filtering with a range then the datas are correctly loaded.
I don't have the probleme when in load datas on external files data (places.js)
Please help me:

Here is a part of my code:
$(document).ready(function(){
var places = [];
$.ajax({
type: 'GET',
contentType: "json",
url: 'http://www.mydomaine.com/client/places',
async: false,
success:function(data){
places = data;
}
});
renderCategories();
initInputs();
var place = places[0];
GoogleMap.init(place.coordinate.latitude, place.coordinate.longitude, places);
var afterFilter = function(result){
$('#total_places').text(result.length);
GoogleMap.updateMarkers(result);
}
afterFilter(places);
//search: {ele: '#searchbox', fields: ['runtime']}, // With specific fields

var FJS = FilterJS(places, '#places', {
template: '#place-template',
search: {ele: '#searchbox', fields: ['name', 'categories','disponible','regionId','departementId']},
callbacks: {
afterFilter: afterFilter
}
});
FJS.addCriteria({field: 'rating', ele: '#rating_filter', type: 'range'});
FJS.addCriteria({field: 'disponible', ele: '#is_closed_criteria input:checkbox'});
FJS.addCriteria({field: 'categories', ele: '#categories_criteria input:checkbox', all: 'all'});
FJS.addCriteria({field: 'regionId', ele: '#region_criteria input:checkbox', all: 'all'});
FJS.addCriteria({field: 'departementId', ele: '#region_criteria input:checkbox', all: 'all'});
window.FJS = FJS;
});

I'm having trouble understanding your problem.
The Filter doesn't seem to give any results until you actually change the range?
Are you initializing it with the min and max values from the start?

Code looks correct, but can you send me your site url or HTML. It will help me to debug i.e How you initializing your range filters.

I correct the problems : it's comes from the initiating of the range.
Thanks a lot.

authors: Acen diouf83 jiren


text:
Consider adding compute unit limit to bundles

Problem
Proposed Solution

@buffalu What should the limit be?

repo: jito-foundation/jito-solana


text:
[iOS] Fix uncaught NSInvalidArgumentException in RTCPeerConnection's createAnswer

WebRTC appears to fail RTCPeerConnection's createAnswer without an
error message i.e. nil. But NSMutableDictionary does not accept nil as
a value and causes an uncaught exception.

Based on Daniel Ornelas' comment that the "error" key should actually be "NSLocalizedDescription" and looking at the error.localizedDescription, I suppose it's better to morph this one further.

ok, let me know when it's ready to be merged

authors: lyubomir paweldomas

repo: jitsi/react-native-webrtc


text:
Spaces vs Tabs

Why are you using spaces now? Tabs makes the code look more clean and organized in my opinion.

I'm not sure how its cleanliness/organization is adversely affected by this change, could you elaborate on that?
I decided to switch to spaces mainly because of the inconsistency between different programs/websites/browsers/users. Through some of these lenses tabs come out as long as 8 spaces (rather than the standard 4, in VS), requiring more scrolling or resulting in more code flowing onto subsequent lines (much less readable), can be especially painful on phones/small resolution devices.
Tabs also caused problems with 'pretty spaced' code (where params/array initializers are lined up nicely for easy reading) which could easily end up ugly. Admittedly the biggest issue here was that tabs were used for more than just the start-of-line to start-of-code portions; but making this change certainly helped identify/eliminate those that were in the middle and makes it very easy to do so in the future. It's also easier to find stray tabs than stray spaces, if keeping the project on a 100% consistent convention ever became relevant (using different forms I’ve heard, can cause lotsa merge issues).
Productivity wise I find the two indentation options to be quite equivalent, Visual Studios can easily be set to turn tab key-presses into 4-spaces (Tools->Options->Text Editor->C/C++->Tabs); white space can be easily jumped with ctrl+arrows or deleted with ctrl+delete and inserting or re-inserting a ; or } automatically spaces chunks of code.
For tabs the only advantages I read up on and considered legitimate was the ability for users to set their size (in some programs, not all give this option) and the relative ease for newer coders - which didn't, in my opinion, outweigh their disadvantages.
Some discussion on the matter:
http://programmers.stackexchange.com/questions/57/tabs-versus-spaces-what-is-the-proper-indentation-character-for-everything-in-e
It appears I can't link SEN shoutbox convos, so http://www.staredit.net/shoutboxsearch/ + starter phrase "like my friend and I decide for our project that indentation is to be this many spaces" then hit context.


text:
Method for creating and printing board

The user needs a way to put a sudoku board into the program. Boards should be printed in a way that is easy to read.

A graphical user interface will be created using Swing. The GUI will allow for a user to create a sudoku board to be solved, as well as display solutions.

repo: jjklemm/sudoku-solver


text:
Sub listed item in numbered list in 01-jupyter.ipynb

Please check the numbered list in one of the first markdown cells of the notebook. For the sub listed item I think one more space in front of the "1." is necessary, otherwise the item just becomes part of the main list.

fixed. thanks.


text:
Update code: issue #2 Updating model from controller does not update control

Can you take this solution along in your code? Thanks
scope.$watch(attrs['ngModel'], function (newTime) {
scope.initTime = newTime;
reinitTime();
});

Spot on! This fix was exactly what i was looking for.

Can someone make a PR please?

I had already made a PR: https://github.com/jkuri/ngTimepicker/pull/4

Sorry, I missed it. Thanks for your PR, it's merged.

authors: elineopsommer jkuri leypoldt

repo: jkuri/ngTimepicker


text:
Lack of support for valid endpoints

Consider the following code from Usage with Express
getUser: t.procedure.input(z.string()).query((req) => {
  req.input; // string
  return { id: req.input, name: 'Bilbo' };
}),

After adding this line
.meta({ openapi: { method: 'GET', path: '/getUser' } })

trpc-openapi fail to process it
TRPCError: [query.getUser] - Input parser must be a ZodObject

This is correct.
- z.string()
+ z.object({ id: z.string() })

This is correct.
You have linked to the tRPC documentation.
trpc-openapi has a few additional requirements so you may need to make a few changes to your procedure.
- z.string()
+ z.object({ id: z.string() })

Please make sure you have read this 👉 https://github.com/jlalmes/trpc-openapi/blob/master/README.md

Well, it's string and not object (see the // string comment - it's there, in the documentation, not something I added), so it can't be correct.
And thing is that we not only need to change the procedure, but change API requests as well, which is too high price to pay.

Hi Sergey. Please read the README before commenting again.

so it can't be correct

trpc-openapi requires that your inputs are wrapped in an z.object.

need to change the procedure

Yes.

change API requests

I don't think you've understood REST.
Consider the following procedure.
getUser: t.procedure
  .meta({ openapi: { method: 'GET', path: '/user' } })
  .input(z.object({ userId: z.string() }))
  .output(z.object({ id: z.string(), name: z.string() }))
  .query(({ input }) => {
    console.error(typeof req.input.userId);
    return { id: req.input, name: 'Bilbo' };
  }),

This is how it can be invoked.
@trpc/server 👉  GET /getUser?input=${encodeURI(JSON.stringify({ userId: 'abc123' }))}
trpc-openapi 👉 GET /user?userId=abc123

too high price to pay

That's your decision to make.

authors: elmeister jlalmes

repo: jlalmes/trpc-openapi


text:
SSL support

Is it possible to attach to a kafka instance with SSL enabled?  For example, when I'm attaching to my cluster as a producer, I'll use the following:
KafkaProducer(bootstrap_servers=kafkaServer, security_protocol="SSL", ssl_check_hostname=True)
When attaching to the kafka cluster through this extension, I can specify the bootstrap server and port (443 in my case), but I can't seem to find a way to change the security protocol.

Currently SSL is only enabled when using an authentication scheme, i.e. you have a username/password.
So you need SSL but no auth?

Currently SSL is only enabled when using an authentication scheme, i.e. you have a username/password.
So you need SSL but no auth?

Yes, currently we don't have any auth, just SSL.  I tried to specify SASL/Plain as authentication but with a blank username password, but that doesn't seem to work.

Yes, currently we don't have any auth, just SSL.  I tried to specify SASL/Plain as authentication but with a blank username password, but that doesn't seem to work.

Ok, so your use case seems quite simple but if we want to do SSL support right (and advertise we support SSL), we need to be able configure SSL certificate configuration, as per https://kafka.js.org/docs/configuration#ssl
Currently, the ssl boolean is only set here: https://github.com/jlandersen/vscode-kafka/blob/a0257d0932263cc66bce73c5579a9d530f9655b0/src/client/client.ts#L325

Ok, so your use case seems quite simple but if we want to do SSL support right (and advertise we support SSL), we need to be able configure SSL certificate configuration, as per https://kafka.js.org/docs/configuration#ssl
Currently, the ssl boolean is only set here: https://github.com/jlandersen/vscode-kafka/blob/a0257d0932263cc66bce73c5579a9d530f9655b0/src/client/client.ts#L325

Brilliant!  That works well for my purposes, it connects fine and seems to be working well.

Brilliant!  That works well for my purposes, it connects fine and seems to be working well.

authors: fbricon mike-england

repo: jlandersen/vscode-kafka


text:
Cannot see files in folders since Container Manager feature

Current Behavior
Hello
Since the appearance of Container Manager instead of Docker package I noticed that the backup was constantly stuck at 0 files found (0mb) which is not normal. So I browsed through files and noticed that folders and files were not visible. The permissions are good (USER_ID=0 and GROUP_ID=0).
The problem happened after a reboot following an image update.
I noticed that by restarting the container from the command line, the problem was gone.
Does anyone also have the problem?
What to do to continue to benefit from the evolutions of Container Manager (simple update feature) without having to restart systematically on the command line.
I specify that the bug is in no way related to the good work of our dear JLesage ;-)
Expected Behavior
No response
Steps To Reproduce
No response
Environment

OS:
OS version:
CPU:
Docker version:
Device model:
Browser/OS:

Container creation
Container Manager package
Container log
no abnormal log

Container inspect
No response
Anything else?
No response

I assume you are using a Synology NAS?
Looks like the issue where /volume1 is mapped to /storage (see #310).  Is it the case?

Yes I use a Synology NAS but the issue not seems to be the same as #310 tab.
I will try to make new tests later

You can also share the output of docker inspect <container name> so we can have a complete picture of the container's configuration.

I deleted the container and created a new one. Issue seems gone when container started from Container Manager

Hello,
Now I get 1,5 years to backup 4 TB. How to increase backup speed ? My ISP speed is about 700 mbps but crashplan backup is really slow.

Yes, it is known that upload speed is slow.  However, because of deduplication, a lot of data don't really have be uploaded.  If you look at Tools->History, you can see the "Effective rate": the value can be very high and would typically improve over time.

I had the same problem.
In fact, when the docker container was created (a long time ago), the storage volume was not requested.
Since the last update, not only is it requested, but if it hadn't been configured originally, it points to an empty virtual folder.
I installed portainer to change the configuration and set storage bind to volume1.
Since then, I've been able to browse storage, but for crashplan, it's not the same folder structure. As a result, the backup started from scratch. I hope that deduplication will play its part, otherwise I'm in for several months of backups.

authors: Bagu jlesage walawa75

repo: jlesage/docker-crashplan-pro


text:
Use custom DB instance

Hi, thanks a lot to share this ,it is really great.
I'm wandering can we use our custom DB instance (like MySQL or Maria DB) instead of MySQL in container ,thanks.

If you want to use your own DB instance, look at the original project:
https://github.com/jc21/nginx-proxy-manager

authors: KevinZhangt jlesage

repo: jlesage/docker-nginx-proxy-manager