feat(graph): json flag now uses json-tree from pipdeptree

Hello everyone,
pipdeptree has now a new feature, which shows the whole json tree, like pipenv graph.
Thanks to @haikoschol for it.
That's why I'm trying to update pipenv as well.
My only concern is with BAD_PACKAGES, I don't understand what it should do, maybe someone can help me.
I kept the same behavior as the old json, basically removing BAD_PACKAGES from the first level, but not from the nested elements.
I'm not sure if BAD_PACKAGES should be removed from everywhere, if that were the case I will have to write some kind of filter for all the nested dicts, which might also be too complex.
So far the results were promising, the same as pipenv graph.
PD: If we want to keep the current --json, introducing --json-tree would be an alternative.
I hope you like it.
Cheers!

let's have it remove BAD_PACKAGES everywhere, if possible.

I actually think we shouldn't change our current behavior, as it's working well and people are likely depending on it programatically.

@kennethreitz what about introducing a --json-tree flag? would be the same pipdeptree did, they kept the old json and added a new json-tree.

can you show what it would look like?

Yes, sorry, should've started with that.
The next 2 are the current behavior of graph:
pipenv graph
bumpversion==0.5.3
delegator.py==0.0.13
  - pexpect [required: >=4.1.0, installed: 4.2.1]
    - ptyprocess [required: >=0.5, installed: 0.5.2]
future==0.16.0
ipython==6.2.1
  - decorator [required: Any, installed: 4.1.2]
  - jedi [required: >=0.10, installed: 0.11.0]
    - parso [required: ==0.1.0, installed: 0.1.0]
  - pexpect [required: Any, installed: 4.2.1]
    - ptyprocess [required: >=0.5, installed: 0.5.2]
  - pickleshare [required: Any, installed: 0.7.4]
  - prompt-toolkit [required: <2.0.0,>=1.0.4, installed: 1.0.15]
    - six [required: >=1.9.0, installed: 1.11.0]
    - wcwidth [required: Any, installed: 0.1.7]
  - pygments [required: Any, installed: 2.2.0]
  - setuptools [required: >=18.5, installed: 36.6.0]
  - simplegeneric [required: >0.8, installed: 0.8.1]
  - traitlets [required: >=4.2, installed: 4.3.2]
    - decorator [required: Any, installed: 4.1.2]
    - ipython-genutils [required: Any, installed: 0.2.0]
    - six [required: Any, installed: 1.11.0]
pipdeptree==0.11.0
  - pip [required: >=6.0.0, installed: 9.0.1]
twine==1.9.1
  - pkginfo [required: >=1.0, installed: 1.4.1]
  - requests [required: !=2.15,>=2.5.0,!=2.16, installed: 2.18.4]
    - certifi [required: >=2017.4.17, installed: 2017.11.5]
    - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
    - idna [required: >=2.5,<2.7, installed: 2.6]
    - urllib3 [required: >=1.21.1,<1.23, installed: 1.22]
  - requests-toolbelt [required: >=0.8.0, installed: 0.8.0]
    - requests [required: <3.0.0,>=2.0.1, installed: 2.18.4]
      - certifi [required: >=2017.4.17, installed: 2017.11.5]
      - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
      - idna [required: >=2.5,<2.7, installed: 2.6]
      - urllib3 [required: >=1.21.1,<1.23, installed: 1.22]
  - setuptools [required: >=0.7.0, installed: 36.6.0]
  - tqdm [required: >=4.11, installed: 4.19.4]
typing==3.6.2
whaaaaat==0.5.2
  - prompt-toolkit [required: >=1.0.14, installed: 1.0.15]
    - six [required: >=1.9.0, installed: 1.11.0]
    - wcwidth [required: Any, installed: 0.1.7]
  - Pygments [required: >=2.2.0, installed: 2.2.0]
  - regex [required: >=2016.11.21, installed: 2017.11.8]

pipenv graph --json
[
    {
        "package": {
            "key": "whaaaaat",
            "package_name": "whaaaaat",
            "installed_version": "0.5.2"
        },
        "dependencies": [
            {
                "key": "prompt-toolkit",
                "package_name": "prompt-toolkit",
                "installed_version": "1.0.15",
                "required_version": ">=1.0.14"
            },
            {
                "key": "regex",
                "package_name": "regex",
                "installed_version": "2017.11.8",
                "required_version": ">=2016.11.21"
            },
            {
                "key": "pygments",
                "package_name": "Pygments",
                "installed_version": "2.2.0",
                "required_version": ">=2.2.0"
            }
        ]
    },
    {
        "package": {
            "key": "wcwidth",
            "package_name": "wcwidth",
            "installed_version": "0.1.7"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "urllib3",
            "package_name": "urllib3",
            "installed_version": "1.22"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "typing",
            "package_name": "typing",
            "installed_version": "3.6.2"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "twine",
            "package_name": "twine",
            "installed_version": "1.9.1"
        },
        "dependencies": [
            {
                "key": "requests",
                "package_name": "requests",
                "installed_version": "2.18.4",
                "required_version": ">=2.5.0,!=2.15,!=2.16"
            },
            {
                "key": "requests-toolbelt",
                "package_name": "requests-toolbelt",
                "installed_version": "0.8.0",
                "required_version": ">=0.8.0"
            },
            {
                "key": "tqdm",
                "package_name": "tqdm",
                "installed_version": "4.19.4",
                "required_version": ">=4.11"
            },
            {
                "key": "pkginfo",
                "package_name": "pkginfo",
                "installed_version": "1.4.1",
                "required_version": ">=1.0"
            },
            {
                "key": "setuptools",
                "package_name": "setuptools",
                "installed_version": "36.6.0",
                "required_version": ">=0.7.0"
            }
        ]
    },
    {
        "package": {
            "key": "traitlets",
            "package_name": "traitlets",
            "installed_version": "4.3.2"
        },
        "dependencies": [
            {
                "key": "decorator",
                "package_name": "decorator",
                "installed_version": "4.1.2",
                "required_version": null
            },
            {
                "key": "six",
                "package_name": "six",
                "installed_version": "1.11.0",
                "required_version": null
            },
            {
                "key": "ipython-genutils",
                "package_name": "ipython-genutils",
                "installed_version": "0.2.0",
                "required_version": null
            }
        ]
    },
    {
        "package": {
            "key": "tqdm",
            "package_name": "tqdm",
            "installed_version": "4.19.4"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "simplegeneric",
            "package_name": "simplegeneric",
            "installed_version": "0.8.1"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "requests",
            "package_name": "requests",
            "installed_version": "2.18.4"
        },
        "dependencies": [
            {
                "key": "idna",
                "package_name": "idna",
                "installed_version": "2.6",
                "required_version": ">=2.5,<2.7"
            },
            {
                "key": "urllib3",
                "package_name": "urllib3",
                "installed_version": "1.22",
                "required_version": ">=1.21.1,<1.23"
            },
            {
                "key": "chardet",
                "package_name": "chardet",
                "installed_version": "3.0.4",
                "required_version": ">=3.0.2,<3.1.0"
            },
            {
                "key": "certifi",
                "package_name": "certifi",
                "installed_version": "2017.11.5",
                "required_version": ">=2017.4.17"
            }
        ]
    },
    {
        "package": {
            "key": "requests-toolbelt",
            "package_name": "requests-toolbelt",
            "installed_version": "0.8.0"
        },
        "dependencies": [
            {
                "key": "requests",
                "package_name": "requests",
                "installed_version": "2.18.4",
                "required_version": ">=2.0.1,<3.0.0"
            }
        ]
    },
    {
        "package": {
            "key": "regex",
            "package_name": "regex",
            "installed_version": "2017.11.8"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "pygments",
            "package_name": "Pygments",
            "installed_version": "2.2.0"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "ptyprocess",
            "package_name": "ptyprocess",
            "installed_version": "0.5.2"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "prompt-toolkit",
            "package_name": "prompt-toolkit",
            "installed_version": "1.0.15"
        },
        "dependencies": [
            {
                "key": "six",
                "package_name": "six",
                "installed_version": "1.11.0",
                "required_version": ">=1.9.0"
            },
            {
                "key": "wcwidth",
                "package_name": "wcwidth",
                "installed_version": "0.1.7",
                "required_version": null
            }
        ]
    },
    {
        "package": {
            "key": "pkginfo",
            "package_name": "pkginfo",
            "installed_version": "1.4.1"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "pipdeptree",
            "package_name": "pipdeptree",
            "installed_version": "0.11.0"
        },
        "dependencies": [
            {
                "key": "pip",
                "package_name": "pip",
                "installed_version": "9.0.1",
                "required_version": ">=6.0.0"
            }
        ]
    },
    {
        "package": {
            "key": "pickleshare",
            "package_name": "pickleshare",
            "installed_version": "0.7.4"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "pexpect",
            "package_name": "pexpect",
            "installed_version": "4.2.1"
        },
        "dependencies": [
            {
                "key": "ptyprocess",
                "package_name": "ptyprocess",
                "installed_version": "0.5.2",
                "required_version": ">=0.5"
            }
        ]
    },
    {
        "package": {
            "key": "parso",
            "package_name": "parso",
            "installed_version": "0.1.0"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "jedi",
            "package_name": "jedi",
            "installed_version": "0.11.0"
        },
        "dependencies": [
            {
                "key": "parso",
                "package_name": "parso",
                "installed_version": "0.1.0",
                "required_version": "==0.1.0"
            }
        ]
    },
    {
        "package": {
            "key": "ipython",
            "package_name": "ipython",
            "installed_version": "6.2.1"
        },
        "dependencies": [
            {
                "key": "pexpect",
                "package_name": "pexpect",
                "installed_version": "4.2.1",
                "required_version": null
            },
            {
                "key": "setuptools",
                "package_name": "setuptools",
                "installed_version": "36.6.0",
                "required_version": ">=18.5"
            },
            {
                "key": "pickleshare",
                "package_name": "pickleshare",
                "installed_version": "0.7.4",
                "required_version": null
            },
            {
                "key": "prompt-toolkit",
                "package_name": "prompt-toolkit",
                "installed_version": "1.0.15",
                "required_version": ">=1.0.4,<2.0.0"
            },
            {
                "key": "pygments",
                "package_name": "pygments",
                "installed_version": "2.2.0",
                "required_version": null
            },
            {
                "key": "jedi",
                "package_name": "jedi",
                "installed_version": "0.11.0",
                "required_version": ">=0.10"
            },
            {
                "key": "decorator",
                "package_name": "decorator",
                "installed_version": "4.1.2",
                "required_version": null
            },
            {
                "key": "traitlets",
                "package_name": "traitlets",
                "installed_version": "4.3.2",
                "required_version": ">=4.2"
            },
            {
                "key": "simplegeneric",
                "package_name": "simplegeneric",
                "installed_version": "0.8.1",
                "required_version": ">0.8"
            }
        ]
    },
    {
        "package": {
            "key": "ipython-genutils",
            "package_name": "ipython-genutils",
            "installed_version": "0.2.0"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "idna",
            "package_name": "idna",
            "installed_version": "2.6"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "future",
            "package_name": "future",
            "installed_version": "0.16.0"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "delegator.py",
            "package_name": "delegator.py",
            "installed_version": "0.0.13"
        },
        "dependencies": [
            {
                "key": "pexpect",
                "package_name": "pexpect",
                "installed_version": "4.2.1",
                "required_version": ">=4.1.0"
            }
        ]
    },
    {
        "package": {
            "key": "decorator",
            "package_name": "decorator",
            "installed_version": "4.1.2"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "chardet",
            "package_name": "chardet",
            "installed_version": "3.0.4"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "certifi",
            "package_name": "certifi",
            "installed_version": "2017.11.5"
        },
        "dependencies": []
    },
    {
        "package": {
            "key": "bumpversion",
            "package_name": "bumpversion",
            "installed_version": "0.5.3"
        },
        "dependencies": []
    }
]

And this would be the output using --json-tree:
>>> pipenv graph --json-tree
[
    {
        "key": "bumpversion",
        "package_name": "bumpversion",
        "installed_version": "0.5.3",
        "required_version": "0.5.3",
        "dependencies": []
    },
    {
        "key": "delegator.py",
        "package_name": "delegator.py",
        "installed_version": "0.0.13",
        "required_version": "0.0.13",
        "dependencies": [
            {
                "key": "pexpect",
                "package_name": "pexpect",
                "installed_version": "4.2.1",
                "required_version": ">=4.1.0",
                "dependencies": [
                    {
                        "key": "ptyprocess",
                        "package_name": "ptyprocess",
                        "installed_version": "0.5.2",
                        "required_version": ">=0.5",
                        "dependencies": []
                    }
                ]
            }
        ]
    },
    {
        "key": "future",
        "package_name": "future",
        "installed_version": "0.16.0",
        "required_version": "0.16.0",
        "dependencies": []
    },
    {
        "key": "ipython",
        "package_name": "ipython",
        "installed_version": "6.2.1",
        "required_version": "6.2.1",
        "dependencies": [
            {
                "key": "decorator",
                "package_name": "decorator",
                "installed_version": "4.1.2",
                "required_version": "Any",
                "dependencies": []
            },
            {
                "key": "jedi",
                "package_name": "jedi",
                "installed_version": "0.11.0",
                "required_version": ">=0.10",
                "dependencies": [
                    {
                        "key": "parso",
                        "package_name": "parso",
                        "installed_version": "0.1.0",
                        "required_version": "==0.1.0",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "pexpect",
                "package_name": "pexpect",
                "installed_version": "4.2.1",
                "required_version": "Any",
                "dependencies": [
                    {
                        "key": "ptyprocess",
                        "package_name": "ptyprocess",
                        "installed_version": "0.5.2",
                        "required_version": ">=0.5",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "pickleshare",
                "package_name": "pickleshare",
                "installed_version": "0.7.4",
                "required_version": "Any",
                "dependencies": []
            },
            {
                "key": "prompt-toolkit",
                "package_name": "prompt-toolkit",
                "installed_version": "1.0.15",
                "required_version": ">=1.0.4,<2.0.0",
                "dependencies": [
                    {
                        "key": "six",
                        "package_name": "six",
                        "installed_version": "1.11.0",
                        "required_version": ">=1.9.0",
                        "dependencies": []
                    },
                    {
                        "key": "wcwidth",
                        "package_name": "wcwidth",
                        "installed_version": "0.1.7",
                        "required_version": "Any",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "pygments",
                "package_name": "pygments",
                "installed_version": "2.2.0",
                "required_version": "Any",
                "dependencies": []
            },
            {
                "key": "setuptools",
                "package_name": "setuptools",
                "installed_version": "36.6.0",
                "required_version": ">=18.5",
                "dependencies": []
            },
            {
                "key": "simplegeneric",
                "package_name": "simplegeneric",
                "installed_version": "0.8.1",
                "required_version": ">0.8",
                "dependencies": []
            },
            {
                "key": "traitlets",
                "package_name": "traitlets",
                "installed_version": "4.3.2",
                "required_version": ">=4.2",
                "dependencies": [
                    {
                        "key": "decorator",
                        "package_name": "decorator",
                        "installed_version": "4.1.2",
                        "required_version": "Any",
                        "dependencies": []
                    },
                    {
                        "key": "ipython-genutils",
                        "package_name": "ipython-genutils",
                        "installed_version": "0.2.0",
                        "required_version": "Any",
                        "dependencies": []
                    },
                    {
                        "key": "six",
                        "package_name": "six",
                        "installed_version": "1.11.0",
                        "required_version": "Any",
                        "dependencies": []
                    }
                ]
            }
        ]
    },
    {
        "key": "pipdeptree",
        "package_name": "pipdeptree",
        "installed_version": "0.11.0",
        "required_version": "0.11.0",
        "dependencies": [
            {
                "key": "pip",
                "package_name": "pip",
                "installed_version": "9.0.1",
                "required_version": ">=6.0.0",
                "dependencies": []
            }
        ]
    },
    {
        "key": "twine",
        "package_name": "twine",
        "installed_version": "1.9.1",
        "required_version": "1.9.1",
        "dependencies": [
            {
                "key": "pkginfo",
                "package_name": "pkginfo",
                "installed_version": "1.4.1",
                "required_version": ">=1.0",
                "dependencies": []
            },
            {
                "key": "requests",
                "package_name": "requests",
                "installed_version": "2.18.4",
                "required_version": ">=2.5.0,!=2.15,!=2.16",
                "dependencies": [
                    {
                        "key": "certifi",
                        "package_name": "certifi",
                        "installed_version": "2017.11.5",
                        "required_version": ">=2017.4.17",
                        "dependencies": []
                    },
                    {
                        "key": "chardet",
                        "package_name": "chardet",
                        "installed_version": "3.0.4",
                        "required_version": ">=3.0.2,<3.1.0",
                        "dependencies": []
                    },
                    {
                        "key": "idna",
                        "package_name": "idna",
                        "installed_version": "2.6",
                        "required_version": ">=2.5,<2.7",
                        "dependencies": []
                    },
                    {
                        "key": "urllib3",
                        "package_name": "urllib3",
                        "installed_version": "1.22",
                        "required_version": ">=1.21.1,<1.23",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "requests-toolbelt",
                "package_name": "requests-toolbelt",
                "installed_version": "0.8.0",
                "required_version": ">=0.8.0",
                "dependencies": [
                    {
                        "key": "requests",
                        "package_name": "requests",
                        "installed_version": "2.18.4",
                        "required_version": "<3.0.0,>=2.0.1",
                        "dependencies": [
                            {
                                "key": "certifi",
                                "package_name": "certifi",
                                "installed_version": "2017.11.5",
                                "required_version": ">=2017.4.17",
                                "dependencies": []
                            },
                            {
                                "key": "chardet",
                                "package_name": "chardet",
                                "installed_version": "3.0.4",
                                "required_version": ">=3.0.2,<3.1.0",
                                "dependencies": []
                            },
                            {
                                "key": "idna",
                                "package_name": "idna",
                                "installed_version": "2.6",
                                "required_version": ">=2.5,<2.7",
                                "dependencies": []
                            },
                            {
                                "key": "urllib3",
                                "package_name": "urllib3",
                                "installed_version": "1.22",
                                "required_version": ">=1.21.1,<1.23",
                                "dependencies": []
                            }
                        ]
                    }
                ]
            },
            {
                "key": "setuptools",
                "package_name": "setuptools",
                "installed_version": "36.6.0",
                "required_version": ">=0.7.0",
                "dependencies": []
            },
            {
                "key": "tqdm",
                "package_name": "tqdm",
                "installed_version": "4.19.4",
                "required_version": ">=4.11",
                "dependencies": []
            }
        ]
    },
    {
        "key": "typing",
        "package_name": "typing",
        "installed_version": "3.6.2",
        "required_version": "3.6.2",
        "dependencies": []
    },
    {
        "key": "whaaaaat",
        "package_name": "whaaaaat",
        "installed_version": "0.5.2",
        "required_version": "0.5.2",
        "dependencies": [
            {
                "key": "prompt-toolkit",
                "package_name": "prompt-toolkit",
                "installed_version": "1.0.15",
                "required_version": ">=1.0.14",
                "dependencies": [
                    {
                        "key": "six",
                        "package_name": "six",
                        "installed_version": "1.11.0",
                        "required_version": ">=1.9.0",
                        "dependencies": []
                    },
                    {
                        "key": "wcwidth",
                        "package_name": "wcwidth",
                        "installed_version": "0.1.7",
                        "required_version": "Any",
                        "dependencies": []
                    }
                ]
            },
            {
                "key": "pygments",
                "package_name": "Pygments",
                "installed_version": "2.2.0",
                "required_version": ">=2.2.0",
                "dependencies": []
            },
            {
                "key": "regex",
                "package_name": "regex",
                "installed_version": "2017.11.8",
                "required_version": ">=2016.11.21",
                "dependencies": []
            }
        ]
    }
]

So basically, json-tree includes the dependencies of the dependencies, same as pipenv graph, on the other hand, the current --json shows the dependencies like pip freeze, no deps of deps.
Intuitively, json-tree is a better representation of the bare output of pipenv graph.
Cheers!

Note: json-tree would allow us to make a command pipenv why requests for example. Which would analyze the json tree and find why a project has that dependency. This is not related to the current PR though, it's a feature we could add if pipdeptree gets updated, and there's interest on it.

i don't think this this is neccessary at this time.

thanks for the suggestion though!


Definition's :getter alias should be :from, not :name?

As of commit e07abbd850c124e42cf4f140541f11eb0d72a919, if we did:
property :title, :from => :display_title

create_representation_with method in lib/representable.rb will always get the value from the method 'title', not 'display_title'.
value = send(bin.definition.getter) || bin.definition.default

This is because the bin.definition.getter will always get whatever the 'name' method returns, not the 'from' method...
class Definition declares the alias:
alias_method :getter, :name

This is correct, the :from option defines the hash key/tag to be used for parsing the value from the document.
<display_title>Ben</display>

person.title => "Ben"

Ah, ok. I initially read it as defining an alternate method that produces the value for serializing into the document.


pythonPackages.aws-adfs: init at 0.12.0

Motivation for this change
Allows authenticating on AWS with ADFS.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build python36Packages.aws-adfs python27Packages.aws-adfs

Failure on x86_64-linux (full log)
Attempted: python36Packages.aws-adfs, python27Packages.aws-adfs
Partial log (click to expand)
Reading https://pypi.org/simple/coverage/
Download error on https://pypi.org/simple/coverage/: [Errno -2] Name or service not known -- Some packages may not be found!
Couldn't retrieve index page for 'coverage'
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
No local packages or working download links found for coverage<4
error: Could not find suitable distribution for Requirement.parse('coverage<4')
builder for ‘/nix/store/8lw3v5a4n1yarrhgr8cwm1cs4zj7csjn-python3.6-aws-adfs-0.12.0.drv’ failed with exit code 1
error: build of ‘/nix/store/8lw3v5a4n1yarrhgr8cwm1cs4zj7csjn-python3.6-aws-adfs-0.12.0.drv’, ‘/nix/store/v39xn10wcsg5dmv1fz6zgfhfflp92jcj-python2.7-aws-adfs-0.12.0.drv’ failed

Failure on aarch64-linux (full log)
Attempted: python36Packages.aws-adfs, python27Packages.aws-adfs
Partial log (click to expand)
Reading https://pypi.org/simple/coverage/
Download error on https://pypi.org/simple/coverage/: [Errno -2] Name or service not known -- Some packages may not be found!
Couldn't retrieve index page for 'coverage'
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
No local packages or working download links found for coverage<4
error: Could not find suitable distribution for Requirement.parse('coverage<4')
builder for '/nix/store/4my3hhz4inzkdx4d772bv183df3cn393-python3.6-aws-adfs-0.12.0.drv' failed with exit code 1
error: build of '/nix/store/4my3hhz4inzkdx4d772bv183df3cn393-python3.6-aws-adfs-0.12.0.drv', '/nix/store/78fr7pnsyw0z671xpaz2ylimxxasa2zr-python2.7-aws-adfs-0.12.0.drv' failed

Odd, it built locally; I'll debug and then re-open once I figure it out.


Various improvements on the manual labeling: "viewer" option for sct_detect_centerline

Context
When automatic centerline detection does not work, users rely on the PyQt window to manually select points along the SC centerline.
User forum: https://forum.spinalcordmri.org/t/centerline-viewer-enhancements-sct-v5-0-1/605
Problem
The GUI has some issues and would benefit from a few improvements:

When switching from 'auto' to 'custom' mode, labels disappear. They should stay.
Add a button "Clean [cmd + c]" to clean all labels. The button could be placed between the "Undo" button and the "skip" button.
Add keyboard shortcut for skip. Eg: Cmd + k.
Remove capital for keyboard shortcuts for cmd+Z and cmd+S, otherwise people might think they need to press SHIFT as well (to get the capital).
Add an editable text box (or a slider) to specify the interslice gap

duplicate of #3168

duplicate of #3168


Initial commit for DMR architecture

Draft

I'm little confused about what this PR is targeting. It seems to be targeting a feature branch on this repo rather than the main branch. Does this mean there will be a second PR merging the main branch? Generally, we've only been doing PRs for merges to main so far.

The PR is not mapped to any issues in the backlog, we need this to determine what the acceptance criteria is for the work. Please add the issue this work is related to under the development side panel.

There seems to be a bunch of code in here as well as the document and images, is that deliberate? if so, what is the code doing and which issue is it related to


feat: Is it possible to make the ingress controller work without allowing read access to all secrets in the cluster?

Description
Currently, the RBAC ClusterRole grants read access to all secrets in the cluster. If the application gets compromised, this could be a critical security issue. Is it possible to limit the namespaces where the controller can access and set Role/Rolebindings for secrets instead?

@javsalgar Though the controller has read access to the secret. It does not react to it's events until the secret is part of the namespaces being watched. You can control which namespaces should be watched by adding namespace selector[1](helm chart) and then only the namespaces with that label will be watched.

https://github.com/apache/apisix-ingress-controller/blob/96510b68462e1a94370ed1d537beb24f2c16e234/cmd/ingress/ingress.go#L178

But this is still trusting the ingress controller. If you want security at K8s level, maybe you can propose adding an optional helm parameter that allows for giving access to Secrets via per-namespace Role and RoleBinding instead of ClusterRoleBinding and ClusterRole

@javsalgar hi, does this resoulve your problem now?

Hi @Revolyssup, i tried your recommandation here: https://github.com/apache/apisix-ingress-controller/issues/2138#issuecomment-1899808129
Yet, when we do Secrets via per-namespace Role and RoleBinding instead of ClusterRoleBinding and ClusterRole we have an error:
E0719 17:49:20.123223       1 reflector.go:147] pkg/mod/k8s.io/client-go@v0.28.2/tools/cache/reflector.go:229: Failed to watch *v1.Secret: failed to list *v1.Secret: secrets is forbidden: User "system:serviceaccount:apisix-ingress-dev:apisix-view-serviceaccount" cannot list resource "secrets" in API group "" at the cluster scope

Note that we have the same error for a a lot of rule not only for secrets (configmap, etc) if we try to get it work with a rolebinding.
Is it possible to reopen this issue and make it work with rolebinding?


Truncation for schedule volume snapshot label in child VolumeSnapshot object

When the schedule volume snapshot object is used to create a VolumeSnapshot, it uses its name as one of the labels. Labels can be max 63 chars, but object names can be longer.
Thus creation of the VolumeSnapshot would fail. We need to truncate the scheduled-volume-snapshot name when used in the label of VolumeSnapshot:
https://github.com/ryaneorth/k8s-scheduled-volume-snapshotter/blob/main/snapshotter.py#L90

Thanks for reporting this issue @bsgrigorov! Fixed in the latest release: v0.14.1


Implementation problem

Hi Dr Yuan, firstly, thank you for your great work!
However, when I implement PPO, the multiprocessing has a problem on my desktop. I'm using python3.6 with PyTorch 1.7.1 on Ubuntu 20.04 with CartPole-v0. In the first loop of i_iter in main_loop in ppo_gym.py, when evaluating the trained model, the code stucks.
After testing, I find it is because in process-4 (one process created here, the action cannot be computed here which is weird. I didn't change anything, and I don't think the multiprocessing should affect the computing with the network. Do you have any idea why this happens?

It seems that the computation of the network in the processes has been stuck for whatever reason. Is it caused by the PyTorch's version? (however I tried torch.0.4.0, the same problem happens)

Have you set the env variable as mentioned in README?
export OMP_NUM_THREADS=1

Wow, it works this time, thanks! So this command will influence training in both CPU and GPU?

It will only affect CPU based training. I have added it in code:
https://github.com/Khrylx/PyTorch-RL/blob/72069237b4d86bcb9675b899ea94228019a4f003/core/agent.py#L7
So you won't need to manually set it and it won't affect other programs.

Thank you!!!

One more question, I didn't find termination or join operation in the code. Is there a need to join the workers after they have been used?


UI crash in collection with JSON field when data is a JSON array

Describe the Bug
The collection list view crashes if the collection has a JSON field which contains an array with greater than 100 items.
The error is:
TypeError: t.substring is not a function

Link to the code that reproduces this issue
https://github.com/rbruels/payload-json-issue
Reproduction Steps
Add json field
I just added this to the default Media collection:
fields: [
    {
      name: 'alt',
      type: 'text',
      required: true,
    - }
    + },
    + {
    +  name: 'data',
    +  type: 'json',
    +  required: true,
    + }
  ],

Insert data
Insert a new Media object and add an image/alt text and then in the new data field, add a json array exceeding 100 items. You can copy paste this if you're so inclined:
[{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "},{"test":"test "}]

Save the object.
Reload the list view
Go back to the list view for media (http://localhost:3000/admin/collections/media)
You'll immediately see an error:

The problematic code is here:
https://github.com/payloadcms/payload/blob/beta/packages/ui/src/elements/Table/DefaultCell/fields/JSON/index.tsx#L11
In this case, cellData is a json array. So cellData.length > 100 is valid code ... but when the # of objects in the array exceeds 100, it calls cellData.substring which is not valid for the array.
Which area(s) are affected? (Select all that apply)
area: ui
Environment Info
Binaries:
  Node: 20.12.2
  npm: 10.5.0
  Yarn: N/A
  pnpm: N/A
Relevant Packages:
  payload: 3.0.0-beta.127
  next: 15.0.0
  @payloadcms/db-mongodb: 3.0.0-beta.127
  @payloadcms/email-nodemailer: 3.0.0-beta.127
  @payloadcms/graphql: 3.0.0-beta.127
  @payloadcms/next/utilities: 3.0.0-beta.127
  @payloadcms/payload-cloud: 3.0.0-beta.127
  @payloadcms/richtext-lexical: 3.0.0-beta.127
  @payloadcms/translations: 3.0.0-beta.127
  @payloadcms/ui/shared: 3.0.0-beta.127
  react: 19.0.0-rc-65a56d0e-20241020
  react-dom: 19.0.0-rc-65a56d0e-20241020
Operating System:
  Platform: darwin
  Arch: arm64
  Version: Darwin Kernel Version 24.0.0: Tue Sep 24 23:37:25 PDT 2024; root:xnu-11215.1.12~1/RELEASE_ARM64_T6030
  Available memory (MB): 36864
  Available CPU cores: 12

Hi @rbruels ,
I've encountered this same error when using just an empty array as a JSON field value. [].
I think it may be an admin visual parsing error that happens when the field contains an Array.
I'll see if this is connected.

Yep. I have reproduced it on my end.  They are connected.  The cellData can also be an array, and arrays don't have the substring property.
I should have a fix for this ready soon!

Rad!! Now we just need work on migrating to 3.0 😅 Thanks @kendelljoseph


MOD11 - Lab

Please create a lab for this module.
The lab should base on the existing BY architecture.
You will need to add sign-up and sign-in pages to the BlueYonder.Companion.Client application.
In the BlueYonder.Companion.Client application, please implement everything needed to communicate with Azure AD B2C and access protected resources on the BlueYonder.Companion application.
Please leave a very clear point where the student will have to change Azure AD B2C related configurations.
The student will have to add the following functionality:

Add Azure AD B2C as an IdP to the BlueYonder.Companion application.
Configure the BlueYonder.Companion.Client application according to the configurations in his Azure AD B2C tenant.

Considering to add Azure AD as IdP for the FlightsManager back-office application.
This would mean the following:

The student will need to implement Azure AD integration in the FlightsManager
The student will need to implement Azure AD Integration side by side to the Azure AD B2C integration in the BlueYonder.Companion application.
Student will have to implement a server-to-server authorization scenario.


Initial checkin of telemetry FAQ.

This is a markdown version of the telemetry FAQ.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: geeknoid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [geeknoid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sdake Thanks for the review, I addressed your feedback, except for the I->you thing. For the FAQ, these are supposed to be questions the user is asking him/herself.

/lgtm
/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: geeknoid, sdake
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [geeknoid,sdake]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


monaco-languageclient update with fix for production build

Hi @Guyutongxue the production build is now working again, please check "vite preview" yourself before merging.
There are two weird things:

dynamic import in monaco-editor-wrapper are blocking in the production build, but I checked that it is working properly in the monaco-languageclient repo, see https://github.com/TypeFox/monaco-languageclient/pull/661 . The workaround is to import them in editor.ts directly
Locale loading is also only working in dev mode. You need to attach ?locale=zh-hans. Those are also dynamically imported, maybe there is an identical root cause.

Thank you!

@Guyutongxue I saw your changes. Superb! It works nicely now. 🎉


⚠ Samsung has degraded performance

In a20bb6f, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2732 ms

Resolved: Samsung performance has improved in 004f79d.


Fix code block syntax highlighting in README

Thanks for putting together these code examples. While going through I noticed that the syntax highlighting didn't seem to be coming through so put this quick PR out to fix it and use headings above each code block.

Thanks for sending the PR! The code examples in README are formatted as grouping code blocks so that they appear side by side on the project website. Unfortunately, they don't get highlighted by Github 😞. I would be happy to merge your changes if they are compatible with both grouping code blocks and Github. Based on my experience, they might not be recognized as grouping code blocks. Could you verify that using mkdocs?

Another PR has duplicated these changes, closing.


Fixed #1453

Generated inline-style from jQuery are now plain CSS classes - which is better for future changes. Also replaced some old vanilla JS with build-in jQuery functions - since they are more robust and easier written.

Seems to work well enough.


Component: Select

Closing as done https://www.figma.com/file/xZ0IW0MJO0vnFicmrHiKaY/Components-Post?type=design&node-id=7802-33963&mode=design&t=vlCce38iSRct8eK7-0


Too many split packets

I created simple proxy to connect to vanilla MCPE server, but if I try to connect server throws SplitQueueOverloadException
https://hastebin.com/veciwanufe.vbs

What version of MCPE are you using? The client should NOT be sending that many packets during login

no, it was probably my fault, I connected the client to the server so I created an infinite loop

can I ask one question? because I haven't found any raknet forum or community.
As I said Im trying to create simple proxy, with your raknet server and the foward packets to raknet client.
But it unfortunately doesn't work.
my simple code: https://gist.github.com/Creeperface01/4509182820a62aec23faaabee221b44c


regen for serialization constructor fix

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


[FLINK-4800] Refactor the ContinuousFileMonitoringFunction code and the related tests.

This PR introduces the TimestampedFileInputSplit which extends the class FileInputSplit
and also contains:
i) the modification time of the file the split belongs to and also, and
ii) when checkpointing, the point the reader is currently reading from.
The latter will be useful for rescaling. With this addition, the ContinuousFileMonitoringFunction sends TimestampedFileInputSplits to the Readers, and the Readers' state now contain only TimestampedFileInputSplits.
In addition, this PR also refactors the code of the ContinuousFileMonitoringFunction, the ContinuousFileReaderOperator, and the related tests. The ContinuousFileMonitoringFunction
still checks for files that have not been  processed based on their modification time, sorts
these files by modification time, splits them in TimestampedFileInputSplits, and forwards
these splits downstream to the ContinuousFileReaderOperator.

Thanks @rmetzger ! This is the issue: https://issues.apache.org/jira/browse/FLINK-4800

Hi @mxm ! Please review.

Could you please elaborate on the changes you made to the ContinuousFileReaderOperator?

Thanks for updating the description. Let take a look at the changes.

Thanks a lot @mxm !

Thanks for the comments @mxm ! I integrated them and waiting for Travis.

Hi @mxm! Travis says ok, so please have another look
and let me know if you have any additional comments.

Hi @mxm. I already have a rebased version of this PR. I am just not committing it because all
the commits are squashed and it will mess up the review. Let me know when you want me to push
it.

Looks good @kl0u. Could you push the rebased version?

@mxm I just did. Let's wait for travis again.

Merged. Thank you!


Fix storing non-UTF8 characters

This has been fixed in juno and now we import new juno here.

This change is

#54 does the same + more


How to get all features from DMatrix instance?

Is there any function as get_label() does when I want to get all labels from DMatrix in Python API?

There is no such functionality so far as DMatrix is designed to be one way ingester of the data, new questions are now encouraged at https://discuss.xgboost.ai/


minor bug fix

isEmpty method doesn't exist in String class of Arduino library, replaced it with length() method

already resolved!


Update to version 0.17.2

Checklist

[x] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-webservice.
I tried to re-render for you, but it looks like there was nothing to do.


jest-haste-map: deprecate functional ignorePattern and use it in cache key

I plan to revert ignorePattern to only being a strict RegExp, after removing the function use case from React Native and Metro bundler. The reason for getting rid of the function use case is that ignorePattern should be part of the cache key, and a function is not analysable at runtime. If it can only be a RegExp, then we can use ignorePattern.toString() as part of the cache key.
The reason it needs to be part of the cache key is because the cache needs to be discarded—or at least reevaluated—when the ignore pattern changes. Otherwise, we can be missing some new modules that should be included, or the reverse, we can be including modules that should now be ignored. I have observed considerable trouble caused by this issue. For example, in React Native, people would reload a project and it wouldn't find a module, or, duplicates modules would be detected while in fact one of them should have been ignored.
This changeset add a deprecation notice for the functional use case (so that we can release this as a minor/revision), and starts using the string representation of the ignore pattern in the cache key (so that we can get a correct behavior as soon as possible for callsites that do already use a RegExp).
See also #2957, that introduced ignorePattern as a function.
Alternatively, we could require callsites to provide their own cache key if they do want to use a function, but this makes it more complicated and I'm not sure there's really any other callsites than React Native that does that, that we will fix ourselves as well.

Please run prettier before merging.

Codecov Report

Merging #4063 into master will decrease coverage by <.01%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master    #4063      +/-   ##
==========================================
- Coverage   60.42%   60.41%   -0.01%
==========================================
  Files         196      196
  Lines        6764     6766       +2
  Branches        6        6
==========================================
+ Hits         4087     4088       +1
- Misses       2674     2675       +1
  Partials        3        3

Impacted Files
Coverage Δ

packages/jest-haste-map/src/index.js
92.63% <50%> (-0.34%)
:arrow_down:

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 7b9b5b3...085b11a. Read the comment docs.

a function is not analysable at runtime

You can call toString on it to get the implementation. I'm sure there's no reason to keep it either way, just thought to point it out

You can call toString on it to get the implementation. I'm sure there's no reason to keep it either way, just thought to point it out

toString on a function is not exhaustive: for example in React Native the function typically doesn't change, but the function itself is using a RegExp from its scope, that can change. Using toString on the function doesn't capture the changes happening in that RegExp or any other variable of the scope.

 It never changes at runtime. But, it could change from a run to another of the whole bundler process, when the config is manually changed in-between :)  This happens more often than we think, for example after doing a git pull, and someone changed the configuration. Cache keys are a hard thing to get right.

(this is getting academic :smile:).
A pure function is one which returns the same output for the same input. Having some global state (such as using Date.now or closing over a variable from an outer scope) affect the output makes it non-pure. It's not strictly about mutability.


rune/libenclave/skeleton: move enclave_debug to metadata area

Fixes: #416
Signed-off-by: Shirong Hao<EMAIL_ADDRESS>

enclave_debug information can be reflected in the signature, there is no need to reflected in the metadata area

This PR is replaced by https://github.com/alibaba/inclavare-containers/pull/442.


Executing genrule @tsl//tsl/cuda:cudnn_stub_gen failed

Description
jaxlib does not build on PowerPC.
The error looks like:
ERROR: /tmp/spacky0n7oxbu/4310a55b80a5bf78e8b9018d02b90f5a/external/tsl/tsl/cuda/BUILD.bazel:132:10: Executing genrule @tsl//tsl/cuda:cudnn_stub_gen failed: (Exit 127): bash failed: error executing command (from target @tsl//tsl/cuda:cudnn_stub_gen)
...
  /bin/bash -c 'source external/bazel_tools/tools/genrule/genrule-setup.sh; NOT_IMPLEMENTED_FOR_THIS_PLATFORM_OR_ARCHITECTURE')
# Configuration: 3818a74cc7f5ae72cf721505511a1c130db9b4857cd3fc71c6ce848b0d2d8c55
# Execution platform: @local_execution_config_platform//:platform
/bin/bash: NOT_IMPLEMENTED_FOR_THIS_PLATFORM_OR_ARCHITECTURE: command not found
Target //jaxlib/tools:build_wheel failed to build

Build logs:

build log
build env

System info (python version, jaxlib version, accelerator, etc.)

Python: 3.11.7
Jaxlib: 0.4.25, 0.4.24
Accelerator: N/A

I tried an older version (0.4.16) and it has a different build error on ppc64le:
ERROR: /tmp/spackceyf0_mq/8d5f7252b6e3f5655299c7bc908f0f14/external/com_github_grpc_grpc/BUILD:1853:16: Compiling src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc failed: (Exit 1): crosstool_wrapper_driver_is_not_gcc failed: error executing command (from target @com_github_grpc_grpc//:grpc_transport_chttp2_client_secure)
...
In file included from external/boringssl/src/include/openssl/asn1.h:61,
                 from external/boringssl/src/include/openssl/x509.h:66,
                 from external/com_github_grpc_grpc/src/core/tsi/ssl_transport_security.h:28,
                 from external/com_github_grpc_grpc/src/core/lib/security/security_connector/security_connector.h:33,
                 from external/com_github_grpc_grpc/src/core/lib/security/credentials/credentials.h:35,
                 from external/com_github_grpc_grpc/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc:34:
external/boringssl/src/include/openssl/base.h:124:2: error: #error "Unknown target CPU"
  124 | #error "Unknown target CPU"
      |  ^~~~~
In file included from external/boringssl/src/include/openssl/asn1.h:66,
                 from external/boringssl/src/include/openssl/x509.h:66,
                 from external/com_github_grpc_grpc/src/core/tsi/ssl_transport_security.h:28,
                 from external/com_github_grpc_grpc/src/core/lib/security/security_connector/security_connector.h:33,
                 from external/com_github_grpc_grpc/src/core/lib/security/credentials/credentials.h:35,
                 from external/com_github_grpc_grpc/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc:34:
external/boringssl/src/include/openssl/bn.h:174:2: error: #error "Must define either OPENSSL_32_BIT or OPENSSL_64_BIT"
  174 | #error "Must define either OPENSSL_32_BIT or OPENSSL_64_BIT"
      |  ^~~~~
external/boringssl/src/include/openssl/bn.h:232:44: error: ‘BN_ULONG’ has not been declared
  232 | OPENSSL_EXPORT int BN_set_word(BIGNUM *bn, BN_ULONG value);
      |                                            ^~~~~~~~
...

The code we use to call CUDA apis isn't implemented for the Power architecture.
To fix this, you'd need to do two things:

add support for Power to this project: https://github.com/yugr/Implib.so . We use the stubs generated by implib.so for CUDA. This probably isn't that hard to do: you need to write a couple of short assembly snippets for that architecture though (https://github.com/yugr/Implib.so/tree/master/arch).
update XLA's Bazel workspace to point to the new copy of implib.so, and add a case here: https://github.com/openxla/xla/blob/25e88c68b4c634ba4726b609b4d75377bb8aa0f5/xla/tsl/cuda/stub.bzl#L23

Contributions welcome! I don't personally have access to a Power-architecture VM, so it's hard for me to write such a change. But we'd welcome a PR!

Filed https://github.com/yugr/Implib.so/issues/35 to track adding POWER support to that project.
The switch happened late September 2023, so I'd think that 0.4.16 was the last version without it.

Hmm, 0.4.16 also failed for me on ppc, so it must be before that. I'll try slowly working backwards until I can find a version that builds.
Not sure if you want to keep this open or close it, I'll leave the decision up to you.

I have no objection to leaving this open in case it helps anyone else trying to build on Power. But since we don't have such machines to test on, it's definitely in the "please send a PR" bucket.

I encountered the same issue while building on Windows.
C:\msys64\usr\bin\bash.exe -c source external/bazel_tools/tools/genrule/genrule-setup.sh; NOT_IMPLEMENTED_FOR_THIS_PLATFORM_OR_ARCHITECTURE
# Configuration: 495cec9c291802d357d888197346eec78634fd6511214ef107448eb12365f80e
# Execution platform: @local_execution_config_platform//:platform
/usr/bin/bash: line 1: NOT_IMPLEMENTED_FOR_THIS_PLATFORM_OR_ARCHITECTURE: command not found
Target //jaxlib/tools:build_wheel failed to build
INFO: Elapsed time: 20.333s, Critical Path: 1.42s
INFO: 231 processes: 203 internal, 28 local.
FAILED: Build did NOT complete successfully
ERROR: Build failed. Not running target

@adamjstewart The commit above (at XLA head) may fix your problem. Give it a go!
(You'll need to override the XLA version used by jaxlib, see https://jax.readthedocs.io/en/latest/developer.html#building-jaxlib-from-source-with-a-modified-xla-repository until tomorrow when we'll automatically bump the XLA version.)

Thanks! I likely won't get a chance to test this until your next release. I also don't have easy access to ppc64le, it's only in our CI.

Just tried 0.4.26, unfortunately it also fails to build on ppc64le:
ERROR: /tmp/spack9k53xhil/557b6e16b5b46cba3da34154bbafae8a/external/curl/BUILD.bazel:26:11: Compiling lib/vtls/schannel_verify.c failed: (Exit 1): gcc failed: error executing command (from target @curl//:curl)
...
# Configuration: a6dcb408019df56f52ddd35a52a3c00ef05719353a028bde66d77289343bb2f9
# Execution platform: @local_execution_config_platform//:platform
In file included from external/boringssl/src/include/openssl/crypto.h:18,
                 from external/boringssl/src/include/openssl/opensslv.h:18,
                 from bazel-out/ppc-opt/bin/external/curl/include/curl_config.h:5,
                 from external/curl/lib/curl_setup.h:78,
                 from external/curl/lib/vtls/schannel_verify.c:32:
external/boringssl/src/include/openssl/base.h:124:2: error: #error "Unknown target CPU"
  124 | #error "Unknown target CPU"
      |  ^~~~~
cc1: warning: unrecognized command line option '-Wno-string-plus-int'
cc1: warning: unrecognized command line option '-Wno-array-parameter'
cc1: warning: unrecognized command line option '-Wno-unknown-warning-option'
Target //jaxlib/tools:build_wheel failed to build
INFO: Elapsed time: 245.328s, Critical Path: 134.83s
INFO: 1168 processes: 601 internal, 567 local.
FAILED: Build did NOT complete successfully
ERROR: Build failed. Not running target

Full build log: spack-build-out.txt
I realize this is a different dependency, so let me know if you want me to open a different issue. Ideally, we would be able to build with external copies of all of these dependencies so we don't have to keep bugging you every time one of them fails to build, but I don't see a way to do that.

FWIW, jaxlib 0.4.3 is the most recent version that builds on ppc64le, 0.4.4+ all fail to build.

You can use external system libraries rather than having us build them. See how the conda-forge build does it: https://github.com/conda-forge/jaxlib-feedstock/blob/044e3f94fb6231ae119caec9e6a663d2975180f0/recipe/build.sh#L82
(Not exactly documented by us, but it's infrastructure we share with XLA and TF.)

@hawkinsp do you know where I can find the list of supported TF_SYSTEM_LIBS values?


(Android) External USB keyboard randomly stops working

It particularly does that when I enter RUN mode and then exit it. It looks like the Escape key toggles the keyboard off or on.

part of #60


🐛 Bug - TinaCMS CLI fails to provide useful error messages during TinaCloud checks

CC @wicksipedia @JackDevAU
There are instances where we cannot assist users with build issues as the error message from the tinacli tool fails to include the following details in its cloud check error messages:

Which specific step was being attempted
What the actual response from TinaCloud was
If the response was not expected, what the expected response was (e.g. schema changes)

Tasks

[ ] Add logic to output the above details

PR to add more details to schema checks: https://github.com/tinacms/tinacms/pull/5350


Adds new flutter game-"wordlyPlus"

Closes #344

@ashitaprasad Please merge this.

@ashitaprasad Updated...


Change rust backtrace to full

Can you please remove other changes in the commit related to open-partition

Yeap- just did that!

Nit: It is actually CI and not Travis, updating commit message would be better imo
Travis is only used for ARM Tests, and this is actually GitHub Actions if you are looking for the term replacing Travis :)

Oh, thanks for comment, I changed it.

Coverage increased (+0.8%) to 82.813% when pulling b0469d0e080428c5d024fb0944fc20321782415a on ycho:change_rust_backtrace_to_full into f95d61525578cb8702f7256d6733b7c0a1aa4524 on xiph:master.

I couldn't find very good (read: any) documentation on how RUST_BACKTRACE=full works. The one mention I found in a PR shows that it is case-sensitive and needs to be lowercase. However, that code no longer seems to be in master? So I'm not even sure if full does anything different than 1 anymore. I think the only way to verify is to test and see if the backtrace becomes more verbose.

I couldn't find very good (read: any) documentation on how RUST_BACKTRACE=full works. The one mention I found in a PR shows that it is case-sensitive and needs to be lowercase. However, that PR is from 4 years ago and that code no longer seems to be in master? So I'm not even sure if full does anything different than 1 anymore. I think the only way to verify is to test and see if the backtrace becomes more verbose.

Yes, that is valid point. The only source that made me try write this PR was a part of the error message from github CI, saying ... try "RUST_BACKTRACE=FULL" to see full details (not exact copy of the message, since at this point all those errors are fixed fortunately and cannot access the error message anymore).
In addition, two CI tests (both for mac os) seems not proceeding with unknown reason to me.
As you proposed, one (and only) way is to land this PR then submit some test PR (which fails run tests)!

I couldn't find very good (read: any) documentation on how RUST_BACKTRACE=full works. The one mention I found in a PR shows that it is case-sensitive and needs to be lowercase. However, that PR is from 4 years ago and that code no longer seems to be in master? So I'm not even sure if full does anything different than 1 anymore. I think the only way to verify is to test and see if the backtrace becomes more verbose.

Yes, that is valid point. The only source that made me try write this PR was a part of the error message from github CI, saying ... try "RUST_BACKTRACE=FULL" to see full details (not exact copy of the message, since at this point all those errors are fixed fortunately and cannot access the error message anymore).
In addition, two CI tests (both for mac os) seems not proceeding with unknown reason to me.
As you proposed, one (and only) way is to land this PR then submit some test PR (which fails run tests)!

Regarding the difference between full and FULL,
honestly I am now even confused whether it was RUST_BACKTRACE=full or RUST_BACKTRACE=FULL.

this seems to state that the variable has to be set with something, no matter what.

I read some of the RFC linked in std::backtrace:

Today, the RUST_BACKTRACE controls backtraces generated by panics. After this RFC, it also controls backtraces generated in the standard library. Two additional variables will be added: RUST_PANIC_BACKTRACE and RUST_LIB_BACKTRACE: these will independently override the behavior of RUST_BACKTRACE for backtraces generated for panics and from the std API.

So it sounds like actually this is more complicated than it needs to be, for whatever reason that the Rust language team decided... and that still fails to actually answer whether "full" does anything different from "1". But it does sound like the code that handles "panic" backtraces is not the same as std::backtrace::Backtrace and is found somewhere else, which I haven't found yet.

I couldn't find any documented methods along the implementation path but here it is in libstd:
https://github.com/rust-lang/rust/blob/1.45.0/src/libstd/sys_common/backtrace.rs#L163-L173

I couldn't find any documented methods along the implementation path but here it is in libstd:
https://github.com/rust-lang/rust/blob/1.45.0/src/libstd/sys_common/backtrace.rs#L163-L173

Thanks for finding and proving this info. So, would we want then merge this PR anyway w/o testing it elsewhere?

We'll want to change it to lowercase. The code barrbrain linked shows that it is case sensitive and only matches on the exact value "full".

We'll want to change it to lowercase. The code barrbrain linked shows that it is case sensitive and only matches on the exact value "full". Any other value except 0 (including "FULL") will give short backtraces.

Oh, there it needs. I did a wrong guess that there would a step to convert to lowercase.

We'll want to change it to lowercase. The code barrbrain linked shows that it is case sensitive and only matches on the exact value "full". Any other value except 0 (including "FULL") will give short backtraces.

Done.


Sometimes, a popper renders super out of whack in positioning

CodeSandbox demo
Haven't been able to reproduce in a sandbox, but I'll include a couple gifs.
Description
There's 2 issues, both appear when nesting poppers via popperjs 2.4.0 (via my package https://github.com/runfaj/react-nested-popper):

on popper init
by calling this.popperInstance = createPopper(...);, sometimes the placement is off. In this gif, the placement is set to "left", but appears on the right until a scroll or resize event happens.
.
This one is fixed by adding something like

setTimeout(() => {
  if (this.popperInstance) {
    this.popperInstance.update();
  }
});

immediately after the createPopper call. However, this causes a noticeable flicker occasionally as the placement updates.

on popper option update
by calling this.popperInstance.setOptions(this.popperOptions); in something like a react componentDidUpdate, we get behavior like this:

If I remove the setOptions call, this works as expected. If I keep that setOptions and add the same setTimeout as (1), then it also works, but the flickering is very noticable.
(this image shows it happen once, but the framerate of the gif isn't super great to show it happening with every key press)

For reference, here's my componentDidUpdate cycle as it currently stands.
  componentDidUpdate(prevProps) {
    // watch prop changes to see if we need to init or update the popperjs instance
    // if not show, we kill the instance and clean up refs
    if (this.props._show) {
      if (!this.popperInstance) {
        this.initPopperInstance();
        this.forcePopperUpdate(); // does the setTimeout update mentioned
      } else if (!_isEqual(this.props.popperOptions, prevProps.popperOptions)) {
        this.popperInstance.setOptions(this.props.popperOptions);
        this.forcePopperUpdate(); // does the setTimeout update mentioned
      }
    } else {
      this.destroyPopperInstance();
    }
  }

Expected
I would expect that createPopper and setOptions call their update cycles immediately after setting configurations before ever rendering an update to the browser to position correctly as well as prevent flickering.
Also, having the update method async (as it currently is) could also be an issue. If it was synchronous, we could control more easily how and when the cycle should update after options change.
Additional Info
I suspect (1) in the example above is actually also an issue of (2). My popper initializes, but then another update cycle can potentially change the popper options. When I added that _isEqual in the example, the problem was significantly reduced in both cases. However, there is definitely an issue with the setOptions causing the placement to go in weird spots.

Is there any reason why you are not using react-popper? It supports nested poppers just fine.
Unfortunately I can’t help you without a reproduction demo.


feat: Replace dictonary i18n with react-i18next

Description
Replaces the dictionary / custom i18n implementation with the well-known library react-i18next as shortly discussed in the community call on Wednesday.

Merged! Thanks @Its-treason !


remove generic API client

This removes the generic nRF API client into an implementation that provides per-use-case API helper methods. This way we do not have the responsibility to maintain the complete response schema, but can only include response data validation for the data that is programmatically accessed.

@CodiumAI-Agent /review

PR Analysis

🎯 Main theme: Refactoring of the nRF Cloud API client
📝 PR summary: This PR refactors the nRF Cloud API client from a generic implementation to a more specific one. It removes unused types and extracts methods for specific use-cases. The PR also includes renaming of some files and methods for clarity.
📌 Type of PR: Refactoring
🧪 Relevant tests added: No
⏱ Estimated effort to review [1-5]: 4
The PR includes a significant amount of changes, including refactoring of key components, renaming of files and methods, and removal of unused types. It requires a thorough understanding of the nRF Cloud API client to review effectively.
🔒 Security concerns: No
The PR does not seem to introduce any new security concerns. The API key is handled securely and no sensitive data is exposed.

PR Feedback

💡 General suggestions: The refactoring seems to be well done, with a clear focus on making the API client more specific and easier to maintain. However, it would be beneficial to add tests to ensure the new implementation works as expected. Furthermore, it would be helpful to ensure that all removed types and methods were indeed unused and that their removal does not affect other parts of the system.

 🤖 Code feedback:

relevant file: nrfcloud/devices.ts
suggestion: Consider adding error handling for the fetch request in the 'updateConfig' method. Currently, if the request fails, the error is thrown but not caught, which could lead to unhandled promise rejection. [important]
relevant line: '+		const response = await fetch('

relevant file: nrfcloud/devices.ts
suggestion: It seems like the 'register' method could benefit from some validation of the 'devices' parameter before proceeding with the bulk registration payload creation. This could help catch any issues with the input earlier and provide more informative error messages. [medium]
relevant line: '+	register: async (devices) => {'

relevant file: cli/commands/simulate-device.ts
suggestion: It would be beneficial to add error handling for the MQTT connection in the 'simulateDeviceCommand' function. Currently, if the MQTT connection fails, the error is not caught, which could lead to unhandled promise rejection. [important]
relevant line: '+		const mqttClient = mqtt.connect({'

relevant file: lambda/kpis.ts
suggestion: Consider adding error handling for the 'getAllnRFCloudAccounts' function. Currently, if the function fails, the error is not caught, which could lead to unhandled promise rejection. [important]
relevant line: '+	...(await getAllnRFCloudAccounts({ ssm, stackName })).map('

How to use

Tag me in a comment '@CodiumAI-Agent' and add one of the following commands:
/review [-i]: Request a review of your Pull Request. For an incremental review, which only considers changes since the last review, include the '-i' option.
/describe: Modify the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest improvements to the code in the PR. Extended mode employs several calls, and provides a more thorough feedback.
/ask <QUESTION>: Pose a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.

To edit any configuration parameter from configuration.toml, add --config_path=new_value
For example: /review --pr_reviewer.extra_instructions="focus on the file: ..."
To list the possible configuration parameters, use the /config command.

@CodiumAI-Agent /improve --extended


Bump version to 0.5.0

Codecov Report

Merging #27 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #27   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           6      6
  Lines         315    315
=====================================
  Hits          315    315

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 3584d57...1b7b990. Read the comment docs.


Feature Request: Install via Homebrew

pretty please! 😃

@kolchurinvv
ok! https://docs.brew.sh/Adding-Software-to-Homebrew

@tarutin would you like some help with this?

@kolchurinvv Yes, Firstable I need create the formulae in Homebrew?

Tbh, I haven't done this before either. let me go through their docs and i'll post here what i find!

guys, any update on this? Would love to have this feature so we can integrate it with our dotfiles

Done.
brew update
brew install hovrly


Remove the catch of throwable

What changes are proposed in this pull request?
Remove the catch of throwable
Why are the changes needed?
Throwable might be a jvm fatal error which we should not catch
Does this PR introduce any user facing changes?
no

alluxio-bot, merge this please.


AWS api event source

Question: What are the best practices when testing AWS api events included in the handler logic?  Proxyquire?

We use Proxyquire to stub out everything for unit testing - if you're interested, I can share some code that we use to unit test AWS services.

Yes please!

I created an example project for you - might not be 100% production ready but gives you an idea how to use proxyquire/sinon/lambda-tester together. Code is in the examples/aws_service directory.

Thank you!

ok to close the issue?

Yes, thanks!


feat(logs): removed usage of temp file for log output

Removed capturing CLI output in temp file in favor of storing in memory.  This removes unnecessary file handling/cleanup that surfaced some issues with our windows infra recipes last week

Updates completed per feedback cc @amolero-nr @Julien4218


Duplicate line (B.6.2.1)

B.6.2.1 Using Mutable Collections Safely
import scala.collection.mutable
import scala.collection.mutable // Duplicaate line

mutable.Seq(1, 2, 3)
// res: scala.collection.mutable.Seq[Int] = ArrayBuffer(1, 2, 3)

Seq(1, 2, 3)
// res: Seq[Int] = List(1, 2, 3)

This issue has been fixed in https://github.com/underscoreio/essential-scala/commit/bfe9cd949138f0c18bd0aa3ceffe362db61d5f16#diff-08b2e17a985cfa7e8c831d133eb51b41L56.

Thanks for the feedback!


Remove unnecessary public annotation for some local library.

Codecov Report
Patch and project coverage have no change.

Comparison is base (92dc626) 92.84% compared to head (0cc4fb3) 92.84%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1954   +/-   ##
=======================================
  Coverage   92.84%   92.84%
=======================================
  Files         355      355
  Lines       26249    26249
=======================================
  Hits        24372    24372
  Misses       1877     1877

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


ARTEMIS-2919 support timestamping incoming messages

@gemmellr, I think I've resolved all the issues you enumerated. Please review and let me know if there's anything left. Thanks for the feedback. It's always appreciated.

@gemmellr, I updated the PR to use x-opt-ingress-timestamp-millis for AMQP. Let me know if you have additional feedback.

I added a broker restart to a couple of the tests. The STOMP test didn't need it as that should be covered by the other test using core messages.

@gemmellr, any additional feedback here?

@jbertram i am quite interested into this bud, please hold on a bit, I just need some days to try it first, because I have recently some personal/family issues

@jbertram I did not have time to look into this.. but if you could please make sure you test with large messages? (Make sure you reboot the server between you send and receive)?

@clebertsuconic, I finally got back around to this and there are indeed problems with large messages. Specifically, when sending an AMQP large message and then consuming it with core or OpenWire (see org.apache.activemq.artemis.tests.integration.client.IngressTimestampTest). It looks to me like the problem is that org.apache.activemq.artemis.protocol.amqp.broker.AMQPLargeMessage#reencode doesn't really do anything, but I'm not sure how to fix it.


Appstudio update test-component-pac-vyap

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-vyap-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
8 seconds
init

✅ Succeeded
16 seconds
clone-repository

✅ Succeeded
31 seconds
build-container

✅ Succeeded
12 seconds
deprecated-base-image-check

✅ Succeeded
12 seconds
inspect-image

✅ Succeeded
9 seconds
clair-scan

✅ Succeeded
38 seconds
clamav-scan

✅ Succeeded
10 seconds
sbom-json-check

✅ Succeeded
11 seconds
label-check

✅ Succeeded
5 seconds
show-sbom

✅ Succeeded
6 seconds
show-summary

Pipelines as Code CI/test-component-pac-vyap-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
8 seconds
init

✅ Succeeded
12 seconds
clone-repository

✅ Succeeded
26 seconds
build-container

✅ Succeeded
16 seconds
deprecated-base-image-check

✅ Succeeded
17 seconds
inspect-image

✅ Succeeded
33 seconds
clamav-scan

✅ Succeeded
9 seconds
clair-scan

✅ Succeeded
10 seconds
sbom-json-check

✅ Succeeded
15 seconds
label-check

✅ Succeeded
6 seconds
show-sbom

✅ Succeeded
6 seconds
show-summary


update get method to accept 2xx status

This PR allows the get method to accept any 200-299 status code.
The stats resource appears to return a 202 code when the daily status is being updated along with possibly incomplete data, and a "message" key containing "Calculating stats for this user. Check back later." and a "status" key of "pending_update", and "is_up_to_date" of false, however it is still a valid statistics, and could be used.
There is no "error" key returned in the object, as defined in the REST docs for wakatime, so It sounds like this should be an acceptable message.

Also added environment specific testing, and updated the workflow. Not sure why your tests are failing, looks like the key in your secrets may be unauthorized. The test checks complete fine on my fork with my key.

i'll see what's wrong and make the tests pass.  also sent a collaborator inviting of this repo to you.

Thanks! I'll look into adding some of the other resources from wakatime also.

thanks,i'm just start to debug on why tests not passed.will fix it soon

I did nothing but it passed on master.  and i found the reason is  only the repo collaborators  can access the secret env variables.

Ahh, good to know. That makes sense.


N-dimensional 'jump_to_grid'

The transition-matrix way of doing things involves spreading the mass of simulated points to an exogenous grid of the state space. We currently can do this for 1D and 2D state spaces with the jump_to_grid_1D and jump_to_grid_2D methods. This PR adds a method called mass_to_grid, which achieves the same goal, but for ND state spaces.
It adds tests that verify that the output of the new function is the same as that of jump_to_grid_1D and jump_to_grid_2D . In my own tests, mass_to_grid is about ~2 times slower than the jump_to_grid_1D and jump_to_grid_2D methods. Still, I thought it would be good to have the general version around at least for testing higher-dimensional models. If performance ever becomes an issue we can try to make it faster, or code up jump_to_grid_3D. But as far as I understand, this part of the matrix-method algorithms is a tiny fraction of their total time so it does not look like the ~2 factor is a concern.
Please ensure your pull request adheres to the following guidelines:

[ ] Tests for new functionality/models or Tests to reproduce the bug-fix in code.
[ ] Updated documentation of features that add new functionality.
[ ] Update CHANGELOG.md with major/minor changes.

Looks awesome!  Let's discuss tomorrow.

Codecov is reporting a lot of misses...but I think the tests are pretty exhaustive and I believe it might be because of numba?
@alanlujan91 have you run into this before?

We updated codecov to the new version and it seems it is now much more exhaustive... @MridulS might be able to help

https://stackoverflow.com/questions/26875191/analyzing-coverage-of-numba-wrapped-functions

"define the NUMBA_DISABLE_JIT environment variable when you run your coverage measurement. "
https://github.com/econ-ark/HARK/blob/master/.github/workflows/coverage.yml

https://github.com/keurfonluu/fteikpy/blob/master/.github/workflows/ci.yml#L29

The empty commit
Suggested by our friend @MridulS
Has failed,
And now also empty
Is my soul.
@sbenthall @alanlujan91

I am not sure how that could be, but I can certainly test using the same environment flag when I get back home.

@alanlujan91 nope, still failing coverage

it builds on every system/python and runs all the examples, I think we should merge this and try to figure out codecov config later


Improve adding styles for proper undo/redo

This changes should improve work of undo/redo available in draft-js.
Before this changes when you add red, then blue colors one by one and press Ctrl + Z you will see black color, only on second Ctrl + Z you will see red. The same for Ctrl + Y.
(It seems like this happen because editor state receive one change on remove and second on add, so it will better to act with content state and push change to editor only once when we add style)
This changes should fix this issue and you will see red color on first Ctrl + Z like expected.

Awesome! thank you for taking your  time to submit a PR. I will take a look at it tonight and if all goes well I will merge this into the main repo and publish to NPM.


more than one audio codec name in a file name

Hello.
I would like to draw attention to the following situations.
Sometimes we can find files with more than one audio codec in name, for example DTS and AC3
Here is first example:
Mission.Impossible.1996.MULTi.1080p.BluRay.x264.DTS.AC3-DENDA.mkv
I think, that script should preserve both of them, like in case for languages.
Maybe just add something like this:
if key == "audio":
    clean = " / ".join(match) # this
    clean = self.split_multi(match) # or this

Because for now it detect only Dolby Digital although DTS occurs first.

small insert
Screen from my test implementation how it looks like for now in some video plugin in KODI:

and how could it be looks like if script will be preserve both codecs name:

I was based on a much earlier version of the script that only returned raw expressions (that's why it's AC3 and not Dolby Digital), but I wanted only to show that all matching names can and should be preserved.

Back to the topic,
Another example:
Philadelphia.1993.MULTi.2160p.BluRay.REMUX.HEVC.HDR.DTS-HD.MA.TrueHD.7.1.Atmos-P2P.mkv
Two audio codecs: DTS-HD.MA and TrueHD.7.1.Atmos
.
I also found something like this:
Mission.Impossible.1996.Custom.Audio.1080p.DTS.PL-Spedboy.mkv
Custom Audio and DTS - what do you think about that?
patterns in "patterns.py" file has only Dual Audio.
Maybe just after line 239 add:
("Custom{d}Audios?".format(d=delimiters), "Custom"),

.
Also patterns doesn't has DTS-ES , DTS-EX and 6.1 at all. Examples with those codecs:
Black.Rain.1989.MULTi.1080p.BluRay.REMUX.MPEG-2.DTS-ES.6.1-LTS.mkv
Kiss.Of.The.Dragon.2001.MULTI.HDR.2160p.AI.BluRay.DTS.EX.6.1.AC3.2.0-ChrisVPS.mkv
Based on the code, my suggestion is:
 ("DTS{d}?ES".format(d=delimiters), "DTS ES"),
 ("DTS{d}?EX".format(d=delimiters), "DTS EX"),
 ("6.1(?:{d}?ch(?:annel)?(?:{d}?Audio)?)?".format(d=delimiters), "6.1"),

In addition to the fact that it is worth adding these 3 elements, please also take a look at the second example:
Kiss.Of.The.Dragon.2001.MULTI.HDR.2160p.AI.BluRay.DTS.EX.6.1.AC3.2.0-ChrisVPS.mkv
There are also 2 audio codecs in this example: DTS.EX.6.1 and AC3.2.0 and ALSO 2 different channels layout: 6.1 and 2.0
If we decide to keep the layout of the channels, we must remember to associate them with the appropriate codecs.
.
Maybe it's just a mistake in this case, but it can be true, 5.0 channels layout (without subwoofer channel)
Grease.Rise.of.the.Pink.Ladies.S01E06.MULTi.720p.WEB-DL.H264.DDP5.0-K83.mkv
Perhaps it is worth considering include such a case by the script?
("5.0(?:{d}?ch(?:annel)?(?:{d}?Audio)?)?".format(d=delimiters), "5.0"),

.
Last example who also match to the topic of this post, but in this case, I would like to point out that the phrase Dolby Digital EX can also be noted as not only DD-EX but also DD.EX:
Bolt.2008.MULTI.BluRay.3D.1080p.AVC.DTS-HD.MA.DD.EX.5.1-SnOoP-UPR.iso
Is the same case as for DTS-HD and DTS-X ; the dash in the middle may also be a period, or in some cases there may be neither a dash nor a period.
My suggestion is to change line 227 to:
 ("DD{d}?EX".format(d=delimiters), "Dolby Digital EX"),

And finally, slightly off topic, please add detection for DTS-X .
Here is 2 examples with this phrase:
Spartacus.1960.MULTi.2160p.UHD.BluRay.Remux.HEVC.DTS-X.7.1-fHD.mkv
Casino.1995.MULTi.REMUX.2160p.UHD.Blu-ray.HDR.HEVC.DTS-X7.1-DENDA.mkv
I haven't found examples with the form DTSX, but that doesn't mean they don't exist.

.
I hope I was able to clearly describe the problem with examples. In some places I proposed my own solutions, because if I can and I know how, I try to help and not just demand. I hope it will help to improve the project much faster.
Regards
.

Hey, thanks for the detailed examples - very helpful!
Allowing multiple audio-formats is covered by #30, which I have not looked at in a while, but given it's affecting you I'll be working on it soon. As an overall benefit, it'll also simplify some of the uglier list-regexes that currently exist (e.g. languages, genres, etc.)
I will try and implement it over the coming weeks, along with the additional audio formats/channels.
Thanks for opening the issue!

Hello
I'd like to add one more to this thread.
Yesterday I found another variant of AAC codec name:  HE-AAC
Here is an example of the file name: Seinfeld.S04E23E24.The.Pilot.FiNAL.MULTi.1080p.NF.WEB-DL.HE-AAC2.0.H264-Ralf.mkv
Please add to the pattern too.
Cheers

Hey, sorry for the delay. I've added all the extra patterns you've mentioned (currently on the dev branch). Multi-audio support is still not added, but I will try to get to this soon.
Thanks for the opening the issue! I will close this since the multiple-audio stuff is covered by #30, and everything else was implemented.


Store resolved duplicates by year

Then unify them in the initial read. This will enable year-over-year misspelling stats.

This is accounted for in the statistics themselves, with bad_spellings_by_book and bad_spellings_by_card.


Database Issues

#14

#database-issues channel has been replaced with a "forum channel" so this is not really needed anymore.


Unsplash-cli

Hi there!
This is not an issue, just a little message to thank you for your amazing work and for making it open source :)
I've been playing recently with node.js and wanted to learn how to build a cli application so I decided to make a cli version of unsplash-it, unsurprisingly called unsplah-cli.
Not sure if it is really useful to anyone, but here it is: https://www.npmjs.com/package/unsplash-cli
If you're on OS X you can use unsplash desktop --random to get a random desktop background image! yeah! ;)

:+1:

Hey,
awesome to see cool stuff being made using unsplash.it :)
Will definitely give it a try!


Selected tab should be displayed full

the text shouldn't move and the switcher size shouldn't change

Sometimes the switcher size is changing

Checked


[BUG] Tuya LCD temperature sensors' output erroneous  negative values

Bug description
I didn't get any help from other forums but @buddly was so kind and guided me here, there's my final hope!
I have a lot of Tuya ZigBee TS0601 Temp/Hum LCD-display sensors installed in every room and several Sonoff sensors without LCD-display outside and inside. Until October, everything worked with a Tuya Smart app and their cloud.
In October I’ve got a Raspberry Pi 4B and installed HAOS onto it with Sonoff’s ZigBee 3.0 USB Dongle Plus. Again, all were ok with the sensors, until the temperatures in some rooms have felt below 0 degrees by Celsius in December. The Tuya LCD sensors started to show values like 6,551.5 C as a negative temperature. The displays themself on the devices show good values like -1.5. Those ones without LCD (Sonoff) show good values in HA even with -20.
I have installed the latest core and OS of HA but nothing changed. I have no access to the house, it stays alone and waits the spring, so no way to repair any device. But my heating (waterpipes!) is depending on the right temperature values, particularly from the negative ones!
Looking on the graphs, it seems the 6,55x represents the negative value. As on the 1st image, 6,553.4 should be -3.4 C. I followed the graph with the rising values 6,553.4 -> 6,552.1 → 6,551.7 → 6,551.5. These are certainly the negative temperature values: -3.4, -2.1, -1.7, -1.5. So, 6,55 is the "minus" degrees. On the second graph, the value +0.2 degrees C is positive and there is no 6,55x.xx before this value.

Steps to reproduce

Add a Tuya TS0601 sensor to the ZHA integration.
Put the device in the refrigerator and wait when it becomes below the 0 degrees by Celsius.
Look the debug log or download the device's diagnostics how the temperature value for attribute "measured_value" changes and takes and puts before the real temperature the code 655xxx.

Expected behavior
I checked the attributes “measured_value” and it is 655150 for one of the sensors and 655340 for another as the negative values (-1.5C and -3.4C). But it was 880 for a device in warmer room showing +8.8 C on the graph. So, "655" is definitely a negative temperature code followed by real value (-1.5) and the following "0" as a hundredth, [655]15[0]: -1.5C.
Screenshots/Video
Screenshots/Video

Device signature
Device signature
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0302",
      "input_clusters": [
        "0x0000",
        "0x0001",
        "0x0402",
        "0x0405",
        "0xef00"
      ],
      "output_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE200_qoy0ekbd",
  "model": "TS0601",
  "class": "zhaquirks.tuya.ts0601_sensor.TuyaTempHumiditySensor_Square"
}

Diagnostic information
Diagnostic information
          "0x0402": {
            "endpoint_attribute": "temperature",
            "attributes": {
              "0x0000": {
                "attribute_name": "measured_value",
                "value": 655270

< This is for the positive temperature +8.8 C>Diagnostic information
          "0x0402": {
            "endpoint_attribute": "temperature",
            "attributes": {
              "0x0000": {
                "attribute_name": "measured_value",
                "value": 880

Logs
Logs
[Paste the logs here]

Additional information
As it seems to be a Tuya's issue (but there are thousands of Tuyas' users out there), the value '655' should be inerpreted as '-' (minus or negative value).
And it should be nice to have some script to rewrite the historical erroneous values in the sql db.
There was a kind of similar issue with the same device but still different:
https://github.com/Koenkk/zigbee2mqtt/issues/13026

I was totally wrong! The value 655 is a part of a signed int. I had today someone to go to the house. Two sensors in the cold rooms showed -4,6 and -4,5 C. These corresponded to the values of 654900 and 654910. If the ending zero would be omitted, it's unsigned int divided by 10. 65490 is -46.
It could be converted in a template but I don't know how to do it. The right thing to do would be to add the conversion to the Tuya Integration.

Hi! I have the same problem. Any suggestion for fix this ?


Make bevy extension crates opt in

bevy_log, bevy_math, bevy_asset and other crates and their type registrations aren't always needed if partial functionality, minimal functionality of bevy is used.
As all crates by default are included, project compilation has large overhead, as these types are registered in type system I believe that part of them are not optimized out and causes overhead during runtime.

Make type registration not strict,  at least now when registering new ui value representations, if type is not registered, it raises panic.  Strict validation causes that all plugins need to be added to bevy app for this library to work.

Make additional bevy libraries and their type registrations optional to reduce compilation time overhead.
For default use case, extension libraries can be added to default-features.

Thanks! This is a very nice library.

I think the problem is not with bevy crates themselves, but dependencies that they depends on.
For example bevy_math depends on large glam math crate.
In couple of days I will probably try to integrate this crate in my partial bevy usage case again and will try to prepare minimal PR where the different bevy crates and their type addition are under #[cfg(feature="bevy_*")] and type addition for inspector for unregistered types doesn't cause error.


Validate redesign feedback

We got some feedback from smartive for the redesign of the console. This should be validated and identifi what we want to do.
Acceptance criteria

[ ] Validate Feedback
[ ] Identity Todos

https://docs.google.com/document/d/1KVQ6Pwi49z6loMBKxxBd08E-taalydb5gC44PcZdueM


weekdayFont not working

set calendarView.appearance.weekdayFont not working.

calendar.appearance.adjustsFontSizeToFitContentSize = NO;

worked! Thank you!


[CAMEL-20546] Move schemas in META-INF/camel

[CAMEL-20546] Move schemas in META-INF/camel
[CAMEL-20546] Regen

I wonder if this PR breaks docs as it seems something is wrong there.
It may be good to do a full rebuild locally to ensure something is not breaking too big

I wonder if this PR breaks docs as it seems something is wrong there.
It may be good to do a full rebuild locally to ensure something is not breaking too big

Yes, something is broken. The CI build barfs with lines at end of file, but...
Do not merge until this is fixed.


Set same behaviour as later Nextflow versions (23.05+)

I'm also considering dropping support for LSF since we should be using only SLURM now, but will leave that decision to the reviewer.

About LSF: let's keep it until LSF is actually retired

What does this change do?

Nextflow does not automatically mount the required host paths in the container. This behaviour is changed from v23.09, so this way we have the same behaviour now as we will have afterwards (so we can detect and fix any bugs before we move to a newer version).

What does this change do?

Nextflow does not automatically mount the required host paths in the container. This behaviour is changed from v23.09, so this way we have the same behaviour now as we will have afterwards (so we can detect and fix any bugs before we move to a newer version).

What does that mean exactly? That we should be able to access any data (and program) on the host system? I'm trying to understand in what cases we would do that.

What does that mean exactly? That we should be able to access any data (and program) on the host system? I'm trying to understand in what cases we would do that.

I believe so, although I'm not 100% sure either. It is more to align with coming behaviour than anything else.