You have no permission when use with PATCH

Hi
I have model and inherit the permission mixin to my class. My permission testcases all are fine except patch. I always got You do not have permission permission to perform this action
Here is my source code
My installed pack
django==1.10.6
djangorestframework==3.5.4
pytest-django==3.1.2
pytest==3.0.6
dry-rest-permissions==0.1.8
class class SBrandJob(AbstractModelController, DerivativePropertyMixin, SBrandPermisionManagerMixin):
   ...

    status = models.CharField(max_length=50, choices=JobStatus.STATUS_CHOICES, default=JobStatus.OPENED)
    invoice = models.CharField(max_length=50, choices=InvoiceStatus.STATUS_CHOICES, default=InvoiceStatus.NO)

class SBrandPermisionManagerMixin:
    @staticmethod
    def has_read_permission(request):
        return True

    def has_object_read_permission(self, request):
        return True

    def has_object_write_permission(self, request):
        return _check_manager_and_accountant_permission_classes(request)

    def has_object_remove_permission(self, request):
        return _check_manager_and_accountant_permission_classes(request)

    @staticmethod
    def has_write_permission(request):
        return _check_manager_and_accountant_permission_classes(request) or \
               _check_service_mgr_and_service_staff_permission_classes(request)

    def has_object_update_permission(self, request):
        return _check_update_job_permission(request)

class SBrandJobPartialSerializer(ModelControllerSerializerMixin):
    """
    Requirement: https://github.com/C0D1UM/siam-sbrand/issues/146
    ServiceManager or ServiceStaff be able to update status
    Accounting user be able to update invoice
    """
    class Meta:
        model = SBrandJob
        fields = [
            'id',
            'status',
            'invoice',
        ]
    def update(self, instance, validated_data):
        # Update the sbrand_job instance
        validated_data['updated_user'] = self.context['request'].user
        validated_data['updated_at'] = datetime.datetime.now()

        # Django update with queryset not on an instance. ID is unique no worry
        SBrandJob.objects.filter(id=instance.id).update(**validated_data)
        return instance

Problem comes from here
class SBrandJobPartialUpdate(generics.UpdateAPIView):
    """Partial update on status or invoice field"""
    permission_classes = (DRYPermissions,)
    queryset = SBrandJob.objects.all()
    serializer_class = SBrandJobPartialSerializer

This is expected behavior
def test_service_staff_patch_job(prepare_service_staffs, sbrand_job_kwargs):
    client, response = create_sbrand_job("ss1", "ss1password", sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    client2 = APIClient()
    client2.login(username="ss1", password="ss1password")
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/partial'
    response2 = client2.patch(url, data={"status": "ปิดเอกสาร", "invoice": "ส่งแล้ว"}, format='json')
    sbj = SBrandJob.objects.first()
    assert sbj.status == "ปิดเอกสาร"
    assert sbj.invoice == "ส่งแล้ว"
    assert 200 == response2.status_code

Full tests.py I use pytest
import json
import typing

from rest_framework.test import APIClient

from apps.sbrand_jobs.models import SBrandJob

# A reused function must not start by prefix test_
def create_sbrand_job(user: str, passwd: str, sbrand_job_kwargs: typing.Dict) -> tuple:
    """return client and response"""

    client = APIClient()
    client.login(username=user, password=passwd)
    response = client.post('/api/sbrand-jobs/', sbrand_job_kwargs)
    return client, response

def edit_sbrand_job(user: str, passwd: str, sbrand_job_kwargs: typing.Dict) -> tuple:
    client, response = create_sbrand_job(user, passwd, sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    sbrand_job_kwargs["telephone"] = "04382426"
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/'
    sbrand_job_json = json.dumps(sbrand_job_kwargs)
    response = client.put(url, sbrand_job_json, content_type="application/json")
    return client, response

def remove_sbrand_job(user: str, passwd: str, sbrand_job_kwargs: typing.Dict) -> tuple:
    client, response = create_sbrand_job(user, passwd, sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/'
    response = client.delete(url)
    return client, response

"""
Management User and Account User can be able to Create/Update/Remove on SBrandJob model
"""

def test_mgmt_user_create_job(prepare_mgmt_users, sbrand_job_kwargs):
    client, response = create_sbrand_job("John", "johnpassword", sbrand_job_kwargs)
    assert 201 == response.status_code
    assert 1 == SBrandJob.objects.count()

def test_mgmt_user_edit_job(prepare_mgmt_users, sbrand_job_kwargs):
    edit_sbrand_job("John", "johnpassword", sbrand_job_kwargs)
    assert "04382426" == SBrandJob.objects.first().telephone

def test_mgmt_user_remove_job(prepare_mgmt_users, sbrand_job_kwargs):
    remove_sbrand_job("John", "johnpassword", sbrand_job_kwargs)
    assert 0 == SBrandJob.objects.count()

def test_accounting_user_create_job(prepare_acc_users, sbrand_job_kwargs):
    client, response = create_sbrand_job("acc1", "acc1password", sbrand_job_kwargs)
    assert 201 == response.status_code
    assert 1 == SBrandJob.objects.count()

"""
Marketing User can only View the SBrandJob Model
"""

def test_marketing_user_create_job(prepare_marketing_users, sbrand_job_kwargs):
    client, response = create_sbrand_job("mk1", "mk1password", sbrand_job_kwargs)
    assert 403 == response.status_code
    assert 0 == SBrandJob.objects.count()

def test_marketing_user_edit_job(prepare_mgmt_users, prepare_marketing_users, sbrand_job_kwargs):
    client, response = create_sbrand_job("John", "johnpassword", sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    client2 = APIClient()
    client2.login(username="mk1", password="mk1password")
    sbrand_job_kwargs["telephone"] = "04382426"
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/'
    sbrand_job_json = json.dumps(sbrand_job_kwargs)
    response2 = client2.put(url, sbrand_job_json, content_type="application/json")
    assert "12343" == SBrandJob.objects.first().telephone
    assert 403 == response2.status_code
    assert 'Forbidden' == response2.status_text

def test_marketing_user_remove_job(prepare_mgmt_users, prepare_marketing_users, sbrand_job_kwargs):
    client, response = create_sbrand_job("John", "johnpassword", sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    client2 = APIClient()
    client2.login(username="mk1", password="mk1password")
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/'
    response2 = client2.delete(url)
    assert 403 == response2.status_code
    assert 'Forbidden' == response2.status_text

"""
Service MGR can Create/View/Update SBrandJob
"""

def test_service_mgr_create_job(prepare_service_mgrs, sbrand_job_kwargs):
    SBrandJob.objects.all()
    client, response = create_sbrand_job("smgr1", "smgr1password", sbrand_job_kwargs)
    assert 201 == response.status_code
    assert 1 == SBrandJob.objects.count()

def test_service_mgr_edit_job(prepare_service_mgrs, sbrand_job_kwargs):
    client, response = create_sbrand_job("smgr1", "smgr1password", sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    client2 = APIClient()
    client2.login(username="smgr1", password="smgr1password")
    sbrand_job_kwargs["telephone"] = "04382426"
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/'
    sbrand_job_json = json.dumps(sbrand_job_kwargs)
    response2 = client2.put(url, sbrand_job_json, content_type="application/json")
    assert "12343" == SBrandJob.objects.first().telephone
    assert 403 == response2.status_code
    assert 'Forbidden' == response2.status_text

def test_service_mgr_remove_job(prepare_service_mgrs, sbrand_job_kwargs):
    client, response = create_sbrand_job("smgr1", "smgr1password", sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    client2 = APIClient()
    client2.login(username="smgr1", password="smgr1password")
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/'
    response2 = client2.delete(url)
    assert 403 == response2.status_code
    assert 'Forbidden' == response2.status_text

# TODO: Here is the patch testcase
def test_service_mgr_patch_job(prepare_service_mgrs, sbrand_job_kwargs):
    client, response = create_sbrand_job("smgr1", "smgr1password", sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    client2 = APIClient()
    client2.login(username="smgr1", password="smgr1password")
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/partial'
    response2 = client2.patch(url, data={"status": "ปิดเอกสาร", "invoice": "ส่งแล้ว"}, format='json')
    sbj = SBrandJob.objects.first()
    assert sbj.status == "ปิดเอกสาร"
    assert sbj.invoice == "ส่งแล้ว"
    assert 200 == response2.status_code

"""
Service Staff can Create/View SBrandJob
"""

def test_service_staff_create_job(prepare_service_staffs, sbrand_job_kwargs):
    SBrandJob.objects.all()
    client, response = create_sbrand_job("ss1", "ss1password", sbrand_job_kwargs)
    assert 201 == response.status_code
    assert 1 == SBrandJob.objects.count()

def test_service_staff_edit_job(prepare_service_staffs, sbrand_job_kwargs):
    client, response = create_sbrand_job("ss1", "ss1password", sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    client2 = APIClient()
    client2.login(username="ss1", password="ss1password")
    sbrand_job_kwargs["telephone"] = "04382426"
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/'
    sbrand_job_json = json.dumps(sbrand_job_kwargs)
    response2 = client2.put(url, sbrand_job_json, content_type="application/json")
    assert "12343" == SBrandJob.objects.first().telephone
    assert 403 == response2.status_code
    assert 'Forbidden' == response2.status_text

def test_service_staff_remove_job(prepare_service_staffs, sbrand_job_kwargs):
    client, response = create_sbrand_job("ss1", "ss1password", sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    client2 = APIClient()
    client2.login(username="ss1", password="ss1password")
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/'
    response2 = client2.delete(url)
    assert 403 == response2.status_code
    assert 'Forbidden' == response2.status_text

# TODO: Here is the patch testcase
def test_service_staff_patch_job(prepare_service_staffs, sbrand_job_kwargs):
    client, response = create_sbrand_job("ss1", "ss1password", sbrand_job_kwargs)
    sbj_id = response.data.get('id')
    client2 = APIClient()
    client2.login(username="ss1", password="ss1password")
    url = '/api/sbrand-jobs/' + str(sbj_id) + '/partial'
    response2 = client2.patch(url, data={"status": "ปิดเอกสาร", "invoice": "ส่งแล้ว"}, format='json')
    sbj = SBrandJob.objects.first()
    assert sbj.status == "ปิดเอกสาร"
    assert sbj.invoice == "ส่งแล้ว"
    assert 200 == response2.status_code

Actual my response returns me this
{"detail":"You do not have permission to perform this action."}

Am I miss something?
Any help would be appreciated

Hi,
"patch" actions are supported and should be working. You can see the test cases for them in https://github.com/dbkaplan/dry-rest-permissions/blob/master/tests/tests.py if you search for .patch.
My guess is that there is some logic in your permission checks that is not working as expected. I usually add "print()" statements into my has_permission() and has_object_permission functions to make sure they are getting called properly. Try this out and let me know if those functions are not being called as expected.

OK. I will get back to you as fast as I can. Thank you for your fast reply

Hi,
Has this issue still open?


GeoCoordinate.NetCore <IP_ADDRESS>

Type: Missing
Summary:
GeoCoordinate.NetCore <IP_ADDRESS>
Details:
ClearlyDefined downloaded package an no license info found
NuGet no license field
GitHub no license info found: https://github.com/cormaltes/GPSOAuthSharp
Resolution:
NONE
Affected definitions:

GeoCoordinate.NetCore <IP_ADDRESS>

@capfei - based on this (https://github.com/cormaltes/GPSOAuthSharp/blob/master/GPSOAuthSharp.Nuget/Package.nuspec#L8), do you think this could be curated as LGPL?  And then per the curation guidelines, if it says LGPL without specifying a specific version, we curate as LGPL-2.0-or-later.  Thoughts?

@capfei - this package says it is a fork from a MS-PL package.  I wonder if we could curate this fork as MS-PL?

@ariel11 Ahhh... I see what happened. 🤦♀
To explain for anyone that reads this, the NuGet site defaults to the tab that you looked at last. In most of my cases, the "Versions" tab is the last tab I look at so any other packages I click on show to the "Versions" tab first. I completely missed the "README" tab that points to a completely different repo than what is listed as the project site. 😮💨
Yes, MS-PL.


Error installing nexmo in raspbian

Hey guys,
I am trying pip install nexmo and facing the below issue.
Installing setuptools, pip, wheel...done.
Collecting nexmo
Using cached nexmo-1.5.0.tar.gz
Requirement already satisfied: requests in /usr/local/lib/python2.7/dist-packages (from nexmo)
Requirement already satisfied: PyJWT in /usr/local/lib/python2.7/dist-packages (from nexmo)
Collecting cryptography (from nexmo)
Using cached cryptography-2.1.1.tar.gz
Requirement already satisfied: idna>=2.1 in /usr/local/lib/python2.7/dist-packages (from cryptography->nexmo)
Requirement already satisfied: asn1crypto>=0.21.0 in /usr/local/lib/python2.7/dist-packages (from cryptography->nexmo)
Requirement already satisfied: six>=1.4.1 in /usr/local/lib/python2.7/dist-packages (from cryptography->nexmo)
Collecting cffi>=1.7 (from cryptography->nexmo)
/usr/local/lib/python2.7/dist-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:318: SNIMissingWarning: An HTTPS request has been made, but the SNI (Subject Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#snimissingwarning.
SNIMissingWarning
/usr/local/lib/python2.7/dist-packages/pip/vendor/requests/packages/urllib3/util/ssl.py:122: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/security.html#insecureplatformwarning.
InsecurePlatformWarning
Using cached cffi-1.11.2.tar.gz
Collecting enum34 (from cryptography->nexmo)
Using cached enum34-1.1.6-py2-none-any.whl
Collecting ipaddress (from cryptography->nexmo)
Using cached ipaddress-1.0.18-py2-none-any.whl
Requirement already satisfied: pycparser in /usr/local/lib/python2.7/dist-packages (from cffi>=1.7->cryptography->nexmo)
Installing collected packages: cffi, enum34, ipaddress, cryptography, nexmo
Running setup.py install for cffi ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-8VcSS4/cffi/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-MjyWaY-record/install-record.txt --single-version-externally-managed --compile:
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing libffi.pc'     to the PKG_CONFIG_PATH environment variable     No package 'libffi' found     Package libffi was not found in the pkg-config search path.     Perhaps you should add the directory containing libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing libffi.pc'     to the PKG_CONFIG_PATH environment variable     No package 'libffi' found     Package libffi was not found in the pkg-config search path.     Perhaps you should add the directory containing libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-2.7
creating build/lib.linux-armv7l-2.7/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/model.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/error.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/init.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/api.py -> build/lib.linux-armv7l-2.7/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-2.7/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-2.7/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-2.7/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-2.7/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-2.7
creating build/temp.linux-armv7l-2.7/c
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-armv7l-2.7/c/_cffi_backend.o
c/_cffi_backend.c:15:17: fatal error: ffi.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------

Hi @thisisgaara - thanks for your bug report.
I'm in the middle of running an install on a Raspberry Pi Zero W right now to test, but I think the following should fix your problem:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev

That will install all of the native dependencies for nexmo-python and should allow you to build the python cryptography extension. Let me know if it works!

Thanks a ton. It works. Thumbs up!


Gh 8669 tooltip overflow fix

🏆 Enhancements
🐛 Bug Fix
This addresses Superset issue 8669:
https://github.com/apache/incubator-superset/issues/8669
It also makes the headers bold, which hopefully looks better to folks.
Before:

After:

I think you need to fix the commit messages first. I'd recommend squashing them all into one and following the conventional commit guidelines


Refactor project to use SvelteKit's packaging

[ ] Follow official recommendation and switch to SvelteKit / packaging:
see https://github.com/sveltejs/component-template/issues/29#issuecomment-905481560
see https://kit.svelte.dev/docs#packaging
[ ] Eventually / if needed : change project structure / eliminate all circular dependencies -> internal module pattern
[ ] Close #55
[ ] Make components generator more granular in order to be able to easily exclude unneeded imports and log-vars (verbose mode)

This didn't work out as I was hoping.
What I didn't like:

(not severe) Svelte files inside the package are heavy reformatted -> can be fixed? (I guess)
(not severe) Exporting types from Svelte components seems to be broken:
exported types get removed from <script context="module">...</script> and are double-added (!?) to component.d.ts:
could be fixed by removing all exported types from components, but it feels wrong, because it should work out of the box.
(bug?) empty <script context="module"> </script> blocks in *.svelte files (after removal of exported types) throw an error
<script context="module"> </script> should be removed when empty -> report?
(severe) inside component.d.ts file the component class is named exactly the same as the imported 'three' class:
could be fixed by e.g. import { AmbientLight as THREE_AmbientLight } from "three", but I would have to change a lot, and I'm
quite sure there would be a lot of other side-effects with builds etc.

I'm not sure using SvelteKit's packaging is not suitable for the project, but I've decided to got with the currently working solution and get back to tweaking this setup later.


Import Error: DLL loaded failed when import torchvision

🐛 Describe the bug
The error happened when I'm doing this:

import torch
print(torch.version)
2.0.0+cu118
import torchvision
Traceback (most recent call last):
File "", line 1, in
File "C:\Coding\Anaconda\envs\stable-diffusion-webui\lib\site-packages\torchvision_init_.py", line 6, in
from torchvision import datasets, io, models, ops, transforms, utils
File "C:\Coding\Anaconda\envs\stable-diffusion-webui\lib\site-packages\torchvision\datasets_init_.py", line 1, in
from ._optical_flow import FlyingChairs, FlyingThings3D, HD1K, KittiFlow, Sintel
File "C:\Coding\Anaconda\envs\stable-diffusion-webui\lib\site-packages\torchvision\datasets_optical_flow.py", line 10, in
from PIL import Image
File "C:\Coding\Anaconda\envs\stable-diffusion-webui\lib\site-packages\PIL\Image.py", line 103, in
from . import _imaging as core
ImportError: DLL load failed while importing _imaging

The answers on Google said it's caused by unmatch of versions for pytorch and torchvision, but I've remove pytorch and torchvision several times and install them either by command line from official website or by pip locally install. But I still got this error whatever I do.
Versions
PyTorch version: 2.0.0+cu118
Is debug build: False
CUDA used to build PyTorch: 11.8
ROCM used to build PyTorch: N/A
OS: Microsoft Windows 11
GCC version: Could not collect
Clang version: Could not collect
CMake version: Could not collect
Libc version: N/A
Python version: 3.10.10 | packaged by conda-forge | (main, Mar 24 2023, 20:00:38) [MSC v.1934 64 bit (AMD64)] (64-bit runtime)
Python platform: Windows-10-10.0.22621-SP0
Is CUDA available: True
CUDA runtime version: 12.1.66
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GeForce RTX 4080 Laptop GPU
Nvidia driver version: 531.29
cuDNN version: Could not collect
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True
Versions of relevant libraries:
[pip3] mypy-extensions==1.0.0
[pip3] numpy==1.23.3
[pip3] open-clip-torch==2.16.0
[pip3] pytorch-lightning==1.9.4
[pip3] torch==2.0.0+cu118
[pip3] torchaudio==2.0.0
[pip3] torchdiffeq==0.2.3
[pip3] torchmetrics==0.11.4
[pip3] torchsde==0.2.5
[pip3] torchvision==0.15.1+cu118
...
[conda] numpy                     1.23.3                   pypi_0    pypi
[conda] open-clip-torch           2.16.0                   pypi_0    pypi
[conda] pytorch-cuda              11.8                 h24eeafa_3    pytorch
[conda] pytorch-lightning         1.9.4                    pypi_0    pypi
[conda] pytorch-mutex             1.0                        cuda    pytorch
[conda] torch                     2.0.0+cu118              pypi_0    pypi
[conda] torchaudio                2.0.0                    pypi_0    pypi
[conda] torchdiffeq               0.2.3                    pypi_0    pypi
[conda] torchmetrics              0.11.4                   pypi_0    pypi
[conda] torchsde                  0.2.5                    pypi_0    pypi
[conda] torchvision               0.15.1+cu118             pypi_0    pypi

File "C:\Coding\Anaconda\envs\stable-diffusion-webui\lib\site-packages\PIL\Image.py", line 103, in
from . import _imaging as core
ImportError: DLL load failed while importing _imaging

The error is coming from PIL (install name Pillow) not from torchvision. The reason you are seeing this when importing torchvision is because we are importing PIL.

Yes I noticed that and tried to reinstall pillow once but it doesn't work.

What do you get when running python -c 'import PIL'?

What do you get when running python -c 'import PIL'?

seems nothing happened...I get into next command line without error prompt.

What about python -c 'from PIL import Image'?

What about python -c 'from PIL import Image'?

Okay now I got a similar error prompt as what I got when import torchvision.
Traceback (most recent call last):
File "", line 1, in
File "C:\Coding\Anaconda\envs\deep_learning\lib\site-packages\PIL\Image.py", line 100, in
from . import _imaging as core
ImportError: DLL load failed while importing _imaging
So does it mean the problem is caused by pillow and I should try to find and reinstall some matched version of pillow?

So does it mean the problem is caused by pillow

Yes.

I should try to find and reinstall some matched version of pillow?

Not sure what you mean here. This is not a version problem. PIL.Image is the core namespace of the package and thus wasn't added recently or the like. Basically everything PIL>=8 should be fine with torchvision. What version do you have?
I suspect PIL is not correctly installed and you need to fix that. How did you install in the first place?
In any case, this is out of scope for torchvision. Thus, I'm closing this.

I came across the same situation and I finally know how to solve the problem.Firstly," pip uninstall pillow".Secondly, "pip install pillow".Pay attention that do not use "conda install pillow",but use "pip install pillow"!!!


update latest docs from main repo

:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/animations/Scale.md
:warning:Warning
View
Details

docs/animations/AnimationSet.md
:white_check_mark:Succeeded
View

docs/animations/Blur.md
:white_check_mark:Succeeded
View

docs/animations/Expressions.md
:white_check_mark:Succeeded
View

docs/animations/Fade.md
:white_check_mark:Succeeded
View

docs/animations/FadeHeader.md
:white_check_mark:Succeeded
View

docs/animations/Light.md
:white_check_mark:Succeeded
View

docs/animations/Offset.md
:white_check_mark:Succeeded
View

docs/animations/ParallaxService.md
:white_check_mark:Succeeded
View

docs/animations/ReorderGrid.md
:white_check_mark:Succeeded
View

docs/animations/Rotate.md
:white_check_mark:Succeeded
View

docs/animations/Saturation.md
:white_check_mark:Succeeded
View

docs/extensions/ViewExtensions.md
:white_check_mark:Succeeded
View

docs/resources/images/Animations/AnimationSet/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/AnimationSet/Use-Case-2.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Blur/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Blur/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Chaining-Animations-Blur-Fade-Rotate.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Chaining-Animations-Light-Offset-Saturation-Scale.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Fade/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/FadeHeader/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Light/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Offset/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Offset/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/ParallaxService/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/ReorderGridAnimation/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Rotate/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Saturation/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Saturation/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Scale/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Scale/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

docs/animations/Scale.md

Line 89: [Warning] Invalid file link:(~/resources/images/Animations/Saturation/Scale.gif).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/animations/AnimationSet.md
:white_check_mark:Succeeded
View

docs/animations/Blur.md
:white_check_mark:Succeeded
View

docs/animations/Expressions.md
:white_check_mark:Succeeded
View

docs/animations/Fade.md
:white_check_mark:Succeeded
View

docs/animations/FadeHeader.md
:white_check_mark:Succeeded
View

docs/animations/Light.md
:white_check_mark:Succeeded
View

docs/animations/Offset.md
:white_check_mark:Succeeded
View

docs/animations/ParallaxService.md
:white_check_mark:Succeeded
View

docs/animations/ReorderGrid.md
:white_check_mark:Succeeded
View

docs/animations/Rotate.md
:white_check_mark:Succeeded
View

docs/animations/Saturation.md
:white_check_mark:Succeeded
View

docs/animations/Scale.md
:white_check_mark:Succeeded
View

docs/extensions/ViewExtensions.md
:white_check_mark:Succeeded
View

docs/resources/images/Animations/AnimationSet/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/AnimationSet/Use-Case-2.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Blur/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Blur/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Chaining-Animations-Blur-Fade-Rotate.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Chaining-Animations-Light-Offset-Saturation-Scale.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Fade/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/FadeHeader/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Light/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Offset/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Offset/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/ParallaxService/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/ReorderGridAnimation/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Rotate/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Saturation/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Saturation/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Scale/Sample-Output.gif
:white_check_mark:Succeeded
View

docs/resources/images/Animations/Scale/Use-Case-1.gif
:white_check_mark:Succeeded
View

docs/toc.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Support reporting hyper parameters

This looks like an awesome project.
Would be great if there was a way to report hyper parameters with each submission.

Hey @michalwols.
Yes, metadata related to training is something we were thinking of as a future feature. We have some ideas here, but would be interested to hear your thoughts about a lightweight way to capture this might be? (presently we are focussed on post-training metadata that can be extracted from pretrained models).

Just adding a params key to the evaluator that takes a dict should work.
If you want to keep it clean you could use a TypedDict (it's available in mypy_extensions) to define the supported set of keys and their types.
class ImageClassificationParams(TypedDict):
  label_smoothing: bool
  optimizer: str
  warmup: bool
  epochs: int
  weight_decay: float
  extra_data: bool

from sotabencheval.image_classification import ImageClassificationParams, ImageNetEvaluator

evaluator = ImageNetEvaluator(
  model_name='FixResNeXt-101 32x48d',
  paper_arxiv_id='1906.06423',
  params=ImageClassificationParams(
    epochs=200,
    weight_decay=.1,
    extra_data=True,
    fixres=True  # new key introduced by this method
  )
)

I guess for enum/choice support something like a dataclass might be better than a typed dict.


Fix bug

Fix following issue.

Thanks for the CR. Can you also make the change in the source CoffeeScript? The dist folder gets overwritten when I build for a new release (also it's hard to review the change in minified JS).

@schneidmaster hehe, I thought there were no sources files, don't know why. I've just added the changes!

Hmmm. Your change doesn't seem to resolve the linked bug for me -- I get the same logged error. (I'm also hesitant to deviate from the official Rails source for actioncable itself.)
For what it's worth, I'm also strongly considering deprecating this library in favor of react-actioncable-provider. I haven't had time to keep this library up since I no longer use it, and react-actioncable-provider also uses higher-order components rather than mixins which is preferable since React discourages the use of mixins and it's much more future-proof. So you might also try to see if that library does what you need instead of sinking a lot of time over here. :)

@schneidmaster it works for me :/, but it's up to you... I found it a bit more practical yours than react-actioncable-provider

Yeah, sorry, I thought about it for a while and I'm going to deprecate this library. For the reasons I said above -- I don't have time to properly maintain it and there's another solution that's more current with best practices. Feel free to fork if you want to continue using it though :)

No problem. BTW, have you tried to other library? I cannot make it work…

On May 2, 2017, at 22:46, Zach Schneider<EMAIL_ADDRESS>wrote:
Yeah, sorry, I thought about it for a while and I'm going to deprecate this library. For the reasons I said above -- I don't have time to properly maintain it and there's another solution that's more current with best practices. Feel free to fork if you want to continue using it though :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/schneidmaster/action-cable-react/pull/5#issuecomment-298806142, or mute the thread https://github.com/notifications/unsubscribe-auth/AERCwGg2yjrXEH4vqJBkTnN7PSnn7MJHks5r19xugaJpZM4NNh8u.

I tried a trivial case but haven't used it extensively -- I don't really have a need for this binding anymore in general. If you post your code with the new library I can see if I spot something.

@schneidmaster here I have it with your library. And I'm trying to put the other one but I couldn't... where can I reach you (like a chat, maybe skype)


[$1000] Web - New tooltip is not displayed over workspace direct chats and general workspace chat name

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue found when executing PR https://github.com/Expensify/App/pull/20276
Action Performed:

Login to NewDot with account with workspace with several members
Hover over workspace direct chat user names and icons (and over general workspace chat)

Expected Result:
New tooltip should be displayed
Actual Result:
Tooltip is missing
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/78819774/e7506f18-2031-4077-aab1-87d3a7ecfbaf
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01443ce644ff2fc4f2
Upwork Job ID:<PHONE_NUMBER>621509632
Last Price Increase: 2023-06-22

Issue found while executing PR https://github.com/Expensify/App/pull/20276

@puneetlath @fedirjh is this something we missed on https://github.com/Expensify/App/pull/20276 or is this how it is supposed to work? I assume the former...

Yeah, I don't see any mention in the OG issue of other entries in the LHN that are not DMs... but our LHN has a lot of things that are not DMs. So the question is: do we want to show a tooltip for all the other cases or not? I'd assume we do want to do that, though not sure what the tooltip would show.

Are we sure that this isn't restricted to only the blank unread chats that appear when someone looks you up on New Expensify?
If it is that, I think we plan to remove that behavior. Therefore it might seem silly to fix a bug with something that might not be there.
If this is something more broad, as in all DMs in Workspaces, I agree this is a bug that we should fix.

Are we sure that this isn't restricted to only the blank unread chats that appear when someone looks you up on New Expensify?

I don't get this... can you rephrase? What is a blank unread chat?

If this is something more broad, as in all DMs in Workspaces, I agree this is a bug that we should fix.

Very confused by this... the tooltip is not showing for workspace chats, that's the bug.

I don't get this... can you rephrase? What is a blank unread chat?

When someone searches your name on New Expensify and clicks your name in Search, a chat with them appears in your LHN

My question is:

Does this affect those kinds of chats I have just described above or does it affect all workspace chats?

It sounds like you are confirming that it affects all workspace chats

Does this affect those kinds of chats I have just described above or does it affect all workspace chats?

I am confused because I don't think that happens in workspace chats? But it's much easier for you to do the tests than to try to explain them to me and me back to you.

@stitesExpensify ready to assign @hoangzinh

Added a hold for https://github.com/Expensify/App/pull/20512. When that is merged we can come back and see if this is still happening!

hold

This is the intended functionality right?

Cool, then this is fixed!


tree_lstm test for ChainerX

@asi1024 could you check this?

pfnCI, test this please.

Jenkins CI test (for commit bfcfb7017503a880a02f7309a78f2fcbd9c0c7c9, target branch master) failed with status FAILURE.

Jenkins failures seem unrelated to this PR. LGTM.

can this be merged?

pfnCI, test this please.

Jenkins CI test (for commit bfcfb7017503a880a02f7309a78f2fcbd9c0c7c9, target branch master) succeeded!

LGTM. Thank you for the PR!


Question: K-fold cross validation

Hello,
I was wondering if you tried to train with the k-fold cross validation as nnUNetv2 explained how to do ? Did you not use it because it would take more time for almost no improvements or there are other technical reasons I'm not aware of ?
Thanks for the clarification.

Using the ensemble of k-fold cross validation would increase the runtime by 5x but only increase accuracy by a very small percentage. Therefore we do not use it.

Since the amount of data is very big and most of the data is used for training, the training is not affected a lot by changing the split. Since the validation set is smaller, it is affected more, but we actually did not use the validation set for anything as we did not tune any hyperparameters. So we do not care. The test set again is more important and therefore bigger and independent from the CV split.
When using more seeds then the question is what to do with the models?? If you ensemble the resulting models you have a lot longer runtime. Therefore we only use one seed for faster runtime.


Swagger Parser not parsing external $refs

The swagger file found at
https://raw.githubusercontent.com/swagger-api/swagger-spec/master/fixtures/v2.0/json/resources/resourceWithLinkedDefinitions.json
is a example of one that has had it's path object extracted into a separate json file and referenced using a json reference.
paths: {
    /pets/{petId}: {
        $ref: "https://raw.githubusercontent.com/swagger-api/swagger-spec/master/fixtures/v2.0/json/resources/resourceWithLinkedDefinitions_part1.json"
    }
},
Unfortunately, this does not appear to work as after parsing the swagger file the Path pojo for the /pets/{petId} path contains no defined operations.
I am seeing this in swagger-parser 1.0.8

verified fixed in 1.0.11


Logging support for 3.x

Being able to deploy logging via CHEF

Hello @IshentRas , do you know if any progress has been made on this issue? Thank you very much

@jperville :+1: Finishing the logic and should be with your before the end of this week.
Just finalising the logic for 3.7.

This new logic works very well except for #258 which I will fix very soon.
Closing this issue.


Leader election failing - configmaps cert-manager-controller is forbidden from user cert-manager

I'm not sure if this is a bug or something that I misconfigured, but either way I'm not sure how to solve it.
Error Message
error retrieving resource lock kube-system/cert-manager-controller: configmaps "cert-manager-controller" is forbidden: User "system:serviceaccount:kube-system:cert-manager" cannot get configmaps in the namespace "kube-system"
Context
I installed cert-manager using the following command
helm install --name cert-manager --namespace kube-system --set rbac.create=false stable/cert-manager --set ingressShim.extraArgs='{--default-issuer-name=letsencrypt-prod,--default-issuer-kind=ClusterIssuer}'

I created ClusterIssuer:
kind: ClusterIssuer
metadata:
  name: letsencrypt-staging
spec:
  acme:
    # The ACME server URL
    server: https://acme-staging.api.letsencrypt.org/directory
    # Email address used for ACME registration
    email<EMAIL_ADDRESS>    # Name of a secret used to store the ACME account private key
    privateKeySecretRef:
      name: letsencrypt-staging
    # Enable the HTTP-01 challenge provider
    http01: {}

And I created Certificate:
kind: Certificate
metadata:
  name: passgen-crt
spec:
  secretName: passgen-crt
  dnsNames:
  - passgen.site
  commonName: passgen.site
  acme:
    config:
    - http01:
        ingressClass: nginx
      domains:
      - passgen.site
  issuerRef:
    name: letsencrypt-staging
    kind: ClusterIssuer

Here is the error message in the logs from the cert-manager pod
1 controller.go:126] Using the following nameservers for DNS01 checks: [<IP_ADDRESS>:53]
1 leaderelection.go:175] attempting to acquire leader lease  kube-system/cert-manager-controller...
1 server.go:84] Listening on http://<IP_ADDRESS>:9402
1 leaderelection.go:224] error retrieving resource lock kube-system/cert-manager-controller: configmaps "cert-manager-controller" is forbidden: User "system:serviceaccount:kube-system:cert-manager" cannot get configmaps in the namespace "kube-system"
1 leaderelection.go:224] error retrieving resource lock kube-system/cert-manager-controller: configmaps "cert-manager-controller" is forbidden: User "system:serviceaccount:kube-system:cert-manager" cannot get configmaps in the namespace "kube-system"

I solved this issue by setting RBAC.create to true (--set rbac.create=true) when installing cert-manager using Helm.
helm install --name cert-manager --namespace kube-system --set rbac.create=true stable/cert-manager --set ingressShim.extraArgs='{--default-issuer-name=letsencrypt-prod,--default-issuer-kind=ClusterIssuer}'

Interesting, I am getting the same error despite rbac.create being true (in current chart its global.rbac.create and it is actually true by default...

/reopen
could you please reopen this one, I also have the same issue using the legacy install (running 3.11) leaderElection namespace is by default kube-system, or the role + role binding  to create configmap in kube-system seems not present.
For info, I tried with a role defined like that:
apiVersion: authorization.openshift.io/v1
kind: ClusterRole
metadata:
  name: cert-manager-configmap-creator
rules:
- apiGroups:
  - ""
  resources:
  - configmaps
  resourceNames:
  - "cert-manager-controller"
  verbs:
  - "*"

but it did not work, it seems the controller is checking if it can create any names configmap,
I workaround the issue by setting leader Election namespace to the same as cert-manager is located in, but this is not a solution because it could potentially create issues with multiple cert-manager deployed  I guess.

/reopen
could you please reopen this one, I also have the same issue using the legacy install (running 3.11) leaderElection namespace is by default kube-system, or the role + role binding  to create configmap in kube-system seems not present.
For info, I tried with a role defined like that:
apiVersion: authorization.openshift.io/v1
kind: ClusterRole
metadata:
  name: cert-manager-configmap-creator
rules:
- apiGroups:
  - ""
  resources:
  - configmaps
  resourceNames:
  - "cert-manager-controller"
  verbs:
  - "*"

but it did not work, it seems the controller is checking if it can create any names configmap,
I workaround the issue by setting leader Election namespace to the same as cert-manager is located in, but this is not a solution because it could potentially create issues with multiple cert-manager deployed  I guess.

Hello, I have the same issue when I set proxy.

helm install cert-manager
--namespace cert-manager
--version v1.1.0
--set ingressShim.defaultIssuerName=letsencrypt
--set ingressShim.defaultIssuerKind=ClusterIssuer
--set http_proxy=http://proxy.example.com:3128
--set https_proxy=http://proxy.example.com:3128
--set no_proxy="<IP_ADDRESS>,localhost,cert-manager,cert-manager-webhook"
--set rbac.create=true
jetstack/cert-manager

# k logs -n cert-manager cert-manager-6b4455d79c-qzx7c
I0205 18:03:15.474371       1 start.go:74] cert-manager "msg"="starting controller"  "git-commit"="7fbdd6487646e812fe74c0c05503805b5d9d4751" "version"="v1.1.0"
W0205 18:03:15.474474       1 client_config.go:608] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
I0205 18:03:15.476121       1 controller.go:169] cert-manager/controller/build-context "msg"="configured acme dns01 nameservers" "nameservers"=["<IP_ADDRESS>:53"]
I0205 18:03:15.477196       1 controller.go:129] cert-manager/controller "msg"="starting leader election"
I0205 18:03:15.477538       1 metrics.go:162] cert-manager/controller/build-context/metrics "msg"="listening for connections on" "address"={"IP":"::","Port":9402,"Zone":""}
I0205 18:03:15.478119       1 leaderelection.go:243] attempting to acquire leader lease  kube-system/cert-manager-controller...
E0205 18:04:14.987750       1 leaderelection.go:321] error retrieving resource lock kube-system/cert-manager-controller: Get "https://<IP_ADDRESS>:443/api/v1/namespaces/kube-system/configmaps/cert-manager-controller": Service Unavailable

If I install the same but without proxy vars, the error disappear and my self-signed certificate is created:

helm install cert-manager
--namespace cert-manager
--version v1.1.0
--set ingressShim.defaultIssuerName=letsencrypt
--set ingressShim.defaultIssuerKind=ClusterIssuer
--set rbac.create=true
jetstack/cert-manager

# k logs -n cert-manager cert-manager-
cert-manager-cainjector-78cbd59555-44hww  cert-manager-f658cc8df-h5sht              cert-manager-webhook-756d477cc4-4z8hw
root@master1# k logs -n cert-manager cert-manager-f658cc8df-h5sht
I0205 18:09:24.968225       1 start.go:74] cert-manager "msg"="starting controller"  "git-commit"="7fbdd6487646e812fe74c0c05503805b5d9d4751" "version"="v1.1.0"
W0205 18:09:24.968302       1 client_config.go:608] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
I0205 18:09:24.969837       1 controller.go:169] cert-manager/controller/build-context "msg"="configured acme dns01 nameservers" "nameservers"=["<IP_ADDRESS>:53"]
I0205 18:09:24.970809       1 controller.go:129] cert-manager/controller "msg"="starting leader election"
I0205 18:09:24.971134       1 metrics.go:162] cert-manager/controller/build-context/metrics "msg"="listening for connections on" "address"={"IP":"::","Port":9402,"Zone":""}
I0205 18:09:24.971779       1 leaderelection.go:243] attempting to acquire leader lease  kube-system/cert-manager-controller...
I0205 18:10:42.125801       1 leaderelection.go:253] successfully acquired lease kube-system/cert-manager-controller
I0205 18:10:42.128284       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="CertificateMetrics"
I0205 18:10:42.128347       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="CertificateReadiness"
I0205 18:10:42.128381       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="CertificateTrigger"
I0205 18:10:42.128408       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="orders"
I0205 18:10:42.128437       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="certificaterequests-issuer-acme"
I0205 18:10:42.128462       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="certificaterequests-issuer-ca"
I0205 18:10:42.128488       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="certificaterequests-issuer-selfsigned"
I0205 18:10:42.128515       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="clusterissuers"
I0205 18:10:42.128632       1 reflector.go:207] Starting reflector *v1.Secret (5m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.227822       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="challenges"
I0205 18:10:42.227897       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="certificaterequests-issuer-vault"
I0205 18:10:42.227936       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="CertificateIssuing"
I0205 18:10:42.227971       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="CertificateKeyManager"
I0205 18:10:42.228005       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="CertificateRequestManager"
I0205 18:10:42.228041       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="ingress-shim"
I0205 18:10:42.228074       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="issuers"
I0205 18:10:42.228139       1 reflector.go:207] Starting reflector *v1.Order (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.228142       1 reflector.go:207] Starting reflector *v1beta1.Ingress (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.228390       1 reflector.go:207] Starting reflector *v1.Issuer (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.228542       1 reflector.go:207] Starting reflector *v1.Challenge (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.228564       1 controller.go:103] cert-manager/controller "msg"="starting controller" "controller"="certificaterequests-issuer-venafi"
I0205 18:10:42.228604       1 reflector.go:207] Starting reflector *v1.ClusterIssuer (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.228669       1 reflector.go:207] Starting reflector *v1.Secret (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.228743       1 reflector.go:207] Starting reflector *v1.Certificate (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.228806       1 reflector.go:207] Starting reflector *v1.Pod (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.228845       1 reflector.go:207] Starting reflector *v1.CertificateRequest (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.228914       1 reflector.go:207] Starting reflector *v1.Service (10h0m0s) from external/io_k8s_client_go/tools/cache/reflector.go:156
I0205 18:10:42.328282       1 conditions.go:92] Setting lastTransitionTime for Issuer "selfsigned-issuer" condition "Ready" to 2021-02-05 18:10:42.328270068 +0000 UTC m=+77.469333001
I0205 18:10:42.328516       1 conditions.go:173] Setting lastTransitionTime for Certificate "kub-test-selfsigned" condition "Ready" to 2021-02-05 18:10:42.328507297 +0000 UTC m=+77.469570243
I0205 18:10:42.328640       1 conditions.go:173] Setting lastTransitionTime for Certificate "kub-test-selfsigned" condition "Issuing" to 2021-02-05 18:10:42.328636243 +0000 UTC m=+77.469699208
E0205 18:10:42.670530       1 controller.go:158] cert-manager/controller/CertificateReadiness "msg"="re-queuing item due to error processing" "error"="Operation cannot be fulfilled on certificates.cert-manager.io \"kub-test-selfsigned\": the object has been modified; please apply your changes to the latest version and try again" "key"="cert-manager-test/kub-test-selfsigned"
I0205 18:10:42.670579       1 conditions.go:173] Setting lastTransitionTime for Certificate "kub-test-selfsigned" condition "Ready" to 2021-02-05 18:10:42.670574156 +0000 UTC m=+77.811637084
I0205 18:10:42.728740       1 sync.go:173] cert-manager/controller/ingress-shim "msg"="certificate resource has no owner. refusing to update non-owned certificate resource for ingress" "related_resource_kind"="Certificate" "related_resource_name"="kub-test-selfsigned" "related_resource_namespace"="cert-manager-test" "related_resource_version"="v1" "resource_kind"="Ingress" "resource_name"="my-app" "resource_namespace"="cert-manager-test" "resource_version"="v1beta1"
E0205 18:10:42.785102       1 controller.go:158] cert-manager/controller/CertificateKeyManager "msg"="re-queuing item due to error processing" "error"="Operation cannot be fulfilled on certificates.cert-manager.io \"kub-test-selfsigned\": the object has been modified; please apply your changes to the latest version and try again" "key"="cert-manager-test/kub-test-selfsigned"
I0205 18:10:42.833916       1 conditions.go:233] Setting lastTransitionTime for CertificateRequest "kub-test-selfsigned-kwrsj" condition "Ready" to 2021-02-05 18:10:42.833906835 +0000 UTC m=+77.974969746
I0205 18:10:42.872786       1 conditions.go:162] Found status change for Certificate "kub-test-selfsigned" condition "Ready": "False" -> "True"; setting lastTransitionTime to 2021-02-05 18:10:42.872776083 +0000 UTC m=+78.013839036
E0205 18:10:42.894247       1 controller.go:158] cert-manager/controller/CertificateReadiness "msg"="re-queuing item due to error processing" "error"="Operation cannot be fulfilled on certificates.cert-manager.io \"kub-test-selfsigned\": the object has been modified; please apply your changes to the latest version and try again" "key"="cert-manager-test/kub-test-selfsigned"
I0205 18:10:42.894633       1 conditions.go:162] Found status change for Certificate "kub-test-selfsigned" condition "Ready": "False" -> "True"; setting lastTransitionTime to 2021-02-05 18:10:42.894626133 +0000 UTC m=+78.035689048
E0205 18:10:42.921733       1 controller.go:158] cert-manager/controller/CertificateIssuing "msg"="re-queuing item due to error processing" "error"="Operation cannot be fulfilled on certificates.cert-manager.io \"kub-test-selfsigned\": the object has been modified; please apply your changes to the latest version and try again" "key"="cert-manager-test/kub-test-selfsigned"
E0205 18:10:42.925946       1 controller.go:158] cert-manager/controller/CertificateKeyManager "msg"="re-queuing item due to error processing" "error"="Operation cannot be fulfilled on certificates.cert-manager.io \"kub-test-selfsigned\": the object has been modified; please apply your changes to the latest version and try again" "key"="cert-manager-test/kub-test-selfsigned"

I also stumbled over this issue while upgrading from a legacy helm installation. I still had this in my values.yaml:
global:
  leaderElection:
    # Override the namespace used to store the ConfigMap for leader election
    namespace: ""

The current values.yaml has kube-system as leader election namespace. Fixing this/removing the old values resolved the issue.

anyone seen a fix for kubectl apply installs?


doesn't work.... :-/

Hi,
Thanks for sharing this nice script but it doesn't work for me. I'm on macOS Catalina, I use FontFonrge v20200314. When I Execute script... t I get this message:
/Users/Nor/Desktop/bm/ff_smufl_metadata.py line: 4 Unterminated ff_statement
Called from...
 ScriptDlg: line 1

Thanks for any corrections and advice.

Hmm. That doesn't make much sense. Line 4 is part of the docstring and should be ignored.
Are you running the script from inside Fontforge? If so, don't, and please try running it with a stand-alone Python interpreter that has access to the fontforge module. (Normally there's an executable ffpython somewhere in the app folder.)

Since there’s been no further comment I assume that this is no longer an issue. Closing this now.


Add support for fading in/fading out UI Blocker view with independent…

… times
Addresses #136

Close in favor of #219


Anchor[elasticsearch::end] is hanging around

The end anchor is doing nothing much at the moment.
Need to take it in use or remove it.

Removed the darn thing since it had no further use.


allow marking of subtask completion

This change allows subtasks to be marked as completed, eg:

Main task

Subtask 1 not completed
-x Subtask 2 completed

I don't see any kind of documentation for subtasks. Can you link a discussion or definition?

There is none. I've just pushed this because it is very useful to me and it might be useful to other people. Maybe we can initiate the discussion now?
The benefit of having this is that one can have high-level tasks as the main tasks and expand them with subtasks. By using the code folding of text editors the UX of the todo.txt file is greatly improved.
With the code folded you get a view of the high-level tasks:

Unfolded you can see it all:

Allowing for only one level of tasks might be good for a daily to-do list, but it is a big constraint for long-term to-do lists. My use case is that I keep only one to-do list and the high-level tasks are the 'epics' I want to do, and inside each, I have the subtasks to achieve that high-level task.

So, I don't want to introduce new syntax for todo.txt. There's a repo for it. I think hierarchical structure in todo.txt is best handled with projects.


Add pushImageTag functionality

for software houses that create a lot of images, the maven plugin will try to push all tags when you specify pushImage. I have added a more focused pushImageTag so that only images, specified in the pom, are uploaded to the registry.
This should resolve issue #40

Thanks for the contribution @adowner! It looks good to me besides from the parts above, if you can resolve the merge conflict I'd be happy to merge.
Regarding the example configuration, it might be easier to suggest that the tags-to-be-pushed can also be specified with
mvn ... docker:build -DpushImageTags -DdockerImageTag=latest -DdockerImageTag=another-tag

updates done, conflicts resolved, thanks for your time.

@mattnworb Any anticipated timeframe for this? Definitely anxious to see this feature incorporated.

@davidxia is there anything else stopping this PR from being merged? I'd love to be able to move off of my patched version.

Sorry for the delay!

0.4.0 has been released with this PR


runelite won't open, blank screen upon opening. client error: null

I've tried other solutions I've read for this and I can't get anything to work.
EDIT:
I disabled the login menu enhancements and HD plugin.. I have it working again.

My cache log shows:
2022-03-16 10:09:48 [RuneLite] INFO  net.runelite.client.RuneLite - Client initialization took 6185ms. Uptime: 8526ms 2022-03-16 10:09:48 [AWT-EventQueue-0] INFO  net.runelite.client.ui.ClientUI - Showing frame net.runelite.client.ui.ContainableFrame[frame0,229,75,809x534,layout=java.awt.BorderLayout,title=RuneLite,resizable,normal,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,809x534,layout=org.pushingpixels.substance.internal.ui.SubstanceRootPaneUI$SubstanceRootLayout,alignmentX=0.0,alignmentY=0.0,border=org.pushingpixels.substance.internal.utils.border.SubstancePaneBorder@111f4da,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] 2022-03-16 10:19:56 [RuneLite] INFO  net.runelite.client.RuneLite - RuneLite <IP_ADDRESS> (launcher version 2.2.0) starting up, args: none 2022-03-16 10:19:58 [Preloader] INFO  net.runelite.client.rs.ClientLoader - Using cached vanilla client 2022-03-16 10:19:58 [Preloader] INFO  net.runelite.client.rs.ClientLoader - Using cached patched client 2022-03-16 10:19:58 [Preloader] INFO  net.runelite.client.rs.ClientLoader - client-patch<PHONE_NUMBER>.69 2022-03-16 10:19:59 [RuneLite] INFO  n.r.client.account.SessionManager - No session file exists 2022-03-16 10:19:59 [RuneLite] INFO  n.r.c.plugins.kourendlibrary.Library - Library is now reset 2022-03-16 10:20:00 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "117hd" version "1.0.14" commit "965fe76320d329dcbb65dd19f5079c8d0fbddbff" 2022-03-16 10:20:00 [RuneLite] INFO  n.r.c.e.ExternalPluginManager - Loading external plugin "quest-helper" version "3.0.0" commit "5dfee72a5364154cbfca08fba73678cc9dee3e74" 2022-03-16 10:20:01 [RuneLite] INFO  n.r.client.discord.DiscordService - Initializing Discord RPC service. 2022-03-16 10:20:01 [Client] ERROR client-patch - Client error: null java.lang.ArrayIndexOutOfBoundsException: Index 4370 out of bounds for length 4353 	at kq.ef(kq.java:155) 	at gw.dt(gw.java:46) 	at be.fk(be.java:1857) 	at client.h(client.java:952) 	at al.j(al.java:344) 	at al.run(al.java:323) 	at java.base/java.lang.Thread.run(Unknown Source) 2022-03-16 10:20:02 [RuneLite] INFO  net.runelite.client.RuneLite - Client initialization took 6201ms. Uptime: 9122ms 2022-03-16 10:20:03 [AWT-EventQueue-0] INFO  net.runelite.client.ui.ClientUI - Showing frame net.runelite.client.ui.ContainableFrame[frame0,229,75,809x534,layout=java.awt.BorderLayout,title=RuneLite,resizable,normal,defaultCloseOperation=DO_NOTHING_ON_CLOSE,rootPane=javax.swing.JRootPane[,0,0,809x534,layout=org.pushingpixels.substance.internal.ui.SubstanceRootPaneUI$SubstanceRootLayout,alignmentX=0.0,alignmentY=0.0,border=org.pushingpixels.substance.internal.utils.border.SubstancePaneBorder@a9e0a2,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true] 2022-03-16 10:20:03 [pool-3-thread-1] INFO  n.r.client.discord.DiscordService - Discord RPC service is ready with user jynx.

I had the same issue getting mine to start and was able to fix it by removing all files from the jagexcache/oldschool/LIVE folder (backed em up just in case)

I had the same issue getting mine to start and was able to fix it by removing all files from the jagexcache/oldschool/LIVE folder (backed em up just in case)

thanks! I'll take this into consideration for the future. I disabled the login enhancements and hd plugin, it's finally loading up again.

This was due to a jagex issue https://twitter.com/OldSchoolRS/status/1504108495456636929


system.core.connection_state() gives two status updates instead of one

When connecting to either gazebo sim or a flight controller over a serial connection I am given two updates for the connection state.
import asyncio
from mavsdk import System

system = System()

async def check_connection_state():
    async for connection_state in system.core.connection_state():
        print(connection_state)

async def main():
    await system.connect("udp://:14540")
    asyncio.create_task(check_connection_state())

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    try:
        loop.create_task(main())
        loop.run_forever()
    finally:
        loop.stop()
        loop.close()

Output:
ConnectionState: [is_connected: True]
ConnectionState: [is_connected: True]

This only happens for the initial connection, if I disconnect gazebo or a FC and then reconnect it I am given a single update result.
Note: I am using mavsdk 1.2.0

Thanks for the issue. That's indeed suboptimal.


V1.1.11: cosmetics issue again

I just saw a variation on the cosmetic issue https://github.com/music-assistant/hass-music-assistant/issues/177 that is closed:

The only difference is that now the secondary text is very long

Fix scheduled for 2022.6.3?

Still not fixed in 2022.6.10

this is fixed in 2022.7


Release 0.1.0

@rultor release, tag=0.1.0

@dgroup OK, I will release it now. Please check the progress here

@rultor release, tag=0.1.0

@dgroup Done! FYI, the full log is here (took me 3min)

@rultor release tag=0.1.0

@rultor release tag=0.1.0

@dgroup OK, I will release it now. Please check the progress here

@rultor release tag=0.1.0

@dgroup Done! FYI, the full log is here (took me 4min)


Re-add Heroku support with containers

The Athene version supported Heroku deployments. Heroku supports containers even in the free tier, so it's likely that we could support it with minimal effort, if that's desired.
https://devcenter.heroku.com/articles/container-registry-and-runtime

Heroku removed their free tier, this is no longer relevant.


Added some generics and removed usages of deprecated methods

http://bits.netbeans.org/dev/javadoc/org-openide-filesystems/org/openide/filesystems/FileUtil.html
Apparently that method was there to fix a bug that existed in Java 5 and
earlier. The link says to use the other method instead. Im not sure if it
is needed or not, it might be the default behavior anyway. For me it opens
to My documents in Windows.
On Sun, 29 Dec 2019, 21:09 MeFisto94<EMAIL_ADDRESS>wrote:

@MeFisto94 commented on this pull request.
In
jme3-tests-template/src/com/jme3/gde/templates/tests/testsdesktop/JmeTestsPanelVisual.java
https://github.com/jMonkeyEngine/sdk/pull/219#discussion_r361867092:

@@ -110,7 +110,7 @@ private void browseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
String command = evt.getActionCommand();
if ("BROWSE".equals(command)) {
JFileChooser chooser = new JFileChooser();

       FileUtil.preventFileChooserSymlinkTraversal(chooser, null);

       chooser.setCurrentDirectory(null);

and here
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jMonkeyEngine/sdk/pull/219?email_source=notifications&email_token=AB7VJPRC5BAXGFLUE73QT7TQ3DYXZA5CNFSM4KA463HKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCQK4MSY#pullrequestreview-336971339,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7VJPUJYZ3SOU6J4RESVQLQ3DYXZANCNFSM4KA463HA
.


Adding AKS cluster handler

Looks like golangci-lint failed. You can download the locally and run it to see what the problem is or read the drone logs.

There are some build failures from golangci-lint. You can run this locally to debug and get this passing.

There are some build failures from golangci-lint. You can run this locally to debug and get this passing.

Hmmm, currently I see Encountered dirty repo! where git status showing me no changes. @thedadams do you any ideas on what I should fix to resolve this problem ? Thank you

Run go generate locally to see if there are any changes.

@mjura may want to try go mod tidy with golang version 1.16. Rancher's go version has just been updated to 1.16.

I tested this and there's something wrong with the syncing, seeing this throughout the cluster creation process:
2021/04/23 11:23:39 [DEBUG] initial upstream spec for cluster [c-xhwk6] has not been set by cluster handler yet, skipping

and then when the creation is finished on AKS it crashes trying to dereference UpstreamSpec:
E0423 11:23:39.719592  956641 runtime.go:78] Observed a panic: "invalid memory address or nil pointer dereference" (runtime error: invalid memory address or nil pointer dereference)
goroutine 1773 [running]:
k8s.io/apimachinery/pkg/util/runtime.logPanic(0x35bf7c0, 0x5f7e9c0)
        /home/colleen/dev/go/pkg/mod/k8s.io/apimachinery@v0.20.0/pkg/util/runtime/runtime.go:74 +0x95
k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
        /home/colleen/dev/go/pkg/mod/k8s.io/apimachinery@v0.20.0/pkg/util/runtime/runtime.go:48 +0x86
panic(0x35bf7c0, 0x5f7e9c0)
        /usr/lib64/go/1.16/src/runtime/panic.go:965 +0x1b9
github.com/rancher/rancher/pkg/controllers/management/aks.(*aksOperatorController).onClusterChange(0xc003818fd0, 0xc0097dd600, 0x7, 0xc0048bf800, 0x3b764c0, 0x3c4d620, 0x4432250)
        /home/colleen/dev/rancher/pkg/controllers/management/aks/aks_cluster_handler.go:188 +0xf18
github.com/rancher/rancher/pkg/generated/controllers/management.cattle.io/v3.FromClusterHandlerToHandler.func1(0xc0097dd600, 0x7, 0x4390930, 0xc0048bf800, 0xc0048bf800, 0x4432250, 0xc0048bf800, 0x1)
        /home/colleen/dev/rancher/pkg/generated/controllers/management.cattle.io/v3/cluster.go:105 +0x6b
github.com/rancher/lasso/pkg/controller.SharedControllerHandlerFunc.OnChange(0xc006924ed0, 0xc0097dd600, 0x7, 0x4390930, 0xc0048bf800, 0x0, 0xc0048bf800, 0x0, 0x0)
        /home/colleen/dev/go/pkg/mod/github.com/rancher/lasso@v0.0.0-20210408231703-9ddd9378d08d/pkg/controller/sharedcontroller.go:29 +0x4e
github.com/rancher/lasso/pkg/controller.(*SharedHandler).OnChange(0xc00193aa50, 0xc0097dd600, 0x7, 0x4390930, 0xc0048bf800, 0xc0029ea901, 0x0)
        /home/colleen/dev/go/pkg/mod/github.com/rancher/lasso@v0.0.0-20210408231703-9ddd9378d08d/pkg/controller/sharedhandler.go:66 +0x123
github.com/rancher/lasso/pkg/controller.(*controller).syncHandler(0xc000969290, 0xc0097dd600, 0x7, 0xc0029eaa18, 0x0)
        /home/colleen/dev/go/pkg/mod/github.com/rancher/lasso@v0.0.0-20210408231703-9ddd9378d08d/pkg/controller/controller.go:210 +0xd1
github.com/rancher/lasso/pkg/controller.(*controller).processSingleItem(0xc000969290, 0x33f92a0, 0xc00ac83690, 0x0, 0x0)
        /home/colleen/dev/go/pkg/mod/github.com/rancher/lasso@v0.0.0-20210408231703-9ddd9378d08d/pkg/controller/controller.go:192 +0xe7
github.com/rancher/lasso/pkg/controller.(*controller).processNextWorkItem(0xc000969290, 0x203001)
        /home/colleen/dev/go/pkg/mod/github.com/rancher/lasso@v0.0.0-20210408231703-9ddd9378d08d/pkg/controller/controller.go:169 +0x54
github.com/rancher/lasso/pkg/controller.(*controller).runWorker(...)
        /home/colleen/dev/go/pkg/mod/github.com/rancher/lasso@v0.0.0-20210408231703-9ddd9378d08d/pkg/controller/controller.go:158
k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1(0xc000549f10)
        /home/colleen/dev/go/pkg/mod/k8s.io/apimachinery@v0.20.0/pkg/util/wait/wait.go:155 +0x5f
k8s.io/apimachinery/pkg/util/wait.BackoffUntil(0xc000549f10, 0x436d9c0, 0xc000e8a000, 0x6f736572222c2201, 0xc00174c480)
        /home/colleen/dev/go/pkg/mod/k8s.io/apimachinery@v0.20.0/pkg/util/wait/wait.go:156 +0x9b
k8s.io/apimachinery/pkg/util/wait.JitterUntil(0xc000549f10, 0x3b9aca00, 0x0, 0x3a33325432322d01, 0xc00174c480)
        /home/colleen/dev/go/pkg/mod/k8s.io/apimachinery@v0.20.0/pkg/util/wait/wait.go:133 +0x98
k8s.io/apimachinery/pkg/util/wait.Until(0xc000549f10, 0x3b9aca00, 0xc00174c480)
        /home/colleen/dev/go/pkg/mod/k8s.io/apimachinery@v0.20.0/pkg/util/wait/wait.go:90 +0x4d
created by github.com/rancher/lasso/pkg/controller.(*controller).run
        /home/colleen/dev/go/pkg/mod/github.com/rancher/lasso@v0.0.0-20210408231703-9ddd9378d08d/pkg/controller/controller.go:129 +0x33b
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x108 pc=0x2aa71d8]

Added a comment here but github didn't make it obvious: https://github.com/rancher/rancher/pull/31333/files#r631893754 there's one more thing unresolved

I have changed it

Hard merging as CI failure is due to windows builds, linux builds passed. Leaving to @thedadams to handle open requests.


Missing-Parameter diagnostics catches false positive

Describe the bug
the missing parameter diagnostics catches a false positive warning with non-problem code.
To Reproduce
Please look at the below

I've copied the exact same code for you guys who want to test it self
---@meta
---@class Foo
---@field getChild fun(self:Foo,key:string):Foo

---@class Bar

---@param f Foo
---@return Bar
function toBar(f) end

---@type Foo
local foo = {};

local bar = toBar(foo:getChild('Hello'));

Expected behavior
I don't think this code have any problem but the diagnostics pops an error like this

Screenshots
all the screenshots are included above.
Environment (please complete the following information):

OS: Windows
Is WSL remote?  what's this?
Client: VSCode

Additional context
And if I redirect the call with divide the getChild call into a variable like below, It does not raise any error.

Provide logs

@sumneko you are the best! :)


Setting pixels_per_meter doesn't seem to affect the physics scale

I think I might be misunderstanding what this value does. When running the boxes2 example, there seems to be no difference between adjusting the pixels_per_meter value. I have tried using a value of 1.0, 100.0 (default), and 10000.0 and the simulations seem to run exactly the same.
From Common Mistakes: Why is Everything Moving in Slow Motion docs, I got the impression that the pixels_per_meter constructor would adjust the simulation scale. I was expecting that a value of 1.0 would cause the boxes to fall a lot slower (since they'd be bigger and have further to fall) and I was expecting a value of 10000.0 to cause the boxes to fall a lot faster, since they'd be smaller and much closer to the ground.

that example is using the default gravity, with a fixed magnitude of 98.1 (vs 9.81 for 3D), which gets interpreted in scale units; due to how this value is set (in RapierConfiguration::default()), it can't take into account the varying scales that might be set; if you edit the example to apply the scale to the gravity too, the boxes act how you expected them to;
diff --git a/bevy_rapier2d/examples/boxes2.rs b/bevy_rapier2d/examples/boxes2.rs
index 6de77dd..1276491 100644
--- a/bevy_rapier2d/examples/boxes2.rs
+++ b/bevy_rapier2d/examples/boxes2.rs
@@ -1,6 +1,8 @@
 use bevy::prelude::*;
 use bevy_rapier2d::prelude::*;

+const SCALE: f32 = 10.0;
+
 fn main() {
     App::new()
         .insert_resource(ClearColor(Color::rgb(
@@ -10,7 +12,7 @@ fn main() {
         )))
         .add_plugins((
             DefaultPlugins,
-            RapierPhysicsPlugin::<NoUserData>::pixels_per_meter(100.0),
+            RapierPhysicsPlugin::<NoUserData>::pixels_per_meter(SCALE),
             RapierDebugRenderPlugin::default(),
         ))
         .add_systems(Startup, (setup_graphics, setup_physics))
@@ -24,7 +26,9 @@ pub fn setup_graphics(mut commands: Commands) {
     });
 }

-pub fn setup_physics(mut commands: Commands) {
+pub fn setup_physics(mut commands: Commands, mut rapier_config: ResMut<RapierConfiguration>) {
+    rapier_config.gravity = -Vect::Y * 9.81 * SCALE;
+
     /*
      * Ground
      */

effectively, the boxes are tiny with scale=10000.0, but the default gravity is weaker by the same amount and it cancels out.


Fix setup.py

Updating the install requirements
correctly install sub-packages (even when not using pip editable
install)

Thank you for fixing this!


[Feature request] Persist cron task information in DB

Cron task information is lost when PocketBase is restarted / redeployed. For rarely running tasks (e.g. weekly) this may cause the task to never run at all, if PB is restarted more frequently than the period. Storing cron task information (e.g. last run) in the DB could solve this.

Cron tasks are currently managed as code, aka. either as part of your pb_hooks or as part of your Go code, so there is no way for "information lost" on "restarted / redeployed".
If you use the JS pb_hooks, make sure that the pb_hooks are deployed toghether with your binary (if you are using Docker you can COPY the directory as part of the image).
The same apply for the pb_migrations.
Option to manage the cron tasks from the Admin UI (start/stop) exists in my todo but remains a very low priority and out of the scope for v1 at least for now.

Also note that the cron tasks are not dependent on the time when the server was started/restarted.
If your schedule a cron task like: "*/30 * * * *", this will run on every half and hour (aka. 14:00, 14:30, 15:00, 15:30, etc.).


Sanitize iRODS paths in get_row_path() calls

I noticed we don't sanitize iRODS paths when calling for get_row_path(). Especially with the implementing of #1946 it should be done, as the user has more freedom for defining data paths.
As the paths get checked when performing any iRODS requests with elevated permissions within SODAR, this is not a major security issue. Still, we might as well prevent users for entering naughty data from the get-go.
We simply need to call irods_backend.sanitize_path() on the results. Relevant calls to get_row_path() are in:

samplesheets.plugins._update_cache_rows()
samplesheets.plugins.get_irods_content()

Done. Also updated the tests a fair bit and discovered #1954.


Memory leaks clean up 1

Description
This PR contributes to https://github.com/flutter/flutter/issues/141198

Adds leaks ignorance for the number of test/widgets tests leaking by design because of exception/error;
Marks leak in Overlay.wrap https://github.com/flutter/flutter/issues/145687

Pre-launch Checklist

[X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[X] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[X] I signed the [CLA].
[X] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is [test-exempt].
[ ] I followed the [breaking change policy] and added [Data Driven Fixes] where supported.
[X] All existing and new tests are passing.

CC @polina-c

Thank you!!!

It turned one bot to green:


[Windows] fix: unbox_winrt value checking

When using unbox_winrt in winrt.py, the function almost always raises NotImplementedError.
This is because of the if statement checks:
https://github.com/samschott/desktop-notifier/blob/0e1ff41fd2e2510a9d776ed2cf8b142d79eb9b9e/src/desktop_notifier/winrt.py#L271-L282
checking IntEnum values with is keyword and using redundant .value
I removed the extra .value in if checks.
...
-    elif value.type is PropertyType.INT16.value:
+    elif value.type is PropertyType.INT16:
...

Brutus replied: hi 😎

Thanks for the fix! IIRC, this was working as intended at some point but the winrt API has evolved a bit since then.


[REVIEW] kabir0x17

GitHub Profile Link
https://github.com/kabir0x17

Looks good. I would like the "Recent Activity" field on my profile too, which I'll add shortly :)

Looks good. I would like the "Recent Activity" field on my profile too, which I'll add shortly :)

Thanks 🚀


Add LICENCE

I'm rather hoping your intent is for this to be under a permissive licence but I can't see any mention of licencing at all - which I believe means this is currently all rights reserved!

All code files have an MIT licence header so it is indeed permissive. ;)
But you're right I'll add a global licence file!


Cannot get black border detection to work

I built an ambilight setup following this tutorial: https://www.youtube.com/watch?v=tRDAzJrfZiM
I was able to get it working, but the one issue I am having is with black border detection. I play all the videos through my PS3 to an HDMI splitter, convert to composite then have the grabber on the pi grab the image and output to the lights. I have tried multiple downloaded files + purchased films and they black border detection will not kick on (i've increased "threshold" : 0.14 with no change) . I am somewhat of a noob with this stuff, and I really could use some help. Here is a paste of my Hyperion.config.json, thanks in advance!
// Automatically generated configuration file for 'Hyperion daemon'
// Generated by: HyperCon (The Hyperion deamon configuration file builder

{
	/// Device configuration contains the following fields:
	/// * 'name'       : The user friendly name of the device (only used for display purposes)
	/// * 'type'       : The type of the device or leds (known types for now are 'ws2801', 'ldp8806',
	///                  'lpd6803', 'sedu', 'adalight', 'lightpack', 'test' and 'none')
	/// * 'output'     : The output specification depends on selected device. This can for example be the
	///                  device specifier, device serial number, or the output file name
	/// * 'rate'       : The baudrate of the output to the device
	/// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
	"device" :
	{
		"name"       : "MyPi",
		"type"       : "ws2801",
		"output"     : "/dev/spidev0.0",
		"rate"       : 1000000,
		"colorOrder" : "bgr"
	},

	/// Color manipulation configuration used to tune the output colors to specific surroundings.
	/// The configuration contains a list of color-transforms. Each transform contains the
	/// following fields:
	///  * 'id'   : The unique identifier of the color transformation (eg 'device_1')	///  * 'leds' : The indices (or index ranges) of the leds to which this color transform applies
	///             (eg '0-5, 9, 11, 12-17'). The indices are zero based.	///  * 'hsv' : The manipulation in the Hue-Saturation-Value color domain with the following
	///            tuning parameters:
	///            - 'saturationGain'  The gain adjustement of the saturation
	///            - 'valueGain'       The gain adjustement of the value
	///  * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the
	///                           following tuning parameters for each channel:
	///            - 'threshold'       The minimum required input value for the channel to be on
	///                                (else zero)
	///            - 'gamma'           The gamma-curve correction factor
	///            - 'blacklevel'      The lowest possible value (when the channel is black)
	///            - 'whitelevel'      The highest possible value (when the channel is white)
	///
	/// Next to the list with color transforms there is also a smoothing option.
	///  * 'smoothing' : Smoothing of the colors in the time-domain with the following tuning
	///                  parameters:
	///            - 'type'            The type of smoothing algorithm ('linear' or 'none')
	///            - 'time_ms'         The time constant for smoothing algorithm in milliseconds
	///            - 'updateFrequency' The update frequency of the leds in Hz
	"color" :
	{
		"transform" :
		[
			{
				"id"   : "default",
				"leds" : "*",
				"hsv" :
				{
					"saturationGain" : 1.0000,
					"valueGain"      : 1.5000
				},
				"red" :
				{
					"threshold"  : 0.2000,
					"gamma"      : 2.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 1.0000
				},
				"green" :
				{
					"threshold"  : 0.2000,
					"gamma"      : 2.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 0.8000
				},
				"blue" :
				{
					"threshold"  : 0.2000,
					"gamma"      : 2.0000,
					"blacklevel" : 0.0000,
					"whitelevel" : 0.5000
				}
			}
		],
		"smoothing" :
		{
			"type"            : "linear",
			"time_ms"         : 100,
			"updateFrequency" : 25.0000
		}
	},

	///  The configuration for each individual led. This contains the specification of the area
	///  averaged of an input image for each led to determine its color. Each item in the list
	///  contains the following fields:
	///  * index: The index of the led. This determines its location in the string of leds; zero
	///           being the first led.
	///  * hscan: The fractional part of the image along the horizontal used for the averaging
	///           (minimum and maximum inclusive)
	///  * vscan: The fractional part of the image along the vertical used for the averaging
	///           (minimum and maximum inclusive)
	"leds" :
	[
		{
			"index" : 0,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.9455, "maximum" : 0.9900 }
		},
		{
			"index" : 1,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.9009, "maximum" : 0.9455 }
		},
		{
			"index" : 2,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.8564, "maximum" : 0.9009 }
		},
		{
			"index" : 3,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.8118, "maximum" : 0.8564 }
		},
		{
			"index" : 4,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.7673, "maximum" : 0.8118 }
		},
		{
			"index" : 5,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.7227, "maximum" : 0.7673 }
		},
		{
			"index" : 6,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.6782, "maximum" : 0.7227 }
		},
		{
			"index" : 7,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.6336, "maximum" : 0.6782 }
		},
		{
			"index" : 8,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.5891, "maximum" : 0.6336 }
		},
		{
			"index" : 9,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.5445, "maximum" : 0.5891 }
		},
		{
			"index" : 10,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.5000, "maximum" : 0.5445 }
		},
		{
			"index" : 11,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.4555, "maximum" : 0.5000 }
		},
		{
			"index" : 12,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.4109, "maximum" : 0.4555 }
		},
		{
			"index" : 13,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.3664, "maximum" : 0.4109 }
		},
		{
			"index" : 14,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.3218, "maximum" : 0.3664 }
		},
		{
			"index" : 15,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.2773, "maximum" : 0.3218 }
		},
		{
			"index" : 16,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.2327, "maximum" : 0.2773 }
		},
		{
			"index" : 17,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.1882, "maximum" : 0.2327 }
		},
		{
			"index" : 18,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.1436, "maximum" : 0.1882 }
		},
		{
			"index" : 19,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.0991, "maximum" : 0.1436 }
		},
		{
			"index" : 20,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.0545, "maximum" : 0.0991 }
		},
		{
			"index" : 21,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0300 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0545 }
		},
		{
			"index" : 22,
			"hscan" : { "minimum" : 0.0100, "maximum" : 0.0388 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 23,
			"hscan" : { "minimum" : 0.0388, "maximum" : 0.0676 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 24,
			"hscan" : { "minimum" : 0.0676, "maximum" : 0.0965 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 25,
			"hscan" : { "minimum" : 0.0965, "maximum" : 0.1253 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 26,
			"hscan" : { "minimum" : 0.1253, "maximum" : 0.1541 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 27,
			"hscan" : { "minimum" : 0.1541, "maximum" : 0.1829 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 28,
			"hscan" : { "minimum" : 0.1829, "maximum" : 0.2118 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 29,
			"hscan" : { "minimum" : 0.2118, "maximum" : 0.2406 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 30,
			"hscan" : { "minimum" : 0.2406, "maximum" : 0.2694 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 31,
			"hscan" : { "minimum" : 0.2694, "maximum" : 0.2982 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 32,
			"hscan" : { "minimum" : 0.2982, "maximum" : 0.3271 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 33,
			"hscan" : { "minimum" : 0.3271, "maximum" : 0.3559 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 34,
			"hscan" : { "minimum" : 0.3559, "maximum" : 0.3847 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 35,
			"hscan" : { "minimum" : 0.3847, "maximum" : 0.4135 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 36,
			"hscan" : { "minimum" : 0.4135, "maximum" : 0.4424 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 37,
			"hscan" : { "minimum" : 0.4424, "maximum" : 0.4712 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 38,
			"hscan" : { "minimum" : 0.4712, "maximum" : 0.5000 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 39,
			"hscan" : { "minimum" : 0.5000, "maximum" : 0.5288 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 40,
			"hscan" : { "minimum" : 0.5288, "maximum" : 0.5576 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 41,
			"hscan" : { "minimum" : 0.5576, "maximum" : 0.5865 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 42,
			"hscan" : { "minimum" : 0.5865, "maximum" : 0.6153 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 43,
			"hscan" : { "minimum" : 0.6153, "maximum" : 0.6441 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 44,
			"hscan" : { "minimum" : 0.6441, "maximum" : 0.6729 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 45,
			"hscan" : { "minimum" : 0.6729, "maximum" : 0.7018 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 46,
			"hscan" : { "minimum" : 0.7018, "maximum" : 0.7306 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 47,
			"hscan" : { "minimum" : 0.7306, "maximum" : 0.7594 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 48,
			"hscan" : { "minimum" : 0.7594, "maximum" : 0.7882 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 49,
			"hscan" : { "minimum" : 0.7882, "maximum" : 0.8171 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 50,
			"hscan" : { "minimum" : 0.8171, "maximum" : 0.8459 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 51,
			"hscan" : { "minimum" : 0.8459, "maximum" : 0.8747 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 52,
			"hscan" : { "minimum" : 0.8747, "maximum" : 0.9035 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 53,
			"hscan" : { "minimum" : 0.9035, "maximum" : 0.9324 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 54,
			"hscan" : { "minimum" : 0.9324, "maximum" : 0.9612 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 55,
			"hscan" : { "minimum" : 0.9612, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0300 }
		},
		{
			"index" : 56,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.0100, "maximum" : 0.0545 }
		},
		{
			"index" : 57,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.0545, "maximum" : 0.0991 }
		},
		{
			"index" : 58,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.0991, "maximum" : 0.1436 }
		},
		{
			"index" : 59,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.1436, "maximum" : 0.1882 }
		},
		{
			"index" : 60,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.1882, "maximum" : 0.2327 }
		},
		{
			"index" : 61,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.2327, "maximum" : 0.2773 }
		},
		{
			"index" : 62,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.2773, "maximum" : 0.3218 }
		},
		{
			"index" : 63,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.3218, "maximum" : 0.3664 }
		},
		{
			"index" : 64,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.3664, "maximum" : 0.4109 }
		},
		{
			"index" : 65,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.4109, "maximum" : 0.4555 }
		},
		{
			"index" : 66,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.4555, "maximum" : 0.5000 }
		},
		{
			"index" : 67,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.5000, "maximum" : 0.5445 }
		},
		{
			"index" : 68,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.5445, "maximum" : 0.5891 }
		},
		{
			"index" : 69,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.5891, "maximum" : 0.6336 }
		},
		{
			"index" : 70,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.6336, "maximum" : 0.6782 }
		},
		{
			"index" : 71,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.6782, "maximum" : 0.7227 }
		},
		{
			"index" : 72,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.7227, "maximum" : 0.7673 }
		},
		{
			"index" : 73,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.7673, "maximum" : 0.8118 }
		},
		{
			"index" : 74,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.8118, "maximum" : 0.8564 }
		},
		{
			"index" : 75,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.8564, "maximum" : 0.9009 }
		},
		{
			"index" : 76,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.9009, "maximum" : 0.9455 }
		},
		{
			"index" : 77,
			"hscan" : { "minimum" : 0.9700, "maximum" : 0.9900 },
			"vscan" : { "minimum" : 0.9455, "maximum" : 0.9900 }
		}
	],

	/// The black border configuration, contains the following items:
	///  * enable    : true if the detector should be activated
	///  * threshold : Value below which a pixel is regarded as black (value between 0.0 and 1.0)
	"blackborderdetector" :
	{
		"enable" : true,
		"threshold" : 0.14
	},

	/// The configuration of the effect engine, contains the following items:
	///  * paths        : An array with absolute location(s) of directories with effects
	///  * bootsequence : The effect selected as 'boot sequence'
	"effects" :
	{
		"paths" :
		[
			"/opt/hyperion/effects"
		]
	},

	"bootsequence" :
	{
		"effect" : "Rainbow swirl fast",
		"duration_ms" : 5000
	},

	///  The configuration for the frame-grabber, contains the following items:
	///   * width        : The width of the grabbed frames [pixels]
	///   * height       : The height of the grabbed frames [pixels]
	///   * frequency_Hz : The frequency of the frame grab [Hz]
	"framegrabber" :
	{
		"width" : 96,
		"height" : 54,
		"frequency_Hz" : 25.0
	},

	/// The configuration of the XBMC connection used to enable and disable the frame-grabber. Contains the following fields:
	///  * xbmcAddress       : The IP address of the XBMC-host
	///  * xbmcTcpPort       : The TCP-port of the XBMC-server
	///  * grabVideo         : Flag indicating that the frame-grabber is on(true) during video playback
	///  * grabPictures      : Flag indicating that the frame-grabber is on(true) during picture show
	///  * grabAudio         : Flag indicating that the frame-grabber is on(true) during audio playback
	///  * grabMenu          : Flag indicating that the frame-grabber is on(true) in the XBMC menu
	///  * grabScreensaver   : Flag indicating that the frame-grabber is on(true) when XBMC is on screensaver
	///  * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing
	"xbmcVideoChecker" :
	{
		"xbmcAddress" : "<IP_ADDRESS>",
		"xbmcTcpPort" : 9090,
		"grabVideo" : true,
		"grabPictures" : true,
		"grabAudio" : true,
		"grabMenu" : false,
		"grabScreensaver" : true,
		"enable3DDetection" : true
	},

	/// The configuration of the Json server which enables the json remote interface
	///  * port : Port at which the json server is started
	"jsonServer" :
	{
		"port" : 19444
	},

	/// The configuration of the Proto server which enables the protobuffer remote interface
	///  * port : Port at which the protobuffer server is started
	"protoServer" :
	{
		"port" : 19445
	},

	/// The configuration of the boblight server which enables the boblight remote interface
	///  * port : Port at which the boblight server is started
// 	"boblightServer" :
// 	{
// 		"port" : 19333
// 	},

	"endOfJson" : "endOfJson"
}

@T3chrage  still need help? tried the new BB detector?
or can be closeD?

https://github.com/tvdzwan/hyperion/pull/496