[stable/graylog] self-links broken to web-interface

I've created this IngressRoute:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: traefik-graylog
spec:
  entryPoints:
  - web
  routes:
  - kind: Rule
    match: Host(`graylog.localhost`)
    services:
    - name: graylog-web
      port: 9000

As you can see I'm trying to get access to service graylog-web/9000 under graylog.localhost.
My graylog-web/9000 service description is:
$ kubectl get service graylog-web -o yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: "2020-03-15T16:44:18Z"
  labels:
    app.kubernetes.io/component: web
    app.kubernetes.io/instance: graylog
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: graylog
    app.kubernetes.io/version: "3.1"
    helm.sh/chart: graylog-1.6.1
  name: graylog-web
  namespace: graylog
  resourceVersion: "117147"
  selfLink: /api/v1/namespaces/graylog/services/graylog-web
  uid: de164073-2823-451a-b39a-e52e78b09042
spec:
  clusterIP: <IP_ADDRESS>
  ports:
  - name: graylog
    port: 9000
    protocol: TCP
    targetPort: 9000
  selector:
    app.kubernetes.io/instance: graylog
    app.kubernetes.io/name: graylog
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

I'm able to reach that:
$ curl graylog.localhost
<!DOCTYPE html>
<html>
  <head>
    ...
  </head>
  <body>
    <script src="http://graylog-1.graylog.graylog.svc.cluster.local:9000/config.js"></script>
    ...
  </body>
</html>

Nevertheless, it's returning me self-links to graylog-1.graylog.graylog.svc.cluster.local:9000....
Next time I try to reach it:
$ curl graylog.localhost
<!DOCTYPE html>
<html>
  <head>
    ...
  </head>
  <body>
    <script src="http://graylog-0.graylog.graylog.svc.cluster.local:9000/config.js"></script>
    ...
  </body>
</html>

As you can see, next time it's returning links to graylog-0....
graylog-0 and graylog-1 are pods runing "behind" graylog-web service:
$ kubectl get pods -l app.kubernetes.io/instance=graylog,app.kubernetes.io/name=graylog
NAME        READY   STATUS    RESTARTS   AGE
graylog-0   1/1     Running   0          59m
graylog-1   1/1     Running   0          57m

Why it's returning this so large link to internal pods?
I think it should return self-links to ingressRoute graylog.localhost, shouldn't it?

I think this is due to this line. When I changed it to my public URI, the /api/apibrowser page started working correctly: https://github.com/helm/charts/blob/f710f21dd13f93cb8e62dacf2de181f0f974e360/stable/graylog/templates/configmap.yaml#L142
I don't know where it's picking it up from footer though:

my config (using terraform):
    tags:
      install-mongodb: true
      install-elasticsearch: false

    graylog:
      image:
        repository: "graylog/graylog:${local.graylog.version}"

      podAnnotations:
        ${chomp(indent(4, yamlencode(local.annotations)))}

      service:
        master:
          annotations:
            ${chomp(indent(8, yamlencode(local.annotations)))}

      ingress:
        enabled: true
        hosts:
          - "${local.graylog.hostname}"
        annotations:
          "external-dns.alpha.kubernetes.io/hostname": "${local.graylog.hostname}"
          "external-dns.alpha.kubernetes.io/ttl": "300"
          "kubernetes.io/ingress.class": "nginx"
          "nginx.ingress.kubernetes.io/configuration-snippet": |
            proxy_set_header X-Graylog-Server-URL https://${local.graylog.hostname}/;
          ${chomp(indent(6, yamlencode(local.annotations)))}
        tls:
          - secretName: "${local.graylog.certificate}"
            hosts:
              - "${local.graylog.hostname}"

      metrics:
        enabled: true

      rootPassword: "${local.graylog.admin_password}"

      elasticsearch:
        hosts: "${local.graylog.elasticsearch_host}"

      input:
        udp:
          service:
            type: "NodePort"
            annotations:
              "external-dns.alpha.kubernetes.io/hostname": "udp-${local.graylog.hostname}"
              "external-dns.alpha.kubernetes.io/ttl": "300"
          ports:
            ${chomp(indent(8, yamlencode(local.graylog.inputs_udp)))}

      plugins:
        ${chomp(indent(4, yamlencode(local.graylog.plugins)))}

    mongodb-replicaset:
      extraLabels:
        "autopilothq.com/app": "mongodb"
        ${chomp(indent(4, yamlencode(local.labels)))}

      persistentVolume:
        annotations:
          ${chomp(indent(6, yamlencode(local.annotations)))}

      podAnnotations:
        ${chomp(indent(4, yamlencode(local.annotations)))}

      secretAnnotations:
        ${chomp(indent(4, yamlencode(local.annotations)))}

      serviceAnnotations:
        ${chomp(indent(4, yamlencode(local.annotations)))}

      statefulSetAnnotations:
        ${chomp(indent(4, yamlencode(local.annotations)))}

      metrics:
        enabled: true

I also faced the same issue and I did workaround as:

Create LoadBlancer service with

$ cat graylog-dashboard-service.yaml
apiVersion: v1
kind: Service
metadata:
  name: graylog-dashboard
  namespace: graylog
  labels:
    app.kubernetes.io/instance: graylog
spec:
  ports:
    - name: transport
      port: 9000
      protocol: TCP
      targetPort: 9000
  selector:
    app.kubernetes.io/instance: graylog
    app.kubernetes.io/name: graylog
    graylog-role: master
  type: LoadBalancer
$
$ kubectl create -f graylog-dashboard-service.yaml

Check the external IP of the service

$ kubectl get service graylog-dashboard -n graylog
NAME                TYPE           CLUSTER-IP   EXTERNAL-IP   PORT(S)          AGE
graylog-dashboard   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>   9000:31932/TCP   18m

Specify the external IP as graylog.externalUri option:

$ helm install --namespace graylog graylog stable/graylog --set graylog.externalUri=<IP_ADDRESS>:9000

/cc @oomichi

Hi all,
Has anyone been able to resolve this?
Anyone had any experience with MetalLB? I hoped that would solve the issue as suggested by @oomichi but no luck, it loads the html page but all the js files reference to http://graylog-0.graylog.graylog.svc.cluster.local:9000/config.js ,etc.
Any help would be highly appreciated.

I have a similar situation. There is clusterIp service that created called graylog-web. If I set externalUri: <IP_ADDRESS>:8000 and user kubectl port-forward  service/graylog-web 8000:9000 --namespace graylog. Able to access the user interface. But When inputs configured it again some how picking up http://graylog-1.graylog.graylog.svc.cluster.local and Failing configuration problem. I am sure zookeeper string is correct in the configuration.

Faced same issue, setting externalUri: "https://my-external.com" caused the creation of externalUri: "http://https://my-external.com" and the Kubernetes Ingress was not working properly.
As a workaround I edited graylog configmap, there is two mentions to "http://https:". After saving, do not forget to force a restart of the statefulset.
Definitive solution should be patching the helm chart to check if http or https.

I have a similar situation. There is clusterIp service that created called graylog-web. If I set externalUri: <IP_ADDRESS>:8000 and user kubectl port-forward service/graylog-web 8000:9000 --namespace graylog. Able to access the user interface. But When inputs configured it again some how picking up http://graylog-1.graylog.graylog.svc.cluster.local and Failing configuration problem. I am sure zookeeper string is correct in the configuration. @micos76 have been able to get some solution ?

It was problem of kafka api being used by graylog version 3.1 when upgraded to 3.2 it works about to get log messages from kafka.


Cleaning up code

What does this PR do?
Did some code cleanup, but still needs more.  Each commit focuses on a different area, but I did not want to have this pull request get too large, so I am submitting what I have for today.
Screenshots of changes made to the webapp.
I did not take screenshots because nothing visual is changing, but I did activate my fork of the code in GitHub Pages so that you can go to my fork, and see that everything is working properly before you merge. (* I am not very experienced in open source, so please, let me know if there is a better way of showing off changes in this instance.)
Related PRs and Issues
This PR is related to issue #151 .

Have you updated the README.md file?

[ ] yes
[x] no

Have you made any big breakthrough change?

[ ] yes
[x] no

Is the code beautified?

[x] yes
[ ] no

Is the code clear to understand with proper variable naming and comments?

[x] yes
[ ] no

Have merged the file to main after resolving conflicts.

You might like to mention this pull request here
https://github.com/Aatmaj-Zephyr/Clean-code-implementations


🐞 - ng add taiga-ui - old version (2.62.2)

Which @taiga-ui/* package(s) are the source of the bug?
Don't known / other
Please provide a link to a minimal reproduction of the bug
No response
Is this issue blocking you?
Non-Blocking
Description
ng add taiga-ui install 2.62.2 but actial is 3
Angular version
13
Taiga UI version
?
Which browsers have you used?

[X] Chrome
[X] Firefox
[X] Safari
[X] Edge

Which operating systems have you used?

[X] macOS
[X] Windows
[X] Linux
[ ] iOS
[ ] Android

Probably, it happens because we've released 2.x. And it has latest-tag:
https://www.npmjs.com/package/@taiga-ui/cdk

Expected condition:
dont add latest-tag for 2.x


Enabling firewalld breaks podman network removal if pod creation fails

Enabling firewalld breaks podman network removal if ansible fails
When using containerized services, if a pod creation fails the pod network will be removed, in this case
the CNI firewall backend is not configured to firewalld, breaking Ansible with an unhandled exception.
TASK [../../roles/kubeinit_bind : Create BIND db internal zone] ****************
changed: [localhost -> <IP_ADDRESS>] => {"changed": true, "checksum": "c626fda1426a6fa22269a87c5a8386761753938c", "dest": "/var/kubeinit/bind/zones/internals/db.rkecluster.kubeinit.local", "gid": 0, "group": "root", "md5sum": "9191bf51d97b4622def9fa987d3e1d1a", "mode": "0644", "owner": "root", "size": 1692, "src": "/root/.ansible/tmp/ansible-tmp-1627939723.4379623-3037-41765181103385/source", "state": "file", "uid": 0}
TASK [../../roles/kubeinit_bind : Create a podman container to serve the Bind server] ***
fatal: [localhost -> <IP_ADDRESS>]: FAILED! => {"changed": false, "msg": "Can't pull image docker.io/internetsystemsconsortium/bind9:9.11", "stderr": "Trying to pull docker.io/internetsystemsconsortium/bind9:9.11...\ntime=\"2021-08-02T21:29:16Z\" level=warning msg=\"failed, retrying in 1s ... (1/3). Error: Error initializing source docker://internetsystemsconsortium/bind9:9.11: Error reading manifest 9.11 in docker.io/internetsystemsconsortium/bind9: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit\"\ntime=\"2021-08-02T21:29:49Z\" level=warning msg=\"failed, retrying in 1s ... (2/3). Error: Error initializing source docker://internetsystemsconsortium/bind9:9.11: Error reading manifest 9.11 in docker.io/internetsystemsconsortium/bind9: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit\"\ntime=\"2021-08-02T21:30:22Z\" level=warning msg=\"failed, retrying in 1s ... (3/3). Error: Error initializing source docker://internetsystemsconsortium/bind9:9.11: Error reading manifest 9.11 in docker.io/internetsystemsconsortium/bind9: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit\"\nError: Error initializing source docker://internetsystemsconsortium/bind9:9.11: Error reading manifest 9.11 in docker.io/internetsystemsconsortium/bind9: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit\n", "stderr_lines": ["Trying to pull docker.io/internetsystemsconsortium/bind9:9.11...", "time=\"2021-08-02T21:29:16Z\" level=warning msg=\"failed, retrying in 1s ... (1/3). Error: Error initializing source docker://internetsystemsconsortium/bind9:9.11: Error reading manifest 9.11 in docker.io/internetsystemsconsortium/bind9: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit\"", "time=\"2021-08-02T21:29:49Z\" level=warning msg=\"failed, retrying in 1s ... (2/3). Error: Error initializing source docker://internetsystemsconsortium/bind9:9.11: Error reading manifest 9.11 in docker.io/internetsystemsconsortium/bind9: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit\"", "time=\"2021-08-02T21:30:22Z\" level=warning msg=\"failed, retrying in 1s ... (3/3). Error: Error initializing source docker://internetsystemsconsortium/bind9:9.11: Error reading manifest 9.11 in docker.io/internetsystemsconsortium/bind9: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit\"", "Error: Error initializing source docker://internetsystemsconsortium/bind9:9.11: Error reading manifest 9.11 in docker.io/internetsystemsconsortium/bind9: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit"], "stdout": "", "stdout_lines": []}
PLAY RECAP *********************************************************************
hypervisor-01              : ok=19   changed=3    unreachable=0    failed=0    skipped=6    rescued=0    ignored=1
localhost                  : ok=220  changed=103  unreachable=0    failed=1    skipped=54   rescued=0    ignored=0
time="2021-08-02T17:30:55-04:00" level=error msg="unable to cleanup network for container 0cce952948ba14f61c57a6ccc3a7533a02f409404b9ac704d8f585eede9666ed: \"error tearing down CNI namespace configuration for container 0cce952948ba14f61c57a6ccc3a7533a02f409404b9ac704d8f585eede9666ed: Error while removing pod from CNI network \\\"podman\\\": running [/usr/sbin/iptables -t nat -D POSTROUTING -s <IP_ADDRESS> -j CNI-a12114ad2239e4242b4847a6 -m comment --comment name: \\\"podman\\\" id: \\\"0cce952948ba14f61c57a6ccc3a7533a02f409404b9ac704d8f585eede9666ed\\\" --wait]: exit status 2: iptables v1.8.4 (nf_tables): Chain 'CNI-a12114ad2239e4242b4847a6' does not exist\\nTry `iptables -h' or 'iptables --help' for more information.\\n\""
(ara.sh) ==> Executing ara.sh
(ara.sh) ==> The pipelne_id is rke-libvirt-1-0-1-

It seems that when cleaning the pod network it tries to use IPtables instead of firewalld to manage the rules.
[root@nyctea ~]# cat /etc/cni/net.d/eks-service-01-bridge.conflist
{
   "cniVersion": "0.4.0",
   "name": "eks-service-01-bridge",
   "plugins": [
      {
         "type": "bridge",
         "bridge": "cni-podman3",
         "isGateway": true,
         "ipMasq": true,
         "mtu": 1442,
         "hairpinMode": true,
         "ipam": {
            "type": "host-local",
            "routes": [
               {
                  "dst": "<IP_ADDRESS>/0"
               }
            ],
            "ranges": [
               [
                  {
                     "subnet": "<IP_ADDRESS>/24",
                     "gateway": "<IP_ADDRESS>"
                  }
               ]
            ]
         }
      },
      {
         "type": "portmap",
         "capabilities": {
            "portMappings": true
         }
      },
      {
         "type": "firewall",
         "backend": ""
      },
      {
         "type": "tuning"
      }
   ]

In this case, the firewall network plugin backend should be firewalld.
This:
      {
         "type": "firewall",
         "backend": ""
      },

To:
        {
            "type": "firewall",
            "backend": "firewalld"
        }

Solutions:

Make sure we don't install or enable firewalld anywhere not enabled by default.

We install firewalld
We enable firewalld

Update the CNI configuration file with the correct backend in case firewalld is enabled.

[root@nyctea ~]# podman network inspect podman |grep -C1 firewall
            {
                "type": "firewall"
            },

From what I can see the driver can be nftables, iptables, or firewalld.
Some references:

https://github.com/containers/podman/issues/5569
https://github.com/containers/podman/issues/5352
https://github.com/containers/podman/issues/5335


Update google-cloud-trace to 2.14.0

About this PR
📦 Updates com.google.cloud:google-cloud-trace from 2.3.7 to 2.14.0
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.cloud", artifactId = "google-cloud-trace" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.cloud", artifactId = "google-cloud-trace" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #259.


Split the benchmarks into a separate repo

This was originally discussed at https://github.com/iree-org/iree/pull/10167#discussion_r957532080. The idea is to separate the IREE benchmark framework (and related benchmark stuff) into a separate repository.
Right now the benchmark framework is located under build_tools/benchmarks/ (we have the old benchmark files in benchmarks/, which will be removed eventually). To implement the benchmark framework, we have created some non-trivial python module structures under that directory. And when we start defining more benchmarks, it's expected to contain more files.
Another potential issue is when we add more complicated benchmarks (e.g. from SHARK tanks), those benchmarks might not be no longer than just a few lines of definitions, but some custom python scripts to generate and run the benchmarks. And they might require some external python packages to run.
Keeping all of these under IREE project limits what we can do (e.g. we have strange issues on python module paths since benchmark framework is not a package #10065) and will potentially introduce unneeded dependencies to the core IREE project.
Therefore, spinning out the IREE benchmark into its own repo could be a solution for this. However it's going to create extra work on a new CI system and the sync problem between two projects.

An RFC is in review for the creation of the separate benchmark repo: https://github.com/openxla/community/pull/77

We are now have https://github.com/openxla/openxla-benchmark to host benchmarks. Next step is to move out some large benchmarks.

Closed as benchmark suite in IREE and openxla-benchmark repo now serves their different missions


Feat/solana tokens support

📝 Description

Finalized integration with SPL tokens on Solana.

Details:

Updated sub accounts sychronisation [coin-solana solana]
Added BURN operation type [LLD, libs/coin-framework, libs/ledgerjs/packages/types-live]
Added account sub header for displaying alert message for frozen tokens [LLD, LLM]
Disable staking modal for solana tokens [LLD]
Added additinal warning messages [LLM, LLD]
Fixed tx fee of token account (it should be in SOL) [LLM]
Implement functions (assignFromTokenAccountRaw, assignToTokenAccountRaw) for serialization of TokenAccount custom fields (like token "frozen" state) [libs/coin-framework, libs/ledgerjs/packages/types-live]
Enabled existing tokens integration tests and added additional few in bridge.integration.test.ts [coin-solana solana]
Added speculos tests for tokens [coin-solana solana]
Updated bridge.integration.test.ts snapshot [LLC solana]

Screenshots

❓ Context

JIRA or GitHub link:

✅ Checklist
Pull Requests must pass the CI and be code reviewed. Set as Draft if the PR is not ready.

[x] npx changeset was attached.
[x] Covered by automatic tests.
[x] Impact of the changes:

Solana accounts in LLD, LLM. Send tokens, receive tokens, view tokens

🧐 Checklist for the PR Reviewers

[ ] The code aligns with the requirements described in the linked JIRA or GitHub issue.
[ ] The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
[ ] There are no undocumented trade-offs, technical debt, or maintainability issues.
[ ] The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
[ ] Any new dependencies have been justified and documented.
[ ] Performance considerations have been taken into account. (changes have been profiled or benchmarked if necessary)

@hedi-edelbloute Hi Hedi
How are you?
I'm back from vacation. Do you need any input or actions from my side in current PR?
I see there is another PR into LL repository was created.

Hello @mikhd ! I'm fine and hope it's the same for you :smile:
Quentin is working to finish SPL token and pulled most of your work, was the PR complete on your side ?
Priority fees PR introduced an issue on the Swap specifically, so we reverted. Quentin pulled priority fees work again, and is also trying to fix the swap issue, as fees seem to be too low without it for spl tokens
We can discuss this in more details on discord


[Bug]: ChatBot not fitting in the page properly

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The chatbot is not displaying correctly on the page. It either overflows the boundaries of its container or appears misaligned, resulting in parts of the chatbot being cut off or hidden. This issue affects its usability and responsiveness, making it difficult for users to interact with the chatbot on different screen sizes. The expected behavior is that the chatbot should resize and fit properly within the available space on the page, adapting seamlessly to different device dimensions.
Expected behavior
The expected behavior is that the chatbot should be fully visible and properly aligned within its designated container on the page. It should automatically adjust its size and layout to fit different screen resolutions and device types, ensuring that no part of the chatbot is cut off or hidden. The chatbot should maintain a responsive design, providing a smooth and user-friendly experience across desktops, tablets, and mobile devices.
Add ScreenShots

On which device are you experiencing this bug?
Chrome, Windows
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

actually This issue is already created

@rebornstar1 @manikumarreddyu
no one is working on this issue.

check issue #302

@manikumarreddyu
this is elegently improving the ui. I am making the chatbot fit into the pages for all the devices.

You can raise issue after that issue is closed...until then wait patiently... @nidhi752


[Question] Has anyone been facing issues with hot reload recently?

Did anyone encounter issues with hot reload in their application?

I found it and I have no idea how to solve D:

I met the same problem as well.

when i set publiPath，it is not working


Bump libpcre-sys dependencies

I just ran into an error dealing with libc and tar, which I tracked down to this crate.
The libc-pocalypse is finally over, and bumping the dependencies makes this compile again :)
There are newer versions of both the tar and the bzip2 crate available but I haven't looked into it.

Thank you!


UI Improvement [Hacktoberfest]

Improve the UI [Hacktoberfest 2019]
Would you like to work on this Project?
yes
UI design link will be submitted soon!!

I would like to collaborate on this part of the project too so I can improve my UI skills.

I would like to collaborate on this part of the project too so I can improve my UI skills.

Sure you can collaborate!! hope the issue will be accepted

Yup U are free to do it and I aready merged that PR.

Can i create a new icons ? i'm graphist

@72y9op sure But try to switch here https://github.com/Ishaan28malik/Get-Dev-Resources , this needs help.


tuya  air conditioning partner

Who has tried this device, tuya
air conditioning partner, support infrared reception, transmission, relay, power statistics

Check the wiki


Coordinates have wrong number of elements after a Dataset/DataArray is split by np.split()

What happened:
Tried to split a DataArray containing coordinates using numpy. Surprisingly, coordinates along another dimension than the axis specified to numpy are split. The resulting DataArray is broken since now the number of elements in all coordinates are different from the corresponding dimensions.
What you expected to happen:
Coordinates along the correct dimension should be split.
Minimal Complete Verifiable Example:
>>> import xarray as xr
>>> import numpy as np
>>> testarr = xr.DataArray(np.zeros((4, 6)), coords={"dim_0": np.arange(4), "aux_0": ("dim_0", ["a", "b", "c", "d"]), "aux_1": ("dim_1", np.arange(6))})
>>> np.split(testarr, 3, axis=1)
[<xarray.DataArray (dim_0: 4, dim_1: 2)>
/-- array of shape (4, 2), all zero --/
Coordinates:
  * dim_0    (dim_0) int64 0 1
    aux_0    (dim_0) <U1 'a' 'b'
    aux_1    (dim_1) int64 0 1 2 3 4 5
Dimensions without coordinates: dim_1, <xarray.DataArray (dim_0: 4, dim_1: 2)>
/-- array of shape (4, 2), all zero --/
Coordinates:
  * dim_0    (dim_0) int64 2 3
    aux_0    (dim_0) <U1 'c' 'd'
    aux_1    (dim_1) int64 0 1 2 3 4 5
Dimensions without coordinates: dim_1, <xarray.DataArray (dim_0: 4, dim_1: 2)>
/-- array of shape (4, 2), all zero --/
Coordinates:
  * dim_0    (dim_0) int64
    aux_0    (dim_0) <U1
    aux_1    (dim_1) int64 0 1 2 3 4 5
Dimensions without coordinates: dim_1]

Anything else we need to know?:
Yes I know there's probably a better way to achieve what I need using xarray, probably xarray.apply_ufunc() or sth. Still, the observed behavior is unexpected.
 It looks like a (4, 6) array was split into three (4, 2) arrays; what should happen here?

Thanks for asking this question to clarify! My example probably wasn't as concise as it could've been. The issue isn't with the data variable content of the three split arrays, it's with the coordinates. It appears that coordinates along dim_0 have been split instead of those along dim_1. This leaves the resulting DataArrays malformed. Their coordinates do not match their corresponding dimensions in length.

Oh right, that is surprising — i.e.     aux_1    (dim_1) int64 0 1 2 3 4 5 is there despite  dim_1: 2).
I'm not sure exactly what's going on. It's not really part of the API, though these things generally justwork™, so let's at least leave it open.

Yes, aux_1 (dim_1) should be split into chunks of two elements. At the same time, the coordinates aux_0 (dim_0) and * dim_0 (dim_0) should not be split at all. Even if it is not part of the API, it still is surprising that such DataArrays are created without warning or error. In other words, there isn't any check for self-consistency. I have to admit, though, that I'm not familiar with the internals of how xarray and numpy interact for these numpy array manipulation routines.

Fixed on main.


Mixin console logging with test logger for stress tests

Right now we have a mix of console logs and calls to logger.send in the stress test. These should be merged to do both.
PS - lower priority but could be low-hanging fruit with a fix here would be to mixin existing getTestLogger() value when registering a new one (rather than overwriting)

meh


Xml based 3mf manifold

I have modified the 3mf-export library to use the fast-xml-parser library for XML generation. This should fix some problems with special characters in strings and should make the lib easier to maintain.
I have also implemented a new function called to3mfZipContent that simplifies the process of generating the final zip files.
The performance impact of my changes is currently unknown. I haven't made any perf tests yet. @hrgdavor do you have a benchmark setup for that? If not, I can try to build one.

Performance difference could be from vertex count, so using the default test example we have for performance comparison of execution could be used to test for performance test of export to 3mf. We just take larger and larger sphere precision

I'm closing this branch and creating a new one based on main soon.


start error

Failed to start thread "VM Thread" - pthread_create failed (EPERM) for attributes: stacksize: 1024k, guardsize: 4k, detached.

could you check if port 4000 is not in use when you start


added unlink fileset before the deletion of the fileset request

Signed-off-by: badri-pathak<EMAIL_ADDRESS>Pull request checklist

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature Enhancement
[ ] Test Automation
[ ] Code Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Community Operator listing
[ ] Other (please describe):

What is the current behavior?

What is the new behavior?

How risky is this change?

[ ] Small, isolated change
[ ] Medium, requires regression testing
[ ] Large, requires functional and regression testing

Driver Image: quay.io/badri_pathak/ibm-spectrum-scale-csi-driver:unlinkFileset_v3


Issue encountered using FASP package in Jupyter

On 6/20 we had trouble using the fasp package from Jupyter on @yash-puligundla 's machine.
Yash are you able to paste in the log that showed up in terminal when you started Jupyter?
I tested the install on a clean python environment on a different machine from my regular one. It all worked OK. Once the python virtual environment was activated, and jupyter notebook was started from that environment everything worked OK.
I have a Windows VM available and will test on there if I have time. Or is anyone else available to test on Windows?

Hi @ianfore. This is the log I see when I start a jupyter notebook from a venv

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/encoder.py:257: UserWarning: date_default is deprecated since jupyter_client 7.0.0. Use jupyter_client.jsonutil.json_default.
return _iterencode(o, 0)

The following is after I run import fasp

ERROR:asyncio:Exception in callback <TaskWakeupMethWrapper object at 0x7fa215f67340>(<Future finis...79c"\r\n\r\n'>)
handle: <Handle <TaskWakeupMethWrapper object at 0x7fa215f67340>(<Future finis...79c"\r\n\r\n'>)>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
RuntimeError: Cannot enter into task <Task pending name='Task-1' coro=<HTTP1ServerConnection._server_request_loop() running at /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/tornado/http1connection.py:823> wait_for=<Future finished result=b'GET /api/co...579c"\r\n\r\n'> cb=[IOLoop.add_future..() at /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/tornado/ioloop.py:688]> while another task <Task pending name='Task-2' coro=<KernelManager._async_start_kernel() running at /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/jupyter_client/manager.py:335>> is being executed.
ERROR:asyncio:Exception in callback <TaskWakeupMethWrapper object at 0x7fa215ef2ac0>(<Future finis...79c"\r\n\r\n'>)
handle: <Handle <TaskWakeupMethWrapper object at 0x7fa215ef2ac0>(<Future finis...79c"\r\n\r\n'>)>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
RuntimeError: Cannot enter into task <Task pending name='Task-2' coro=<HTTP1ServerConnection._server_request_loop() running at /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/tornado/http1connection.py:823> wait_for=<Future finished result=b'GET /kernel...579c"\r\n\r\n'> cb=[IOLoop.add_future..() at /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/tornado/ioloop.py:688]> while another task <Task pending name='Task-2' coro=<KernelManager._async_start_kernel() running at /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/jupyter_client/manager.py:336>> is being executed.
[I 09:50:30.036 NotebookApp] Kernel started: dea27323-18a7-4642-ba3d-28371e44107b, name: ismb_venv
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/encoder.py:257: UserWarning: date_default is deprecated since jupyter_client 7.0.0. Use jupyter_client.jsonutil.json_default.
return _iterencode(o, 0)


Cannot extract some channels

Not work:

https://www.youtube.com/user/PewDiePie

Fixed at 42a50554885f1b340b520d026f4f76452733139f


[WIP] test(binaryinstall): Add initial tests

:hocho: Do not merge :hocho:
This PR will add some tests to the binary install crate. Please review even that it's WIP. I appreciate any comments what so ever.

I think it would be great to get your thoughts/review of this @ashleygwilliams, @alexcrichton or @fitzgen. :blush:

@fitzgen Thanks for the review! I have now addressed all the comments.


Cleanup BetterRetailUSA stores, add proper store  AB#27702

Cleanup BetterRetailUSA stores, add proper store (New York).

Should we add AB#27702 in the description to link it to Azure DevOps ?

This line would need to be modified following the removal of US stores: https://github.com/Orckestra/CommerceModel.BetterRetail/blob/412ebb5fd2b4786cfa2f9a4ec56fdf81d9e923af/src/CommerceModel.BetterRetail/LoadDataProfile_DevTest.xaml#L262

Users are created in ActiveDirectory, or registered provider.


Make feature "Set image as a wallpaper" optional

This single feature depends on the ashpd crate which is a pretty huge
dependency - it adds 61 transitive dependencies and doubles the size of
the image-roll binary. Moreover, this feature is usable only on some
desktops. For example, Sway users will not benefit from it.
This commit introduces a (cargo) feature named "wallpaper", which is
enabled by default. When the application is built with
--no-default-features, the ashpd dependency is excluded from the
dependency tree and the "Set as wallpaper" button is disabled (by
setting sensitive to false).
This is suboptiomal, ideally I'd like to remove the button from the UI
when this feature is disabled, but I don't know how to do it without
adding too much complexity.

Looks good! In the future I want to move to relm4 with UI as code, which will make things such as removing the button during runtime easy.


Upgrade to gradle 7.0.2

Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

Codecov Report

Merging #981 (d93cfaf) into master (678212a) will decrease coverage by 0.03%.
The diff coverage is 75.00%.

@@             Coverage Diff              @@
##             master     #981      +/-   ##
============================================
- Coverage     70.04%   70.00%   -0.04%
+ Complexity     5085     5082       -3
============================================
  Files           502      502
  Lines         22509    22509
  Branches       2355     2355
============================================
- Hits          15766    15757       -9
- Misses         5489     5504      +15
+ Partials       1254     1248       -6

Impacted Files
Coverage Δ

...src/main/java/ai/djl/mxnet/engine/MxNDArrayEx.java
87.77% <ø> (ø)

.../main/java/ai/djl/tensorflow/engine/TfNDArray.java
85.23% <ø> (ø)

...ain/java/ai/djl/tensorflow/engine/TfNDManager.java
88.49% <ø> (-2.66%)
:arrow_down:

...in/java/ai/djl/repository/zoo/BaseModelLoader.java
72.72% <50.00%> (ø)

.../src/main/java/ai/djl/repository/zoo/Criteria.java
89.84% <100.00%> (ø)

...gine/src/main/java/ai/djl/dlr/engine/DlrModel.java
53.12% <0.00%> (-3.13%)
:arrow_down:

api/src/main/java/ai/djl/util/Platform.java
43.47% <0.00%> (-2.18%)
:arrow_down:

...g/src/main/java/ai/djl/serving/util/Connector.java
55.40% <0.00%> (-1.36%)
:arrow_down:

...ngine/src/main/java/ai/djl/mxnet/jna/LibUtils.java
42.23% <0.00%> (-1.25%)
:arrow_down:

... and 3 more

Continue to review full report at Codecov.

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


TS2321: Excessive stack depth comparing types

TS ERROR
zod : 3.10
ts-to-zod : 1.2.0
Typescript 4.3.2
this TS interface
export interface tag {
  tags: any[];
}

output
export const tagSchema = z.object({
  tags: z.array(z.any())
});

but  produce a typescript error :
TS2321: Excessive stack depth comparing types 'ZodError?>' and 'ZodError?>'.
TS2321: Excessive stack depth comparing types 'ZodFormattedError?>' and 'ZodFormattedError?>'.
TS2321: Excessive stack depth comparing types 'ZodIntersection?, U>' and 'ZodIntersection?, U>'.
TS2321: Excessive stack depth comparing types 'ZodIntersection ' and 'ZodIntersection '.
TS2321: Excessive stack depth comparing types 'ZodNonEmptyArray?>' and 'ZodNonEmptyArray?>'.

🤔 Strange indeed, I will need to investigate a bit. Thanks for reporting this issue
As workaround, you can use the --skipValidation flag, the API is well tested 😉

This seams to be related to typescript version, 4.2.3 works perfectly (I will fix the version for now I think)
Related issues:
https://github.com/microsoft/TypeScript/issues/43249
https://github.com/colinhacks/zod/issues/443

I just tested it, works like a charm now, congrats and thank you


Berkeley DB error when trying to build crux

I'm trying to build crux on ubuntu 16.04. The make command fails with this log:
# github.com/blk-io/crux/vendor/github.com/jsimonetti/berkeleydb
bdb.c: In function ‘go_db_cursor’:
bdb.c:78:38: warning: passing argument 3 of ‘dbp->cursor’ from incompatible pointer type [-Wincompatible-pointer-types]
         ret = dbp->cursor(dbp, NULL, dbcp, 0);
                                      ^
bdb.c:78:38: note: expected ‘DBC ** {aka struct __dbc **}’ but argument is of type ‘DBC * {aka struct __dbc *}’

The repo (github.com/jsimonetti/berkeleydb) has been archived and is no longer being maintained. I've managed to solve the issue locally but I think it would be a good idea to fork it and fix dependencies.

We need Berkely-DB installed to build Crux. You could run sudo apt-get update -qq && sudo apt-get install -y -qq libdb-dev libpthread-stubs0-dev and then build Crux.

Is the build failing or are you just getting a warning? The challenge is that we want to retain BerkeleyDB support in Crux for the time being.

The build was failing. I think you'd be better off forking the lib github.com/jsimonetti/berkeleydb and updating the code. I could do it, if you want, since I have already resolved this.

Great - please do submit a PR.
On Wed, 18 Jul 2018 at 10:20, yghazi<EMAIL_ADDRESS>wrote:

The build was failing. I think you'd be better off forking the lib
github.com/jsimonetti/berkeleydb and updating the code. I could do it, if
you want, since I have already resolved this.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/blk-io/crux/issues/16#issuecomment-405867715, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ACDHqqSRhqOYjo87s3Rvqa-ZlfjdKCCjks5uHv3pgaJpZM4VP1gR
.

--
Web:    http://conorsvensson.com
Phone:  +44 7497 376 365
Skype:  conor_svensson

Hi @yghazi , changing the import spec to github.com/block360/berkeleydb is not yet solving the problem. Still getting 9 errors. Is this still WIP? Pls help, thx.

@Puneetha17 , yes.
Here's a copy from my console:
$ go get github.com/block360/berkeleydb
# github.com/block360/berkeleydb
../../../go/src/github.com/block360/berkeleydb/bdb.go:44:7: could not determine kind of name for C.DBC
../../../go/src/github.com/block360/berkeleydb/bdb.go:19:15: could not determine kind of name for C.DB_CREATE
../../../go/src/github.com/block360/berkeleydb/bdb.go:20:15: could not determine kind of name for C.DB_EXCL
../../../go/src/github.com/block360/berkeleydb/bdb.go:25:16: could not determine kind of name for C.DB_INIT_MPOOL
../../../go/src/github.com/block360/berkeleydb/bdb.go:33:14: could not determine kind of name for C.DB_QUEUE
../../../go/src/github.com/block360/berkeleydb/bdb.go:21:15: could not determine kind of name for C.DB_RDONLY
../../../go/src/github.com/block360/berkeleydb/bdb.go:22:15: could not determine kind of name for C.DB_TRUNCATE
../../../go/src/github.com/block360/berkeleydb/bdb.go:34:14: could not determine kind of name for C.DB_UNKNOWN
../../../go/src/github.com/block360/berkeleydb/bdb.go:53:9: could not determine kind of name for C.db_create
../../../go/src/github.com/block360/berkeleydb/bdb.go:229:27: could not determine kind of name for C.db_full_version
../../../go/src/github.com/block360/berkeleydb/bdb.go:245:9: could not determine kind of name for C.db_strerror
../../../go/src/github.com/block360/berkeleydb/bdb.go:210:9: could not determine kind of name for C.go_cursor_get_first
../../../go/src/github.com/block360/berkeleydb/bdb.go:221:9: could not determine kind of name for C.go_cursor_get_last
../../../go/src/github.com/block360/berkeleydb/bdb.go:188:9: could not determine kind of name for C.go_cursor_get_next
../../../go/src/github.com/block360/berkeleydb/bdb.go:199:9: could not determine kind of name for C.go_cursor_get_prev
../../../go/src/github.com/block360/berkeleydb/bdb.go:172:9: could not determine kind of name for C.go_db_cursor

clang errors for preamble:
In file included from ../../../go/src/github.com/block360/berkeleydb/bdb.go:6:
./bdb.h:5:29: error: expected parameter declarator
extern int go_db_open(DB *, DB_TXN *, char *, char *, DBTYPE, u_int32_t, int);
                            ^
/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN          0x80000000      /* Do transactions. */
                        ^
In file included from ../../../go/src/github.com/block360/berkeleydb/bdb.go:6:
./bdb.h:5:29: error: expected ')'
/usr/include/db.h:93:17: note: expanded from macro 'DB_TXN'
#define DB_TXN          0x80000000      /* Do transactions. */
                        ^
./bdb.h:5:22: note: to match this '('
extern int go_db_open(DB *, DB_TXN *, char *, char *, DBTYPE, u_int32_t, int);
                     ^
./bdb.h:11:24: error: unknown type name 'DB_ENV'
extern int go_env_open(DB_ENV *, char *, u_int32_t, u_int32_t);
                       ^
./bdb.h:12:25: error: unknown type name 'DB_ENV'
extern int go_env_close(DB_ENV *, u_int32_t);
                        ^
./bdb.h:19:24: error: unknown type name 'DBC'
int go_db_cursor(DB *, DBC **);
                       ^
./bdb.h:20:24: error: unknown type name 'DBC'
int go_cursor_get_next(DBC *, char *, char *);
                       ^
./bdb.h:21:24: error: unknown type name 'DBC'
int go_cursor_get_prev(DBC *, char *, char *);
                       ^
./bdb.h:22:25: error: unknown type name 'DBC'
int go_cursor_get_first(DBC *, char *, char *);
                        ^
./bdb.h:23:24: error: unknown type name 'DBC'
int go_cursor_get_last(DBC *, char *, char *);
                       ^
9 errors generated.

To build Crux we dont need to do go get github.com/block360/berkeleydb
You can install berkeleydb using sudo apt-get update -qq && apt-get install -y -qq libdb-dev libpthread-stubs0-dev and run make setup && make, it will pull down all the dependencies and execute.

@Puneetha17 , thanks for that headsup. Mac users can install berkeleydb using:
brew install berkeley-db4 and brew link berkeley-db4 --force
However, I am now encountering a new error this time for make setup && make:
$ make setup && make
go get -u github.com/golang/dep/cmd/dep
go get -u golang.org/x/tools/cmd/goimports
go get -u github.com/wadey/gocovmerge
(cd /Users/<DIR>/crux/.GOPATH/src/github.com/blk-io/crux && ./bin/dep ensure)
# github.com/blk-io/crux/vendor/github.com/block360/berkeleydb
.GOPATH/src/github.com/blk-io/crux/vendor/github.com/block360/berkeleydb/bdb.go:229:27: could not determine kind of name for C.db_full_version
make: *** [build] Error 2

@Puneetha17 , still no luck

I am seeing the same warn, however I believe it is just a warning.
Looks like berkeleydb is no longer maintained, however, so having it as a build dependency is probably not ideal long term. https://github.com/jsimonetti/berkeleydb/issues/1


Second test issue

asdfghjklkb

Thanks, this was caught in issue #1 . To be resolved in next release


Fix the incorrect syscall in Posix.preadBytes

This pull request fixes #554: libcore.io.Posix.preadBytes calls pwrite64 in its native method implementation when pread64 should be called instead.
A reproducible gist is provided here.
After applying the patch, run make jre_emul_dist and rebuild the transpiled project. I used the above-mentioned gist to make sure that the bug would be fixed this way.

Merged in change, will push publicly after code review.

Added gist as unit test in new jre_emul/Tests/libcore/io/PosixTest.java source.


tmpdir_max_jobs has no effect, can only run a single job per tmpdir

I have two Intel P4610s in RAID 0 as /dev/md0, so I'm only using tmp/00. That means I need to run a lot of jobs on it though, and I though that is exactly what tmpdir_max_jobs is for. I set it to 12, but plotman still refuses to create more than a single job for tmp/00. As soon as the stagger time runs out, it says 'no eligible tempdirs'.
Plotman 22:44:22 (refresh 2s/20)  |
lotting: (active) no eligible tempdirs rchival: (not configured)
Jobs (1): [1   .    2        3       4 ]
Prefixes:  tmp=/mnt/tmp/00  dst=/mnt/dst/00 (remote)
  #    plot id    k   tmp   dst   wall   phase    tmp    pid   stat    mem   user    sys   io
  0   ********   32     .     .   0:30     1:3   145G   2554    SLP   5.3G   0:44   0:01   0s

This is my plotman.yaml:
# Default/example plotman.yaml configuration file

# Options for display and rendering
user_interface:
        # Call out to the `stty` program to determine terminal size, instead of
        # relying on what is reported by the curses library.   In some cases,
        # the curses library fails to update on SIGWINCH signals.  If the
        # `plotman interactive` curses interface does not properly adjust when
        # you resize the terminal window, you can try setting this to True.
        use_stty_size: True

# Where to plot and log.
directories:
        # One directory in which to store all plot job logs (the STDOUT/
        # STDERR of all plot jobs).  In order to monitor progress, plotman
        # reads these logs on a regular basis, so using a fast drive is
        # recommended.
        log: /home/john/chia-logs

        # One or more directories to use as tmp dirs for plotting.  The
        # scheduler will use all of them and distribute jobs among them.
        # It assumes that IO is independent for each one (i.e., that each
        # one is on a different physical device).
        #
        # If multiple directories share a common prefix, reports will
        # abbreviate and show just the uniquely identifying suffix.
        tmp:
                - /mnt/tmp/00

        # Optional: Allows overriding some characteristics of certain tmp
        # directories. This contains a map of tmp directory names to
        # attributes. If a tmp directory and attribute is not listed here,
        # it uses the default attribute setting from the main configuration.
        #
        # Currently support override parameters:
        #     - tmpdir_max_jobs
        # tmp_overrides:
                # In this example, /mnt/tmp/00 is larger than the other tmp
                # dirs and it can hold more plots than the default.
                # "/mnt/tmp/00":
                #         tmpdir_max_jobs: 5

        # Optional: tmp2 directory.  If specified, will be passed to
        # chia plots create as -2.  Only one tmp2 directory is supported.
        # tmp2: /mnt/tmp/a

        # One or more directories; the scheduler will use all of them.
        # These again are presumed to be on independent physical devices,
        # so writes (plot jobs) and reads (archivals) can be scheduled
        # to minimize IO contention.
        dst:
                - /mnt/dst/00

        # Archival configuration.  Optional; if you do not wish to run the
        # archiving operation, comment this section out.
        #
        # Currently archival depends on an rsync daemon running on the remote
        # host, and that the module is configured to match the local path.
        # See code for details.
        # archive:
                # rsyncd_module: plots
                # rsyncd_path: /plots
                # rsyncd_bwlimit: 80000  # Bandwidth limit in KB/s
                # rsyncd_host: myfarmer
                # rsyncd_user: chia
                # Optional index.  If omitted or set to 0, plotman will archive
                # to the first archive dir with free space.  If specified,
                # plotman will skip forward up to 'index' drives (if they exist).
                # This can be useful to reduce io contention on a drive on the
                # archive host if you have multiple plotters (simultaneous io
                # can still happen at the time a drive fills up.)  E.g., if you
                # have four plotters, you could set this to 0, 1, 2, and 3, on
                # the 4 machines, or 0, 1, 0, 1.
                #   index: 0

# Plotting scheduling parameters
scheduling:
        # Run a job on a particular temp dir only if the number of existing jobs
        # before tmpdir_stagger_phase_major tmpdir_stagger_phase_minor
        # is less than tmpdir_stagger_phase_limit.
        # Phase major corresponds to the plot phase, phase minor corresponds to
        # the table or table pair in sequence, phase limit corresponds to
        # the number of plots allowed before [phase major, phase minor]
        tmpdir_stagger_phase_major: 2
        tmpdir_stagger_phase_minor: 1
        # Optional: default is 1
        tmpdir_stagger_phase_limit: 1

        # Don't run more than this many jobs at a time on a single temp dir.
        tmpdir_max_jobs: 12

        # Don't run more than this many jobs at a time in total.
        global_max_jobs: 12

        # Don't run any jobs (across all temp dirs) more often than this, in minutes.
        global_stagger_m: 30

        # How often the daemon wakes to consider starting a new plot job, in seconds.
        polling_time_s: 20

# Plotting parameters.  These are pass-through parameters to chia plots create.
# See documentation at
# https://github.com/Chia-Network/chia-blockchain/wiki/CLI-Commands-Reference#create
plotting:
        k: 32
        e: False             # Use -e plotting option
        n_threads: 2         # Threads per job
        n_buckets: 128       # Number of buckets to split data into
        job_buffer: 4608     # Per job memory
        # If specified, pass through to the -f and -p options.  See CLI reference.
        #   farmer_pk: ...
        #   pool_pk: ...

Chia version: 1.0.2.dev11
Plotman version: 0.2
OS : Ubuntu Server 20.04
CPU : AMD Ryzen 9 5950X
RAM : 2x 32GB Corsair Vengeance LPX DDR4-3600 CL18-22-22-42
MBD : Asus Prime B550-Plus
SSD : 2x 2TB Corsair MP600
HDD : 12TB WD My Book over USB
PSU : Corsair HX750

tmpdir_stagger_phase_limit: 1 limits you to one job in any phase less than 2:1 based on the previous two config items.
All limits must be satisfied prior to launching a new job.

Yes, it did. The issue is solved.

Yes it did, the issue is solved.


Validate visitors with IP masks

Use a header such as X-NIPW-Mask to supply allow/deny CIDR masks in the proxy host config.

Released in v1.1.1.


Authentication/Authorization

Hi Michael,
First of all its awesome. Could you please provide some pointers for implementing authentication/authorization under portal having multiple apps involving react,angular & vue?
Thanks

some update about it?


Vue compatibility

Will this work with Vue?

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

ID: 21cb7455-3305-9316-5440-bdc22947a82d
Version Independent ID: 137d4b94-7b26-3911-b22d-42c754a95fc1
Content: Introduction to authentication for Single Page Apps on ASP.NET Core
Content Source: aspnetcore/security/authentication/identity-api-authorization.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @javiercn
Microsoft Alias: scaddie

We currently only support this scenario trough our Angular and React templates, but in principle there should nothing preventing you from adapting the code in the templates to work with any other framework.

That's what I'll do then, thanks a million!


Rotate and Scale Bitmap flutter

I want to create a photo frame in that user select image from gallery and the one part of outside frame is in the database like arttoframe
when user select a frame this frame automatically fit our image I have done it with android but for a flutter, I didn't get any solution
here is my android gist
https://gist.github.com/Shubham-8197/44c3b92eb0a525232bc669fa055070a5

@Shubham-8197 Can you post some screen shots of the working android app? I'm a iOS developer moved to Flutter. So I don't know that android code so well. However if you can post a photo of what your are trying to do I will try to help.

@kenthinson
this is a full-frame which is the output of my android code in that I created a single canvas like this

and then I rotate the canvas and by the size of the image and then fit the image the resultant output is

and now I want to convert that code into flutter but no possible solution is found

If you are trying to do it similar to your android code you probably want custom painter widget.
https://www.youtube.com/watch?v=vvI_NUXK00s
However I think you could achieve almost identical effect using just containers with colors. The only thing you would need to custom paint is the diagonal corners of the frame. Right now I am trying to fix my computer after iOS 13 and Catalina. I can't compile anything right now. But after I get it working I'll see if I can make a demo for you.

Okay Thanks  @kenthinson

If you have further questions please ask them on stack overflow or discord

@Shubham-8197
Here is a simple example for you. However escamoteur is right. Should ask on stack overflow for help. This is for bugs.
https://github.com/kenthinson/FrameExampleFlutter

ohhhh that's nice...very very thank you @kenthinson


Add firebase emulator config files

What is a quick description of the change?
Add the firebase emulator configuration files for local development.
Is this fixing an issue?
none
Are there more details that are relevant?
none
Check lists (check x in [ ] of list items)

[  ] Test written/updating
[  ] Tests passing
[  ] Coding style (indentation, etc)

Please explain why any are not present, if any.
These are config files.
Any additional comments?
Used this codelab as reference when setting up emulator.
This guide may also be useful but did not use.

Do you follow any introductions to set this up? If so, probably worth to add it to the PR details for better further reference.

Do you follow any introductions to set this up? If so, probably worth to add it to the PR details for better further reference.

Added.

This discussion and these functions are continued on #19 and #20.


Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)

What is your question?
When I added share_plus: 7.1.0 the following build error occurs. Does anybody know the solution for this issue.
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:checkDebugDuplicateClasses'.

A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)
Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations$ReflectSdkVersion found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)
Duplicate class kotlin.io.path.ExperimentalPathApi found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
Duplicate class kotlin.io.path.PathRelativizer found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
Duplicate class kotlin.io.path.PathsKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
Duplicate class kotlin.io.path.PathsKt__PathReadWriteKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
Duplicate class kotlin.io.path.PathsKt__PathUtilsKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
Duplicate class kotlin.jdk7.AutoCloseableKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk7-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10)
Duplicate class kotlin.random.jdk8.PlatformThreadLocalRandom found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)
Duplicate class kotlin.streams.jdk8.StreamsKt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$1 found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$2 found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$3 found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$4 found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)
Duplicate class kotlin.text.jdk8.RegexExtensionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)
Duplicate class kotlin.time.jdk8.DurationConversionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and jetified-kotlin-stdlib-jdk8-1.5.30 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.30)

 Go to the documentation to learn how to Fix dependency resolution errors.

Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.

Get more help at https://help.gradle.org
BUILD FAILED in 5s
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)
`

Checklist before submitting a question

[X] I Google'd a solution and I couldn't find it
[X] I searched on StackOverflow for a solution and I couldn't find it
[X] I read the README.md file of the plugin
[X] I am using the latest version of the plugin
[X] All dependencies are up to date with flutter pub upgrade
[X] I did a flutter clean
[X] I tried running the example project

I am facing the same issue after adding share_plus: ^7.1.0

Try to update Kotlin version in your project as 1.5.30 is really old. To do so you need to change Kotlin version in build.gradle file.

I encountered the same error, and I was able to resolve it by making the following adjustments. Is this approach correct?
$ git diff android/build.gradle
・・・
 buildscript {
-    ext.kotlin_version = '1.7.10'
+    ext.kotlin_version = '1.8.10'

Upgrading ext.kotlin_version = '1.7.10' to '1.8.10' fixed the issue.
Thanks alot @nrikiji

Is this approach correct?

Yes, this is correct.

Upgrading ext.kotlin_version = '1.7.10' to '1.8.10' fixed the issue. in android/build.gradle

Good. Also, from jetified in your logs I assume that your project uses Jetifier. In case you want to speed up builds a little bit you can try and disable it. If not all your Android dependencies already moved from support libs to AndroidX you will see an error during the build process, but otherwise you can get a slightly faster build.
To disable it find gradle.properties file and change the line there to be like that:
android.enableJetifier=false

Upgrading ext.kotlin_version = '1.7.10' to '1.8.10' fixed the issue. in android/build.gradle
Almost everyone is proposing this fix, but my android/build.gradle looks like this:

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = "../build"
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(":app")
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}

And my android/app/build.gradle looks like the following:

plugins {
    id "com.android.application"
    id "kotlin-android"
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id "dev.flutter.flutter-gradle-plugin"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file("local.properties")
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader("UTF-8") { reader ->
        localProperties.load(reader)
    }
}

def flutterVersionCode = localProperties.getProperty("flutter.versionCode")
if (flutterVersionCode == null) {
    flutterVersionCode = "1"
}

def flutterVersionName = localProperties.getProperty("flutter.versionName")
if (flutterVersionName == null) {
    flutterVersionName = "1.0"
}

android {
    namespace = "com.example.digident2"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId = "com.example.digident2"
        // You can update the following values to match your application needs.
        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
        minSdk = 19
        targetSdk = flutter.targetSdkVersion
        versionCode = flutterVersionCode.toInteger()
        versionName = flutterVersionName
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
            signingConfig = signingConfigs.debug
        }
    }
}

flutter {
    source = "../.."
}

What do I do?

What do I do?

This solution works for me
go to android/settings.gradle
and update the gradle version like so:
pluginManagement {
    def flutterSdkPath = {
        def properties = new Properties()
        file("local.properties").withInputStream { properties.load(it) }
        def flutterSdkPath = properties.getProperty("flutter.sdk")
        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
        return flutterSdkPath
    }()

    includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")

    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}

plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
    id "com.android.application" version "7.3.0" apply false
-    id "org.jetbrains.kotlin.android" version "1.7.10" apply false
+    id "org.jetbrains.kotlin.android" version "1.8.10" apply false
}

include ":app"


Shoots hibernation falied due to PDB violation of coredns deployment

How to categorize this issue?
/area control-plane
/kind bug
/priority 3
What happened:
Hibernation of an alicloud shoot failed with:
task "Waiting until shoot worker nodes have been reconciled" failed: Error while waiting for Worker shoot--it--tmp6x-qtf/tmp6x-qtf to become ready: extension encountered error during reconciliation: Error reconciling worker: Failed while waiting for all machine deployments to be ready: 'retry failed with context deadline exceeded, last error: Waiting until all machines have been hibernated (1 still awake)...'

In the MCM logs, one can see that the machine could not be drained because of a PDB violation:
I0511 11:21:31.682342       1 drain.go:858] Pod kube-system/coredns-66d5b48-tw4cz couldn't be evicted from node izgw8e6lx4eklozw4vauwzz. This may also occur due to PDB violation. Will be retried. Error: Cannot evict pod as it would violate the pod's disruption budget.

The PodDisruptionBudget coredns specifies max unavailable of 1.
spec:
  maxUnavailable: 1

The coredns deployment has 2 replicas, but since all other nodes are already gone, there is no way to drain the last remaining replica from the last remaining node.
What you expected to happen:
Hibernation to succeed.
How to reproduce it (as minimally and precisely as possible):
Not really sure, I only saw this once during my today's DoD shift. However, I wonder what measures do we take to prevent this from happening, so that it doesn't fail on each (or most) hibernations?
Anything else we need to know?:
Environment:

Gardener version: v1.21.0
Kubernetes version (use kubectl version):
Cloud provider or hardware configuration: Alicloud
Others:

I think it took longer than a minute, the cluster was in this state for at least 20 min. I manually adapted the PDB to let it go through. I only observed it once. Let's keep it open for a couple of more days, if I don't observe it for a second time I will close the ticket.

Closing as promised.


More keywords and better syntax highlighting

Added
Some build-in keywords
Root syntax highlighting
Modified
Classes displaying

@LeMinaw Thank you for the PR!

@Ramalus No problem !
I just noticed that the changes I made were not present in the atom package manager.
Maybe you can have a look ?

Right, I forgot to publish them.  I'll take a look at it. Thanks for
reminding me.
On Sun, Oct 9, 2016, 6:05 PM Le minaw<EMAIL_ADDRESS>wrote:

@Ramalus https://github.com/Ramalus No problem !
I just noticed that the changes I made were not present in the atom
package manager.
Maybe you can have a look ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Ramalus/language-kivy/pull/1#issuecomment-252512605,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACv3Zq6Gl2vzhVcFigTY7COBQNKDpLsKks5qyVcHgaJpZM4KPbwf
.


feat: bump min go version to 1.18

PR summary
This PR bumps our min version of go to 1.18 in order to address security vulnerabilities.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

Current vs new behavior

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

:tada: This PR is included in version 0.32.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Failed to load resource: net::ERR_CONNECTION_REFUSED

Describe the bug
Tauri opens the web project on the local hard disk. If the opened project introduces js, it will report an error, Failed to load resource: net::ERR_CONNECTION_REFUSED, how to solve this problem, thank you for your help, I searched for this in Issues The problem seems to be solved by using register_uri_scheme_protocol, but I’m not sure if it can be solved. I don’t know how to rust code, and I didn’t run the code snippets posted by others.
Reproduction
No response
Expected behavior
No response
Platform and versions
[✔] Environment
    - OS: Windows 10.0.19045 X64
    ✔ WebView2: 113.0.1774.57
    ✔ MSVC: Visual Studio Community 2019
    ✔ rustc: 1.69.0 (84c898d65 2023-04-16)
    ✔ Cargo: 1.69.0 (6e9a83356 2023-04-12)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 20.1.0
    - pnpm: 8.4.0
    - npm: 9.6.4

[-] Packages
    - tauri [RUST]: 1.3.0
    - tauri-build [RUST]: 1.3.0
    - wry [RUST]: 0.24.3
    - tao [RUST]: 0.16.2
    - @tauri-apps/api [NPM]: 1.3.0
    - @tauri-apps/cli [NPM]: 1.3.1

[-] App
    - build-type: bundle
    - CSP: default-src 'self'; img-src 'self' asset: https://asset.localhost
    - distDir: ../dist
    - devPath: http://localhost:1420/
    - framework: Vue.js
    - bundler: Vite

Stack trace
No response
Additional context
No response

Could you create a reproduction example? I have difficulties following the steps you take to get the issue.

Ok, I will write an example to upload to the warehouse, it may be next Monday, thank you

https://github.com/ezewu/appiframe  This is the code repository I use
  imageSrc.value = convertFileSrc("C:\\data\\1.png");
  iframeSrc.value = convertFileSrc("C:\\data\\1\\index.html");

When base.js is introduced into index.html, it will report an error

Thank you for your answer, how to use this new api AddWebResourceRequestedFilter in tauri

Like Amr said, it can't be used until it lands in a stable SDK, which did not happen yet.

This function is currently completely useless, and it is still under development?

The new WebView2 api that will allow Tauri to also listen to requests inside iframes and not just in the main window is still under development, yes.
In other words, we have to wait for Microsoft to be able to fix your issue.

@FabianLars @amrbashir  Thank you for your answer, it seems that it will take a while for electron

[✔] Environment
- OS: Windows 10.0.19045 X64
✔ WebView2: 120.0.2210.144
✔ MSVC: Visual Studio Community 2022
✔ rustc: 1.74.1 (a28077b28 2023-12-04)
✔ cargo: 1.74.1 (ecb9851af 2023-10-18)
✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
- node: 21.4.0
- npm: 7.6.1
[-] Packages
- tauri [RUST]: 1.5.4
- tauri-build [RUST]: 1.5.1
- wry [RUST]: 0.24.7
- tao [RUST]: 0.16.5
- @tauri-apps/api [NPM]: 1.5.3
- @tauri-apps/cli [NPM]: 1.5.9
[-] App
- build-type: bundle
- CSP: unset
- distDir: ../out
- devPath: http://localhost:3000/
- framework: React (Next.js)
- bundler: Webpack
I have same issue


Update vlan-networks.md

- What I did
Some small changes to get the examples so that they run without error with 1.13.1 on Windows 10.
Improve consistency of the examples.
Make some changes to better comply with; Code and UI text styling
Fix some typos.
- How I did it
- How to verify it
I have been able to run every example up until the "Manually Creating 802.1q Links" section where I have not been able to find a way to connect directly to the "MobyLinuxVM" instance.
- Description for the changelog
Fix typos and make examples work with 1.13.1 on Windows 10.
- A picture of a cute animal (not mandatory but encouraged)

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-2" git@github.com:kevinfeyrer/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

ping @aboch ptal

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-2" git@github.com:kevinfeyrer/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842353806576
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Updated as per comments from AkihiroSuda

Commits now signed in git

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-2" git@github.com:kevinfeyrer/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354522608
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

@thaJeztah Looks like one commit to me now.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-2" git@github.com:kevinfeyrer/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354183984
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Some changes suggested by cpuguy83 and thaJeztah


save "encoding" when using open_mfdataset

I like the automatic decoding of the time variable when reading netcdf files but I often need to keep the calendar attribute of the time variable.
Could it be possible to keep those attributes in the DataSet/DataArray return by open_dataset?

It would be ok but it is (or looks) empty when I use open_dataset()

@sbiner are you looking at the encoding attribute of the full Dataset or the time variable?  The time variable should retain the calendar encoding (the Dataset will not).  E.g.:
In [1]: import cftime

In [2]: import numpy as np

In [3]: import xarray as xr

In [4]: units = 'days since 2000-02-25'

In [5]: times = cftime.num2date(np.arange(7), units=units, calendar='365_day')

In [6]: da = xr.DataArray(np.arange(7), coords=[times], dims=['time'], name='a')

In [7]: da.to_netcdf('data-noleap.nc')

In [8]: ds = xr.open_dataset('data-noleap.nc')

In [9]: ds.encoding['calendar']
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-38-677c245c7bb8> in <module>()
----> 1 default.encoding['calendar']

KeyError: 'calendar'

In [10]: ds.time.encoding['calendar']
Out[10]: u'noleap'

@spencerkclark Yes I was looking at  time.encoding. Following you example I did some tests and the problem is related to the fact that I am opening multiple netCDF files with open_mfdataset. Doing so  time.encoding is empty while it is as expected when opening any of the files with open_dataset instead.

If open_mfdataset() is actually dropping the encoding, then this is an issue related to #1614. That's because in open_mfdataset() while the attrs are explicitly set to those of the first supplied dataset, I don't see any similar explicit treatment of the encoding. I think that means the encoding is being set by what happens inside the core of auto_combine(), and is presumably being lost upon some of the concat or merge operations which happen inside auto_combine().
So I think to fix this then either open_mfdataset() should contain explicit treatment of the encoding, or the rules for propagating the encoding through the auto_combine() should be solidified.

@sbiner I know it's been a while, but I expect that #3498 and #3877 probably resolve your issue?

@TomNicholas I forgot about this sorry. I just made a quick check with the latest xarray master and I still have the problem ... see code.
Related question but maybe out of line, is there any way to know that the snw.time type is cftime.DatetimeNoLeap (as it is visible in the overview of snw.time)?
snw = xr.open_mfdataset(l_f, combine='nested', concat_dim='time')['snw']
ipdb> xr.__version__
'0.15.2.dev29+g6048356'
ipdb> snw.time
<xarray.DataArray 'time' (time: 277393)>
array([cftime.DatetimeNoLeap(2006-01-01 00:00:00),
       cftime.DatetimeNoLeap(2006-01-01 03:00:00),
       cftime.DatetimeNoLeap(2006-01-01 06:00:00), ...,
       cftime.DatetimeNoLeap(2100-12-30 18:00:00),
       cftime.DatetimeNoLeap(2100-12-30 21:00:00),
       cftime.DatetimeNoLeap(2100-12-31 00:00:00)], dtype=object)
Coordinates:
  * time     (time) object 2006-01-01 00:00:00 ... 2100-12-31 00:00:00
Attributes:
    long_name:           time
    standard_name:       time
    axis:                T
    coordinate_defines:  point
ipdb> snw.time.encoding
{}

@TomNicholas I forgot about this sorry.

No worries!

I just made a quick check with the latest xarray master and I still have the problem ... see code.

#3498 added a new keyword argument to open_mfdataset, to choose which file to load to attributes from, can you try using that?

time.encoding is empty while it is as expected when opening any of the files with open_dataset instead

If this is the case, then to solve your original problem, you could also try using the preprocess argument to open_mfdataset to store the encoding somewhere where it won't be lost? i.e.
def store_encoding(ds):
    encoding = ds['time'].encoding
    ds.time.attrs['calendar_encoding'] = encoding
    return ds

snw = xr.open_mfdataset(l_f, combine='nested', concat_dim='time',
                        master_file=lf[0], preprocess=store_encoding)['snw']

Related question but maybe out of line, is there any way to know that the snw.time type is cftime.DatetimeNoLeap (as it is visible in the overview of snw.time)?

I'm not familiar with these classes, but presumably you mean more than just checking with isinstance()? e.g.
from cftime import DatetimeNoLeap
print(isinstance(snw.time.values, cftime.DatetimeNoLeap))

unfortunately, numpy does not allow us to put cftime object into dtypes (yet!), so ds.time.values is a numpy.ndarray with dtype object, containing cftime objects. To make the code work, use it with ds.time.values[0]. Of course, that won't help if the array contains objects of more than one type.
>>> import cftime
>>> isinstance(ds.time.values[0], cftime.DatetimeNoLeap)
True
>>> type(ds.time.values[0])
<class 'cftime._cftime.DatetimeNoLeap'>

In #3498, the original proposal was to name the new kwarg master_file, but later it was renamed to attrs_file. If l_f is a list of file paths, you used it correctly.
Before trying to help with debugging your issue: could you post the output of xr.show_versions()? That would help narrowing down on whether it's a dependency issue or a bug in xarray.
Also, could you try to demonstrate your issue using a synthetic example? I've been trying to reproduce it with:
In [14]: units = 'days since 2000-02-25'
    ...: times = cftime.num2date(np.arange(7), units=units, calendar='365_day')
    ...: for x in range(5):
    ...:     ds = xr.DataArray(
    ...:         np.arange(x, 7 + x).reshape(7, 1),
    ...:         coords={"time": times, "x": [x]},
    ...:         dims=['time', "x"],
    ...:         name='a',
    ...:     ).to_dataset()
    ...:     ds.to_netcdf(f'data-noleap{x}.nc')
    ...: paths = sorted(glob.glob("data-noleap*.nc"))
    ...: with xr.open_mfdataset(paths, combine="by_coords", attrs_file=paths[0]) as ds:
    ...:     print(ds.time.encoding)
    ...:
{'zlib': False, 'shuffle': False, 'complevel': 0, 'fletcher32': False, 'contiguous': True, 'chunksizes': None, 'source': '.../data-noleap0.nc', 'original_shape': (7,), 'dtype': dtype('int64'), 'units': 'days since 2000-02-25 00:00:00.000000', 'calendar': 'noleap'}

This example works without attrs_file specified.

I removed it since it doesn't change anything.

unfortunately, numpy does not allow us to put cftime object into dtypes (yet!), so ds.time.values is a numpy.ndarray with dtype object, containing cftime objects. To make the code work, use it with ds.time.values[0]. Of course, that won't help if the array contains objects of more than one type.
>>> import cftime
>>> isinstance(ds.time.values[0], cftime.DatetimeNoLeap)
True
>>> type(ds.time.values[0])
<class 'cftime._cftime.DatetimeNoLeap'>

I use the following, which seems to work for me but I thought something shorter and more elegant could be done ...
def get_time_date_type(ds: Union[xr.Dataset, xr.DataArray]):

    if ds.time.dtype == "O":
        if len(ds.time.shape) == 0:
            time0 = ds.time.item()
        else:
            time0 = ds.time[0].item()
        return type(time0)
    else:
        return np.datetime64

In #3498, the original proposal was to name the new kwarg master_file, but later it was renamed to attrs_file. If l_f is a list of file paths, you used it correctly.

Yes, l_f is a list of file paths.

Before trying to help with debugging your issue: could you post the output of xr.show_versions()? That would help narrowing down on whether it's a dependency issue or a bug in xarray.

Here is the output:
In [2]: xr.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)
[GCC 7.3.0]
python-bits: 64
OS: Linux
OS-release: 3.10.0-514.2.2.el7.x86_64
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: fr_CA.UTF-8
LOCALE: fr_CA.UTF-8
libhdf5: 1.10.4
libnetcdf: 4.6.1

xarray: 0.15.2.dev29+g6048356
pandas: 1.0.1
numpy: 1.18.1
scipy: 1.4.1
netCDF4: 1.4.2
pydap: None
h5netcdf: None
h5py: 2.9.0
Nio: None
zarr: None
cftime: <IP_ADDRESS>
nc_time_axis: None
PseudoNetCDF: None
rasterio: None
cfgrib: None
iris: None
bottleneck: 1.3.1
dask: 2.10.1
distributed: 2.10.0
matplotlib: 3.0.2
cartopy: 0.16.0
seaborn: 0.9.0
numbagg: None
pint: 0.9
setuptools: 45.2.0.post20200210
pip: 20.0.2
conda: None
pytest: 5.3.4
IPython: 7.8.0
sphinx: 2.4.0

Also, could you try to demonstrate your issue using a synthetic example? I've been trying to reproduce it with:
In [14]: units = 'days since 2000-02-25'
    ...: times = cftime.num2date(np.arange(7), units=units, calendar='365_day')
    ...: for x in range(5):
    ...:     ds = xr.DataArray(
    ...:         np.arange(x, 7 + x).reshape(7, 1),
    ...:         coords={"time": times, "x": [x]},
    ...:         dims=['time', "x"],
    ...:         name='a',
    ...:     ).to_dataset()
    ...:     ds.to_netcdf(f'data-noleap{x}.nc')
    ...: paths = sorted(glob.glob("data-noleap*.nc"))
    ...: with xr.open_mfdataset(paths, combine="by_coords") as ds:
    ...:     print(ds.time.encoding)
    ...:
{'zlib': False, 'shuffle': False, 'complevel': 0, 'fletcher32': False, 'contiguous': True, 'chunksizes': None, 'source': '.../data-noleap0.nc', 'original_shape': (7,), 'dtype': dtype('int64'), 'units': 'days since 2000-02-25 00:00:00.000000', 'calendar': 'noleap'}

I used your code and it works for me also. I noticed the synthetic file is NETCDF4 and has int time variable  while my files are NETCDF4_CLASSIC and the time variable is double. I modified the synthetic code to produce  NETCDF4_CLASSIC files with double time variable but it does not change the results: encoding does not have any values related to the calendar.
Here is an output ouf ncdump -hs for one file, maybe it could help.
11:41 neree ~/travail/xarray_open_mfdataset_perd_time_attributes :ncdump -hs /expl6/climato/arch/bbw/series/200001/snw_bbw_200001_se.nc
netcdf snw_bbw_200001_se {
dimensions:
	height = 1 ;
	rlat = 300 ;
	rlon = 340 ;
	time = UNLIMITED ; // (248 currently)
variables:
	double height(height) ;
		height:units = "m" ;
		height:long_name = "height" ;
		height:standard_name = "height" ;
		height:axis = "Z" ;
		height:positive = "up" ;
		height:coordinate_defines = "point" ;
		height:actual_range = 0., 0. ;
		height:_Storage = "chunked" ;
		height:_ChunkSizes = 1 ;
		height:_DeflateLevel = 6 ;
		height:_Endianness = "little" ;
	double lat(rlat, rlon) ;
		lat:units = "degrees_north" ;
		lat:long_name = "latitude" ;
		lat:standard_name = "latitude" ;
		lat:actual_range = 7.83627367019653, 82.5695037841797 ;
		lat:_Storage = "chunked" ;
		lat:_ChunkSizes = 50, 50 ;
		lat:_DeflateLevel = 6 ;
		lat:_Endianness = "little" ;
	double lon(rlat, rlon) ;
		lon:units = "degrees_east" ;
		lon:long_name = "longitude" ;
		lon:standard_name = "longitude" ;
		lon:actual_range = -179.972747802734,<PHONE_NUMBER>20508 ;
		lon:_Storage = "chunked" ;
		lon:_ChunkSizes = 50, 50 ;
		lon:_DeflateLevel = 6 ;
		lon:_Endianness = "little" ;
	double rlat(rlat) ;
		rlat:long_name = "latitude in rotated pole grid" ;
		rlat:units = "degrees" ;
		rlat:standard_name = "grid_latitude" ;
		rlat:axis = "Y" ;
		rlat:coordinate_defines = "point" ;
		rlat:actual_range = -30.7100009918213, 35.0699996948242 ;
		rlat:_Storage = "chunked" ;
		rlat:_ChunkSizes = 50 ;
		rlat:_DeflateLevel = 6 ;
		rlat:_Endianness = "little" ;
	double rlon(rlon) ;
		rlon:long_name = "longitude in rotated pole grid" ;
		rlon:units = "degrees" ;
		rlon:standard_name = "grid_longitude" ;
		rlon:axis = "X" ;
		rlon:coordinate_defines = "point" ;
		rlon:actual_range = -33.9900054931641, 40.5899810791016 ;
		rlon:_Storage = "chunked" ;
		rlon:_ChunkSizes = 50 ;
		rlon:_DeflateLevel = 6 ;
		rlon:_Endianness = "little" ;
	char rotated_pole ;
		rotated_pole:grid_mapping_name = "rotated_latitude_longitude" ;
		rotated_pole:grid_north_pole_latitude = 42.5f ;
		rotated_pole:grid_north_pole_longitude = 83.f ;
		rotated_pole:north_pole_grid_longitude = 0.f ;
	float snw(time, rlat, rlon) ;
		snw:units = "kg m-2" ;
		snw:long_name = "Surface Snow Amount" ;
		snw:standard_name = "surface_snow_amount" ;
		snw:realm = "landIce land" ;
		snw:cell_measures = "area: areacella" ;
		snw:coordinates = "lon lat" ;
		snw:grid_mapping = "rotated_pole" ;
		snw:level_desc = "Height" ;
		snw:cell_methods = "time: point" ;
		snw:_Storage = "chunked" ;
		snw:_ChunkSizes = 250, 50, 50 ;
		snw:_DeflateLevel = 6 ;
		snw:_Endianness = "little" ;
	double time(time) ;
		time:long_name = "time" ;
		time:standard_name = "time" ;
		time:axis = "T" ;
		time:calendar = "gregorian" ;
		time:units = "days since 2000-01-01 00:00:00" ;
		time:coordinate_defines = "point" ;
		time:_Storage = "chunked" ;
		time:_ChunkSizes = 250 ;
		time:_DeflateLevel = 6 ;
		time:_Endianness = "little" ;

// global attributes:
		:Conventions = "CF-1.6" ;
		:contact =<EMAIL_ADDRESS>;
		:comment = "CRCM5 v3331 0.22 deg AMNO22d2 L56 S17-15m ERA-INTERIM 0,75d PILSPEC PS3" ;
		:creation_date = "2016-08-15 " ;
		:experiment = "simulation de reference " ;
		:experiment_id = "bbw" ;
		:driving_experiment = "ERA-INTERIM " ;
		:driving_model_id = "ECMWF-ERAINT " ;
		:driving_model_ensemble_member = "r1i1p1 " ;
		:driving_experiment_name = "evaluation " ;
		:institution = "Ouranos " ;
		:institute_id = "Our. " ;
		:model_id = "OURANOS-CRCM5" ;
		:rcm_version_id = "v3331" ;
		:project_id = "" ;
		:ouranos_domain_name = "AMNO22d2 " ;
		:ouranos_run_id = "bbw OURALIB 1.3" ;
		:product = "output" ;
		:reference = "http://www.ouranos.ca" ;
		:history = "Mon Nov  7 10:13:55 2016: ncks -O --chunk_policy g3d --cnk_dmn plev,1 --cnk_dmn rlon,50 --cnk_dmn rlat,50 --cnk_dmn time,250 /localscratch/72194520.gm-1r16-n04.guillimin.clumeq.ca/bbw/bbw/200001/nc4c_snw_bbw_200001_se.nc /localscratch/72194520.gm-1r16-n04.guillimin.clumeq.ca/bbw/bbw/200001/snw_bbw_200001_se.nc\n",
			"Mon Nov  7 10:13:50 2016: ncks -O --fl_fmt=netcdf4_classic -L 6 /localscratch/72194520.gm-1r16-n04.guillimin.clumeq.ca/bbw/bbw/200001/trim_snw_bbw_200001_se.nc /localscratch/72194520.gm-1r16-n04.guillimin.clumeq.ca/bbw/bbw/200001/nc4c_snw_bbw_200001_se.nc\n",
			"Mon Nov  7 10:13:48 2016: ncks -d time,2000-01-01 00:00:00,2000-01-31 23:59:59 /home/dpaquin1/postprod/bbw/transit2/200001/snw_bbw_200001_se.nc /localscratch/72194520.gm-1r16-n04.guillimin.clumeq.ca/bbw/bbw/200001/trim_snw_bbw_200001_se.nc\n",
			"Fri Nov  4 12:49:33 2016: ncks -4 -L 1 --no_tmp_fl -u -d time,2000-01-01 00:00,2000-02-01 00:00 /localscratch/72001487.gm-1r16-n04.guillimin.clumeq.ca/I5/snw_bbw_2000_se.nc /home/dpaquin1/postprod/bbw/work/200001/snw_bbw_200001_se.nc\n",
			"Fri Nov  4 12:48:52 2016: ncks -4 -L 1 /localscratch/72001487.gm-1r16-n04.guillimin.clumeq.ca/I5/snw_bbw_2000_se.nc /home/dpaquin1/postprod/bbw/work/2000/snw_bbw_2000_se.nc\n",
			"Fri Nov  4 12:48:44 2016: ncatted -O -a cell_measures,snw,o,c,area: areacella /localscratch/72001487.gm-1r16-n04.guillimin.clumeq.ca/I5/snw_bbw_2000_se.nc 25554_bbb" ;
		:NCO = "4.4.4" ;
		:_SuperblockVersion = 2 ;
		:_IsNetcdf4 = 1 ;
		:_Format = "netCDF-4 classic model" ;
}

I guess the next option could be to go into xarray code to try to find what the problem is but I would need some direction for doing this.

Description
Any news about this issue? I am facing the same problem and I had to get the calendars by hand... I tried to update xarray but there is still the same issue of missing the ds.time.encoding with open_mfdataset when the dimension to concatenate is the time (because the example from @keewis above works but the concatenation is on x).
Step to reproduce
Here is a simple example to illustrate:
import xarray as xr
ds = xr.tutorial.open_dataset('air_temperature')
ds.time.encoding

that gives:
{'source': '/home/lalandmi/.xarray_tutorial_data/air_temperature.nc',
 'original_shape': (2920,),
 'dtype': dtype('float32'),
 'units': 'hours since 1800-01-01',
 'calendar': 'standard'}

Let's slipt this dataset and try to read it back with open_mfdataset:
ds.sel(time='2013').to_netcdf('tutorial_air_temperature_2013.nc')
ds.sel(time='2014').to_netcdf('tutorial_air_temperature_2014.nc')
ds_mf = xr.open_mfdataset('tutorial_air_temperature_*.nc', combine='by_coords')
ds_mf.time.encoding

that results in an empty dictionary:
{}

Adding some arguments attrs_file=paths[0] with the name of the files didn't change anything for me. Is there any other way or update about this?
 I'm working on a code where I want to make sure I have consistent calendars for all my inputs. Couldn't we add an option to use the encoding from the first file in the list or something?


Dropping a file from Your Phone app crashes Files UWP

Describe the bug
Trying to drop a file (I tried a video and a photo) from your phone's mirrored screen on the Your Phone app on Files UWP crashes the app (A box with the No-Icon appears for a while and then a notification pops up that says Files crashed)
To Reproduce
Steps to reproduce the behavior:

Mirror your phone's screen on the Your Phone app (Samsung-device required) and open the My Files app.
Select a file and long click on it, you should be able to move a small square preview of it.
Hover your mouse pointer over the Files UWP app (don't release the mouse)
See error

Expected behavior
A preview or just text saying the name of the file.
Screenshots
None
Desktop (please complete the following information):

OS Version: [e.g. Windows 10 2004 20241.1005]
App version: [v<IP_ADDRESS>]

Additional context
None
Log file
debug.txt

Thanks for reporting this.
Reading around it appears to be a known uwp limitation. UWP can only receive files if they point to physical location on disk.
I'm not sure if we'll be able to solve this :(
(We can for sure handle the error to avoid the crash and show an error message instead)

Duplicate of #2003


Dynamically change the font-smoothing pref

By default, hterm defaults to font-smoothing: 'antialiased', which
works really well on retina displays. On non-retina displays, however,
the type looks very thin and is hard to read.
This will look at the devicePixelRatio of the device anytime the term
prefs are set, and change between antialiased and
subpixel-antialiased dynamically.
Screenshots below.

#### retina (👍)
![retina](https://cloud.githubusercontent.com/assets/464447/16901809/d527e4c6-4c0a-11e6-97ed-9add138fcc03.png)
non-retina, before (👎)

non-retina, after (👍)

This is fantastic btw. Thank you!

Refactored to use state/move event 😄

So awesome. Thank you

Thanks! As always, glad to help out here 😄

Is there a way to overwrite this? I actually like the font antialiased on a regular screen as well. I've tried overwriting this in .hyperterm.js but without any result fontSmoothing: 'antialiased'
Thanks!

@PhiloNL Have you tried adding custom css in your hyperterm config? If that doesn't work, we can possibly add another config option to overwrite the fontSmothing property.

@mike-engel thanks, that works!

@PhiloNL can you please share your custom css config?

@omriyariv sure thing!
{
    // custom css to embed in the main window
    css: '* { -webkit-font-smoothing: antialiased }',

    // custom css to embed in the terminal window
    termCSS: '* { -webkit-font-smoothing: antialiased }',
}


add imports for map element types even if a conversion exists

@smarterclayton do you want/need me to do anything here or have you incorporated this change into your PR?

Grabbed it today while rebasing us to v1
On Jul 15, 2015, at 12:03 AM, Ben Parees<EMAIL_ADDRESS>wrote:
@smarterclayton https://github.com/smarterclayton do you want/need me to
do anything here or have you incorporated this change into your PR?
—
Reply to this email directly or view it on GitHub
https://github.com/smarterclayton/kubernetes/pull/4#issuecomment-121481339
.


camelCase

Hi Brad,
looking through the codebase, the naming of anything within spec follows closely the betfair naming convention of using camel case. This rather unpythonic syntax might get thrown out by using rename="camel" within the BaseMessage definition. This would leave the translation of all the fieldnames into camelcase and back to msgspec, and the public API would be nice and shiny pythonic.
Now, this is a breaking API change. Though as it seems there aren't too many users so far, I guess it might be worth it to switch, better earlier than later.

Hey Michael,
Good pick up. +1, I don't think there are many users so happy to make this change. Would you like to PR something? Otherwise I can pick this up in the next couple of days.

I'll add it soon. Just wanted to make sure you're fine with it before introducing that breaking changes.