pip install aqtinstall requires Visual Studio due to pycryptodome needed by py7zr?

Hello,
I would like to provide simple instructions to students so that they can easily get Qt Creator+Qt SDK 5.15.2 for MinGW 8.1.0 64 bit. It is possible to get it to work, but in the process I realize that Visual Studio needs to be installed, which is a bit a pity since I wanted  to use MinGW, and even a minimal Visual Studio installation is still quite big compared to the rest (especially for students hard disks that are often full!).
Here are the steps that I do:

Get a clean install of Windows 10 20H2
Install Chocolatey
choco install -y python --version=3.6.8
pip install aqtinstall

At some point:
Collecting pycryptodome (from py7zr!=0.10.0,>=0.9.9->aqtinstall)
  Downloading https://files.pythonhosted.org/packages/88/7f/740b99ffb8173ba9d20eb890cc05187677df90219649645aca7e44eb8ff4/pycryptodome-3.10.1.tar.gz (3.8MB)
    100% |████████████████████████████████| 3.8MB 654kB/s
    Complete output from command python setup.py egg_info:
    Testing support for clang
    Traceback (most recent call last):
      File "c:\python36\lib\site-packages\setuptools\msvc.py", line 489, in _find_latest_available_vc_ver
        return self.find_available_vc_vers()[-1]
    IndexError: list index out of range

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\1\AppData\Local\Temp\pip-install-wpi3afz2\pycryptodome\setup.py", line 468, in <module>
        set_compiler_options(package_root, ext_modules)
      File "C:\Users\1\AppData\Local\Temp\pip-install-wpi3afz2\pycryptodome\compiler_opt.py", line 341, in set_compiler_options
        clang = compiler_is_clang()
      File "C:\Users\1\AppData\Local\Temp\pip-install-wpi3afz2\pycryptodome\compiler_opt.py", line 251, in compiler_is_clang
        return test_compilation(source, msg="clang")
      File "C:\Users\1\AppData\Local\Temp\pip-install-wpi3afz2\pycryptodome\compiler_opt.py", line 82, in test_compilation
        objects = compiler.compile([fname], extra_postargs=extra_cc_options)
      File "c:\python36\lib\distutils\_msvccompiler.py", line 345, in compile
        self.initialize()
      File "c:\python36\lib\distutils\_msvccompiler.py", line 238, in initialize
        vc_env = _get_vc_env(plat_spec)
      File "c:\python36\lib\site-packages\setuptools\msvc.py", line 185, in msvc14_get_vc_env
        return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env()
      File "c:\python36\lib\site-packages\setuptools\msvc.py", line 843, in __init__
        self.si = SystemInfo(self.ri, vc_ver)
      File "c:\python36\lib\site-packages\setuptools\msvc.py", line 485, in __init__
        self.vc_ver = vc_ver or self._find_latest_available_vc_ver()
      File "c:\python36\lib\site-packages\setuptools\msvc.py", line 492, in _find_latest_available_vc_ver
        raise distutils.errors.DistutilsPlatformError(err)
    distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

I realize that this is just due to py7zr, which is not strictly necessary if I remove https://github.com/miurahr/aqtinstall/blob/87976781516cf2b166318be9b09f315450127fcc/aqt/installer.py#L36 and https://github.com/miurahr/aqtinstall/blob/87976781516cf2b166318be9b09f315450127fcc/setup.cfg#L38 and install 7zip. Then (after installing manually my modified version of git clone https://github.com/miurahr/aqtinstall using pip install requests packaging texttable & pip install -e aqtinstall) I can run aqt install -E 7z --outputdir C:\Qt 5.15.2 windows desktop win64_mingw81 -m qtcharts qtscript, I can prepare a %appdata%\Roaming\QtProject\qtcreator\qtversion.xml file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorQtVersions>
<!-- Written by QtCreator 4.14.2, 2021-04-03T23:30:20. -->
<qtcreator>
 <data>
  <variable>QtVersion.0</variable>
  <valuemap type="QVariantMap">
   <value type="QString" key="QMakePath">C:/Qt/5.15.2/mingw81_64/bin/qmake.exe</value>
   <value type="QString" key="QtVersion.Type">Qt4ProjectManager.QtVersion.Desktop</value>
  </valuemap>
 </data>
 <data>
  <variable>Version</variable>
  <value type="int">1</value>
 </data>
</qtcreator>

and then run
choco install -y mingw --version=8.1.0 & choco install -y qtcreator.
Is there a cleaner way to avoid Visual Studio installation?

I guess the best you can do is a torrent with 7ziped  Qt Creator + Qt unpacked from their installers. This way no installation is needed, just unpacking the archive somewhere and using.

pycryptdome distributes binary packages but it build deprecated CPython2.7 and CPython3.5 binaries, not current CPython 3.6 and later.
As you know, python 2.7 and 3.5 has already been end of life.
aqtinstall depends several python libraries, some of which is only support python3.6 and later, so you can only source package of pycryptodme.
IMHO, it is pycryptodome issue.

Have you already done pip install wheel? Pip always install packages  from source without wheel on your system.

Or try pip install --only-binary :all: aqtinstall and see the error message?

I can reproduce the behavior reported.
@lebarsfa  You should run pip install -U pip before pip install aqtinstall.
New version of PIP handles binary packages properly. A default version of pip bundled with Python 3.6.8 is too old.

Many thanks for all your answers, all are good workarounds!
However, I must say that I also found a similar problem in the case of a 32 bit environment: https://pypi.org/project/bcj-cffi/ does not have 32 bit binaries...
In fact, Windows is missing something like sudo apt install qt5-default Ubuntu package, so I just tried to submit an equivalent Chocolatey package which installs and use aqt, see https://community.chocolatey.org/packages/qt5-default/5.15.2 (all other existing Qt SDK packages on Chocolatey seem to be old). I don't know yet if it will get approved (maybe due to the problem in 32 bit, but I noticed qtcreator package does not seem to work in 32 bit as well, there might be also licensing problems, etc.), but I think this could help new potential users of Qt SDK.

https://pypi.org/project/bcj-cffi/ does not have 32 bit binaries...

+1. I ran into the same problem.

bcj-cffi releases win32 binary. You can try aqtinstall  again now.

@miurahr Thank you for publishing the 32 bit binaries, it works!
However, please note that an error happens in the middle, without preventing aqtinstall installation though:
PS C:\Users\1\Downloads> cmd /c "refreshenv & pip install -U pip & pip install aqtinstall"
Refreshing environment variables from registry for cmd.exe. Please wait...Finished..
Requirement already satisfied: pip in c:\python39\lib\site-packages (21.0.1)
Collecting aqtinstall
  Downloading aqtinstall-1.1.4-py2.py3-none-any.whl (26 kB)
Collecting texttable
  Downloading texttable-1.6.3-py2.py3-none-any.whl (10 kB)
Collecting py7zr!=0.10.0,>=0.9.9
  Downloading py7zr-0.15.0-py3-none-any.whl (66 kB)
     |████████████████████████████████| 66 kB 4.5 MB/s
Collecting wheel
  Downloading wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Collecting packaging
  Downloading packaging-20.9-py2.py3-none-any.whl (40 kB)
     |████████████████████████████████| 40 kB ...
Collecting requests
  Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 3.8 MB/s
Collecting bcj-cffi<0.6.0,>=0.5.0
  Downloading bcj_cffi-0.5.1-cp39-cp39-win32.whl (20 kB)
Collecting pycryptodome
  Downloading pycryptodome-3.10.1-cp35-abi3-win32.whl (1.6 MB)
     |████████████████████████████████| 1.6 MB 6.8 MB/s
Collecting pyzstd<0.15.0,>=0.14.4
  Downloading pyzstd-0.14.4-cp39-cp39-win32.whl (184 kB)
     |████████████████████████████████| 184 kB 6.4 MB/s
Collecting multivolumefile<0.3.0,>=0.2.0
  Downloading multivolumefile-0.2.2-py3-none-any.whl (16 kB)
Collecting ppmd-cffi<0.4.0,>=0.3.1
  Downloading ppmd-cffi-0.3.3.tar.gz (448 kB)
     |████████████████████████████████| 448 kB 6.4 MB/s
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
    Preparing wheel metadata ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\python39\python.exe' 'c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\1\AppData\Local\Temp\tmpx_djapyy'
         cwd: C:\Users\1\AppData\Local\Temp\pip-install-rs3z2zck\ppmd-cffi_bfbf06f913dd4b54b551111bc86d5c1d
    Complete output (44 lines):
    Traceback (most recent call last):
      File "c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 280, in <module>
        main()
      File "c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 263, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 133, in prepare_metadata_for_build_wheel
        return hook(metadata_directory, config_settings)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\overlay\Lib\site-packages\setuptools\build_meta.py", line 166, in prepare_metadata_for_build_wheel
        self.run_setup()
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\overlay\Lib\site-packages\setuptools\build_meta.py", line 150, in run_setup
        exec(compile(code, __file__, 'exec'), locals())
      File "setup.py", line 3, in <module>
        setup(use_scm_version={"local_scheme": "no-local-version"},
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\overlay\Lib\site-packages\setuptools\__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "c:\python39\lib\distutils\core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\overlay\Lib\site-packages\setuptools\dist.py", line 434, in __init__
        _Distribution.__init__(self, {
      File "c:\python39\lib\distutils\dist.py", line 292, in __init__
        self.finalize_options()
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\overlay\Lib\site-packages\setuptools\dist.py", line 743, in finalize_options
        ep(self)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\overlay\Lib\site-packages\setuptools\dist.py", line 750, in _finalize_setup_keywords
        ep.load()(self, ep.name, value)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\normal\Lib\site-packages\cffi\setuptools_ext.py", line 219, in cffi_modules
        add_cffi_module(dist, cffi_module)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\normal\Lib\site-packages\cffi\setuptools_ext.py", line 49, in add_cffi_module
        execfile(build_file_name, mod_vars)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\normal\Lib\site-packages\cffi\setuptools_ext.py", line 25, in execfile
        exec(code, glob, glob)
      File "src/ffi_build.py", line 76, in <module>
        ffibuilder.cdef('typedef struct CPpmd_State_ * CPpmd_State_Ref;')
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\normal\Lib\site-packages\cffi\api.py", line 112, in cdef
        self._cdef(csource, override=override, packed=packed, pack=pack)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\normal\Lib\site-packages\cffi\api.py", line 126, in _cdef
        self._parser.parse(csource, override=override, **options)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\normal\Lib\site-packages\cffi\cparser.py", line 389, in parse
        self._internal_parse(csource)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\normal\Lib\site-packages\cffi\cparser.py", line 431, in _internal_parse
        self._declare('typedef ' + decl.name, realtype, quals=quals)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-0yjv851p\normal\Lib\site-packages\cffi\cparser.py", line 568, in _declare
        raise FFIError(
    cffi.FFIError: multiple declarations of typedef CPpmd_State_Ref (for interactive usage, try cdef(xx, override=True))
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/03/bd/1bb0235398e454f30006bec605f4ce0cb286e00f6d42e1e67a8906cb4627/ppmd-cffi-0.3.3.tar.gz#sha256=e07f79f0de07d8d26387c75087258b8e33d812c4e58856db8ed0dc6b686a8c07 (from https://pypi.org/simple/ppmd-cffi/). Command errored out with exit status 1: 'c:\python39\python.exe' 'c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\1\AppData\Local\Temp\tmpx_djapyy' Check the logs for full command output.
  Downloading ppmd-cffi-0.3.2.tar.gz (447 kB)
     |████████████████████████████████| 447 kB ...
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
    Preparing wheel metadata ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\python39\python.exe' 'c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\1\AppData\Local\Temp\tmp97vbubll'
         cwd: C:\Users\1\AppData\Local\Temp\pip-install-rs3z2zck\ppmd-cffi_6f4365cc988640bf8f79fe9cfff3be07
    Complete output (44 lines):
    Traceback (most recent call last):
      File "c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 280, in <module>
        main()
      File "c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 263, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 133, in prepare_metadata_for_build_wheel
        return hook(metadata_directory, config_settings)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\overlay\Lib\site-packages\setuptools\build_meta.py", line 166, in prepare_metadata_for_build_wheel
        self.run_setup()
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\overlay\Lib\site-packages\setuptools\build_meta.py", line 150, in run_setup
        exec(compile(code, __file__, 'exec'), locals())
      File "setup.py", line 3, in <module>
        setup(use_scm_version={"local_scheme": "no-local-version"},
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\overlay\Lib\site-packages\setuptools\__init__.py", line 153, in setup
        return distutils.core.setup(**attrs)
      File "c:\python39\lib\distutils\core.py", line 108, in setup
        _setup_distribution = dist = klass(attrs)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\overlay\Lib\site-packages\setuptools\dist.py", line 434, in __init__
        _Distribution.__init__(self, {
      File "c:\python39\lib\distutils\dist.py", line 292, in __init__
        self.finalize_options()
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\overlay\Lib\site-packages\setuptools\dist.py", line 743, in finalize_options
        ep(self)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\overlay\Lib\site-packages\setuptools\dist.py", line 750, in _finalize_setup_keywords
        ep.load()(self, ep.name, value)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\normal\Lib\site-packages\cffi\setuptools_ext.py", line 219, in cffi_modules
        add_cffi_module(dist, cffi_module)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\normal\Lib\site-packages\cffi\setuptools_ext.py", line 49, in add_cffi_module
        execfile(build_file_name, mod_vars)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\normal\Lib\site-packages\cffi\setuptools_ext.py", line 25, in execfile
        exec(code, glob, glob)
      File "src/ffi_build.py", line 76, in <module>
        ffibuilder.cdef('typedef struct CPpmd_State_ * CPpmd_State_Ref;')
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\normal\Lib\site-packages\cffi\api.py", line 112, in cdef
        self._cdef(csource, override=override, packed=packed, pack=pack)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\normal\Lib\site-packages\cffi\api.py", line 126, in _cdef
        self._parser.parse(csource, override=override, **options)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\normal\Lib\site-packages\cffi\cparser.py", line 389, in parse
        self._internal_parse(csource)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\normal\Lib\site-packages\cffi\cparser.py", line 431, in _internal_parse
        self._declare('typedef ' + decl.name, realtype, quals=quals)
      File "C:\Users\1\AppData\Local\Temp\pip-build-env-i0sipun4\normal\Lib\site-packages\cffi\cparser.py", line 568, in _declare
        raise FFIError(
    cffi.FFIError: multiple declarations of typedef CPpmd_State_Ref (for interactive usage, try cdef(xx, override=True))
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/e7/d1/c4a7bab047ef50579f797845814c69dfd416954398b3861633b40c1275d1/ppmd-cffi-0.3.2.tar.gz#sha256=1120b9f8257a322bc3e064f73cd25c01f9d28e668b0360c1672e77e94d978129 (from https://pypi.org/simple/ppmd-cffi/). Command errored out with exit status 1: 'c:\python39\python.exe' 'c:\python39\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\1\AppData\Local\Temp\tmp97vbubll' Check the logs for full command output.
Collecting py7zr!=0.10.0,>=0.9.9
  Downloading py7zr-0.14.1-py3-none-any.whl (68 kB)
     |████████████████████████████████| 68 kB ...
  Downloading py7zr-0.14.0-py3-none-any.whl (68 kB)
     |████████████████████████████████| 68 kB ...
  Downloading py7zr-0.13.1-py3-none-any.whl (65 kB)
     |████████████████████████████████| 65 kB ...
Collecting zstandard
  Downloading zstandard-0.15.2-cp39-cp39-win32.whl (495 kB)
     |████████████████████████████████| 495 kB 6.8 MB/s
Collecting multivolumefile<0.2.0,>=0.1.1
  Downloading multivolumefile-0.1.4-py3-none-any.whl (15 kB)
Collecting py7zr!=0.10.0,>=0.9.9
  Downloading py7zr-0.13.0-py3-none-any.whl (65 kB)
     |████████████████████████████████| 65 kB 4.8 MB/s
  Downloading py7zr-0.12.0-py3-none-any.whl (63 kB)
     |████████████████████████████████| 63 kB ...
  Downloading py7zr-0.11.3-py3-none-any.whl (63 kB)
     |████████████████████████████████| 63 kB 4.5 MB/s
Collecting pyparsing>=2.0.2
  Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
     |████████████████████████████████| 67 kB ...
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.4-py2.py3-none-any.whl (153 kB)
     |████████████████████████████████| 153 kB ...
Collecting chardet<5,>=3.0.2
  Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
     |████████████████████████████████| 178 kB ...
Collecting certifi>=2017.4.17
  Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
     |████████████████████████████████| 147 kB 6.4 MB/s
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB ...
Installing collected packages: urllib3, texttable, pyparsing, pycryptodome, idna, chardet, certifi, wheel, requests, py7zr, packaging, aqtinstall
Successfully installed aqtinstall-1.1.4 certifi-2020.12.5 chardet-4.0.0 idna-2.10 packaging-20.9 py7zr-0.11.3 pycryptodome-3.10.1 pyparsing-2.4.7 requests-2.25.1 texttable-1.6.3 urllib3-1.26.4 wheel-0.36.2

@lebarsfa Hi. Did you run aqtinstall in VS dev prompt? Open a clean CMD or PowerShell and try again.

We need to wait for upstream new release, py7zr v0.15.1.

py7zr v0.15.1
ppmd-cffi v0.4.1
bcj-cffi v0.5.1

Now all upstream released with 32bit binaries and dependencies update.
Your trial use ppmd-cffi v0.3.2 that py7zr v0.15.0 depends  has a bug that does not work on x86 32bit platform you observed. py7zr v0.15.1 depends ppmd-cffi > v0.4.0

Hi @lebarsfa . I noticed that you said in the first comment:

... they can easily get Qt Creator+Qt SDK 5.15.2 for MinGW 8.1.0 64 bit.

You and your students are on 64-bit Windows, right? Which architecture of Python 3.9 are you using?

@lebarsfa OK, got it. Thanks for your reply. :)


resizeMode: 'cover' is Applied Differently to Local Image than Remote Image

Issue Description
Given a local and a remote image with the same dimensions, resizeMode: 'cover' does not scale down the local image when placed inside a wrapper view that is smaller than the image, but does correctly scale down the remote image.
Steps to Reproduce / Code Snippets
Minimal Replication App: https://github.com/kevinvangelder/imageTest

Alternate between the local image (line 23) and the remote image (line 24) of index.ios.js

Expected Results
The local image should be scaled down so that one of the two dimensions fit the wrapper view, just like with the remote image.
Additional Information

React Native version: 0.32.0
Platform(s) (iOS, Android, or both?): iOS (unsure if Android has the same issue or not)
Operating System (macOS, Linux, or Windows?): macOS

Using { width: null, height: null } fixes this.
Sounds like one must explicitly opt out of autosizing when the loading local images into an Image whose size is governed by the parent (by flex or position:absolute).
The docs do talk about sizing topics.  They say dimesions are automatically applied. Which probably what is happening here.  This scenario does feel a bit like a rough edge though.
@kevinvangelder perhaps update the docs to mention this opt-out scenario?

@skellock Thanks, it works for me.

Yeah, if someone could send a PR to update the docs, it'll be awesome.

@satya164 @skellock looks like this is already in the docs here:
Note that image sources required this way include size (width, height) info for the Image. If you need to scale the image dynamically (i.e. via flex), you may need to manually set { width: undefined, height: undefined } on the style attribute.

Closing this issue because it has been inactive for a while. If you think it should still be opened let us know why.


Supporting Targets with No .Srcjar

I'm using assemble-maven in a Scala project. scala_library  is implemented differently to java_library so the above if condition will not trigger:
https://github.com/graknlabs/build-tools/blob/master/distribution/maven/rules.bzl#L270-L277
So the first thing will be support scala-rules if possible, because both are very similar (use POM, Jar file, srcjar etc) and Scala users can also benefits from assemble-maven.
Second issue, that if the target is not of type java, it will revert into the second option in the if statement. The 2nd if statement never defines srcjar like the first option, so the Depset will fail to populate because the variable was never created.
Thanks!

Fixed by #217


Interactivity

Would you ever allow for interactivity, reason I ask is I don't see it in the colab tutorial, thanks.

What kind of interactivity do you mean ?
Currently builtin Observable Plot JavaScript interactivity is possible when generating widgets, as shown here:
https://juba.github.io/pyobsplot/gallery_interaction.html
Otherwise Jupyter interactivity is also available, as described here :+1:
https://juba.github.io/pyobsplot/usage.html#jupyter-interactivity


Web workers support

Here is basic implementation of WebWorker environment support based on #656.
Also there JSIL.js was changed a little bit for better compatibility with JS packers (tested with browserify). When it pack files, each file is placed inside function which is called on newly created object. After it, resolving of global scope through this doesn't work anymore. However, in both browser and webworker global scope could be accessed with self property. So, if self is defined, it is used as global scope reference.

I'll send updated version in few days.


Ability to turn off the Logging Prefix

Hi
I am currently using overmind in a docker development setup where my application generates json logs and outputs them to a local grafana/loki setup so I can see whats going on. When i'm using overmind it will automatically prepend the process name before any log outputs which works great for STDOUT monitoring but not so much when i need json log messages.
Would it be possible to add another option to disable the log prefix entirely?

Generally speaking, I'm not sure why you would need Overmind when using Docker. There are Docker Compose and dip that makes development in Docker pretty close to Overmind experience.

Ignore the docker part; what I'm really interested in is keeping my logs in the format the application generates, which is JSON.
Overmind's manipulation of the logs whilst great if your using the terminal to view logs becomes a hindrance when trying to using a tool such as grafana/loki to work with the logs.

I have a similar situation, I want to keep my logs to stdout just plain JSON but I'm not able to parse that correctly because of the prefix, since Procfile is the default for rails 7+ we still want to keep using that but it would be nice to have some way of set an option for the process names


Performance issues

While running the plugin for about a few weeks, me and a few of my friends have started having connections issues on the server. The ping for everyone was pretty low. i removed the plugin and the connection issues were fixed, will there be any sort of patch for this? also the images breaks on a server restart so the plugin has to be reloaded to fix them.

I am a bit confused. Asteria doesn't have anything to do with images? It also doesn't interact with networking in any way, just spawning display entities and changing their transformation

Sorry, i somehow confused this plugin with something else xd


Error

After update to version 0.5, with xCode 7.2 I have this issue :

Excuse me, but I have now seen that the 0.5 version is for Swift 2.2

Yes, you can download and use 0.4 if you want to use an older version of Swift

I use 0.4 version, but there is another problem.
I have create a class that inherit from your controller and use it two times in my app in this way :
let controller = ContainerViewController()
self.navigationController?.setViewControllers([controller], animated: true).

When I use the first time, it works, but in the second time app crashes when I tap on bar button:
 *** Assertion failure in [UIPageViewController queuingScrollView:didEndManualScroll:toRevealView:direction:animated:didFinish:didComplete:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit/UIKit-3512.30.14/UIPageViewController.m:2028
2016-04-13 15:24:47.848 EpicTour[3748:2248913] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'No view controller managing visible view  <UIView: 0x158c1f330; frame = (0 0; 375 667); autoresize = W+H; layer = <CALayer: 0x158c7a210>>

How can I solve this problem?

For this type of questions please use, stackoverflow 'ezswipecontroller' tag


Registry Refactor

The configuration methods in the registry class are getting a little unwieldy. Perhaps have top level properties that will drown into the operations for ex.
Blueprints
              .Add(...)
              .Add(...)

Properties
              .Omit(...)
              .ConstructUsing(..)

Constants
              .ThrowOnRecursion(true)
              .EnumerableCount(5)

Fix misspellings in Settings Recurssion, Enumuerable etc.


deps: Upgrade jest-expo to 42.1.0, the latest.

This is a bump of two major versions. Nothing seems to go wrong (and if it did, I'd expect it to only affect Jest tests, and those still all pass). But in addition to removing a hack described in the commit message, this will let us iron out any wrinkles from those major version bumps soon, so we don't have to deal with them at the time of upgrading to a potential newer version that has explicit RN v0.64 support, with something like expo/expo#13549, for #4426.

Also, this bit of output from git log --stat is nice:
 yarn.lock    | Bin 549096 -> 512179 bytes

LGTM, thanks!
There's a rebase conflict in yarn.lock, and I'm getting puzzling results when I try to resolve it.

First, I tried using yarn's feature for this: on hitting the conflict, ran yarn, then continued the rebase.
Then, I tried the direct approach: take just the package.json change atop current master, and run yarn from there.

With either of those, I found that yarn.lock ended up with two versions of @expo/config-plugins: a 2.0.4, and a 3.0.7. Your PR branch has only a 3.0.7. (Before the branch, it's two versions 1.0.33 and 3.0.6.)
Having just one config sounds like a good thing. Here's from yarn why @expo/config-plugins:
=> Found "<EMAIL_ADDRESS>info Has been hoisted to "@expo/config-plugins"
info Reasons this module exists
   - Hoisted from "expo-apple-authentication#@expo#config-plugins"
   - Hoisted from "expo-screen-orientation#@expo#config-plugins"
   - Hoisted from "react-native-unimodules#expo-file-system#@expo#config-plugins"

=> Found "@expo/config#<EMAIL_ADDRESS>info This module exists because "jest-expo#@expo#config" depends on it.

=> Found "expo-constants#<EMAIL_ADDRESS>info Reasons this module exists
   - "react-native-unimodules#expo-constants#@expo#config" depends on it
   - Hoisted from "react-native-unimodules#expo-constants#@expo#config#@expo#config-plugins"

(Hmm, so I guess it's actually three versions, though 3.0.6 vs 3.0.7 is probably fine.)
Would you try to reproduce whatever you did to get the yarn.lock changes you got here the first time? :slightly_smiling_face:

I'm away from my computer right now, but from that output it looks like our recent upgrade of react-native-unimodules might be a factor.

I'm away from my computer right now, but from that output it looks like our recent upgrade of react-native-unimodules might be a factor.

Hmm OK and react-native-unimodules looks like it was deprecated 2 hours ago; they're saying we should use expo-modules-core instead: https://github.com/expo/expo/tree/master/packages/react-native-unimodules

Hoping to get more clarification here: expo/expo#14048 (comment) 🙂

Hmm, and it looks like that migration is still in progress on Expo's end.
@gnprice, in your comment here—

Having just one config sounds like a good thing.

—had you been seeing an error, or do you think it could be OK to go ahead with this PR without doing anything with react-native-unimodules or expo-modules-core?

Just rebased. Now there's just two (after running yarn yarn-deduplicate && yarn):
$ yarn why @expo/config-plugins
yarn why v1.22.10
[1/4] 🤔  Why do we have the module<EMAIL_ADDRESS>[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
=> Found "<EMAIL_ADDRESS>info Has been hoisted to "@expo/config-plugins"
info Reasons this module exists
   - Hoisted from "expo-apple-authentication#@expo#config-plugins"
   - Hoisted from "expo-screen-orientation#@expo#config-plugins"
   - Hoisted from "jest-expo#@expo#config#@expo#config-plugins"
   - Hoisted from "react-native-unimodules#expo-file-system#@expo#config-plugins"
info Disk size without dependencies: "2.45MB"
info Disk size with unique dependencies: "4.49MB"
info Disk size with transitive dependencies: "7.98MB"
info Number of shared dependencies: 52
=> Found "expo-constants#<EMAIL_ADDRESS>info Reasons this module exists
   - "react-native-unimodules#expo-constants#@expo#config" depends on it
   - Hoisted from "react-native-unimodules#expo-constants#@expo#config#@expo#config-plugins"
info Disk size without dependencies: "1.38MB"
info Disk size with unique dependencies: "3.27MB"
info Disk size with transitive dependencies: "6.81MB"
info Number of shared dependencies: 51
✨  Done in 0.77s.

Well, I'm not entirely sure what @expo/config-plugins does. It sounds like it's providing configuration of some kind -- and if different parts of our dependency tree are working from configurations that don't agree, that seems like a recipe for bugs.
Reading that package's docs -- https://docs.expo.dev/guides/config-plugins/ , following the link at https://www.npmjs.com/package/@expo/config-plugins -- I think it's OK, though. This isn't so much providing configuration of Expo (or of its "plugins"?); rather it's providing some generic building blocks for writing bits of code ("config plugins") that in turn do things to the Expo config. IOW this package is just providing some code to do a job, and the "config" in its name is just because that job happens to relate to manipulating the Expo config.
It'd still be nice for all the different parts of our dependency tree to be using an up-to-date version, but no more so than for any other dependency.
I'll rebase and merge.

Thanks for the review!


User: roles and permissions management page

Main roles and permissions page:
https://www.figma.com/file/AXufBnFAVHvGdsxnQMVhNF/The-Accessibility-Exchange-Wireframes?node-id=1796%3A52675
Edit a member's role and/or project: https://www.figma.com/file/AXufBnFAVHvGdsxnQMVhNF/The-Accessibility-Exchange-Wireframes?node-id=1796%3A52764
Invite new member:
https://www.figma.com/file/AXufBnFAVHvGdsxnQMVhNF/The-Accessibility-Exchange-Wireframes?node-id=1796%3A53694


Rolling task

This PR adds a task for rolling without slipping.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

12 of 29 (41.38%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.8%) to 98.253%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pink/tasks/rolling_task.py
11
28
39.29%

Totals

Change from base Build<PHONE_NUMBER>6:
-0.8%

Covered Lines:
1968

Relevant Lines:
2003

💛  - Coveralls


init no longer works.

$ docsify init .
docsify init <path> [--local] [--theme vue]

Options:
  --help, -h     Show help                             [boolean] [default: true]
  --version, -v  Show version number                                   [boolean]
  --local, -l    Copy docsify files to local.         [boolean] [default: false]
  --theme, -t    Theme file to be used.
             [string] [choices: "vue", "buble", "dark", "pure"] [default: "vue"]

It seems like init is expecting an optional argument or some such - when you run it, it simply prints the help text and doesn't do anything.

@antony This is caused by QingWei-Li/docsify-cli@54567bc, which added --help as a default parameter added to every command. Hence running docsify init (....whatever...) would have the option --help added, which therefore brings up the help menu instead of running the command. A quick fix until this fixed here would be to delete this line:
https://github.com/QingWei-Li/docsify-cli/blob/54567bc/bin/docsify#L75

Fixed in v3.2.0


Whitelist doesn't work in Groupie chats

Hey everybody,
I am new to GitHub, so please Apologize If this ist not the right Place For my question.
Anyway, i added the bot to a group Chat. Said 'hi' to the bot, added the chat-id to the Whitelist (which Works fine with Personal Chats), but i only geht the following msg:
"Hey there, this bot is whitelisted, pls add your chat id to the config file"
Only way ich can make the group Chat work is by disabeling whitelisting.
Am i Missing Something?

Hey,
did you add a "-" before the group id?

Yes! Works Like a Charm! Thanks For the hint, issued closed! ;) And in
General thanks For the GREAT Work!
Btw, one more question, very basic: how do i Stop teleframe once it has
Started (eg for configuration testing)? The development-frontend doesnt
Help me...
LukeSkywalker92<EMAIL_ADDRESS>schrieb am Mo., 16. Dez. 2019,
20:59:

Hey,
did you add a "-" before the group id?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/LukeSkywalker92/TeleFrame/issues/72?email_source=notifications&email_token=AD5PGW6PSLRAJCXQODSERBTQY7MZ7A5CNFSM4J3PHGIKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG746EI#issuecomment-566218513,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD5PGW5F6OBLP6UZQG7Y3ODQY7MZ7ANCNFSM4J3PHGIA
.

Just use the pm2 commands:
pm2 start TeleFrame
pm2 stop TeleFrame
pm2 restart TeleFrame

But when you change something in the config, it should automatically restart.


Add JSDoc clarification for cookie functions

There was none beforehand.

Actually, the branch can't be updated. Will instead just add to main and make a new build branch.

Yeah, was intending to do that in a few minutes anyway.

Too bad, I did it first :P b6f464b4addb43b2a49926c326558c9d50547c89


Can I ask you something about soundfonts?

there is two soundfonts made by NyxTheShield u know
one is for FL studio directwave, other one is for sforzando
i wonder why you use sforzando instead of directwave
is that better than directwave?
i am sorry that i am not good at english

I realized that it was simply a difference of taste.


KAFKA-10289 fix failed connect_distributed_test.py (ConnectDistribute…

issue: https://issues.apache.org/jira/browse/KAFKA-10289
In Python 3, filter functions return iterators rather than list so it can traverse only once. Hence, the following loop only see "empty" and then validation fails.
        src_messages = self.source.committed_messages() # return iterator
        sink_messages = self.sink.flushed_messages()) # return iterator
        for task in range(num_tasks):
            # only first task can "see" the result. following tasks see empty result
            src_seqnos = [msg['seqno'] for msg in src_messages if msg['task'] == task]

reference: https://portingguide.readthedocs.io/en/latest/iterators.html#new-behavior-of-map-and-filter
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@hachikuji Could you take a look? I have test this patch on my local. It pass.
command
docker rm -f ducker01 ducker02 ducker03 ducker04 ducker05 ducker06 ducker07 ducker08 ducker09 ducker10 ducker11 ducker12 ducker13 ducker14 \
; export _DUCKTAPE_OPTIONS="--subset 0 --subsets 2" \
&& TC_PATHS="tests/kafkatest/tests/connect/connect_distributed_test.py" /bin/bash tests/docker/run_tests.sh

result
SESSION REPORT (ALL TESTS)
ducktape version: 0.8.0
session_id:       2020-12-06--005
run time:         35 minutes 42.481 seconds
tests run:        30
passed:           30
failed:           0
ignored:          0

command
docker rm -f ducker01 ducker02 ducker03 ducker04 ducker05 ducker06 ducker07 ducker08 ducker09 ducker10 ducker11 ducker12 ducker13 ducker14 \
; export _DUCKTAPE_OPTIONS="--subset 1 --subsets 2" \
&& TC_PATHS="tests/kafkatest/tests/connect/connect_distributed_test.py" /bin/bash tests/docker/run_tests.sh

result
SESSION REPORT (ALL TESTS)
ducktape version: 0.8.0
session_id:       2020-12-06--003
run time:         29 minutes 57.771 seconds
tests run:        30
passed:           30
failed:           0
ignored:          0


Welcome throws an error on startup

Firstly, wow! 😮 Onivim 2 is truly awesome and I can't believe how fast it's coming along since I last checked in. 🥳
I've noticed one small nuisance issue that doesn't affect the functionality, but figured it still should be logged to be squashed during the alpha/beta.

Version details

Version: <IP_ADDRESS>
Date: 26/07/2020, 14:56:37
Commit: db138d76

OS details

macOS Catalina 10.15.6

Error message

[ERROR]  +134ms Oni2.Service.FileWatcher : 'oni://Welcome': no such file or directory
[ERROR]  +303ms Oni2.Extension.ClientStore : {"$isError":true,"name":"Error","message":"Assertion failed (active editor 'onivim.editor:0' does not exist)","stack":"Error: Assertion failed (active editor 'onivim.editor:0' does not exist)\n\tat Object.ok (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/common/assert.js:14:19)\n\tat ExtHostDocumentsAndEditors.$acceptDocumentsAndEditorsDelta (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/api/common/extHostDocumentsAndEditors.js:79:28)\n\tat RPCProtocol._doInvokeHandler (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:336:31)\n\tat RPCProtocol._invokeHandler (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:321:49)\n\tat RPCProtocol._receiveRequest (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:248:36)\n\tat RPCProtocol._receiveOneMessage (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:176:30)\n\tat /Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:66:56\n\tat Emitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/common/event.js:457:42)\n\tat BufferedEmitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:362:35)\n\tat /Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/node/extensionHostProcessSetup.js:145:41\n\tat Emitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/common/event.js:457:42)\n\tat BufferedEmitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:362:35)\n\tat PersistentProtocol._receiveMessage (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:581:37)\n\tat /Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:455:83\n\tat Emitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/common/event.js:457:42)\n\tat ProtocolReader.acceptChunk (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:188:37)\n\tat /Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:157:61\n\tat Socket.listener (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/node/ipc.net.js:17:40)\n\tat Socket.emit (events.js:315:20)\n\tat addChunk (_stream_readable.js:295:12)\n\tat readableAddChunk (_stream_readable.js:271:9)\n\tat Socket.Readable.push (_stream_readable.js:212:10)\n\tat Pipe.onStreamRead (internal/stream_base_commons.js:186:23)"}
[ERROR]  +0ms Oni2.Extension.ClientStore : {"$isError":true,"name":"Error","message":"Assertion failed (document 'file:///oni%3A//Welcome' does not exist)","stack":"Error: Assertion failed (document 'file:///oni%3A//Welcome' does not exist)\n\tat Object.ok (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/common/assert.js:14:19)\n\tat ExtHostDocumentsAndEditors.$acceptDocumentsAndEditorsDelta (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/api/common/extHostDocumentsAndEditors.js:71:32)\n\tat RPCProtocol._doInvokeHandler (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:336:31)\n\tat RPCProtocol._invokeHandler (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:321:49)\n\tat RPCProtocol._receiveRequest (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:248:36)\n\tat RPCProtocol._receiveOneMessage (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:176:30)\n\tat /Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/common/rpcProtocol.js:66:56\n\tat Emitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/common/event.js:457:42)\n\tat BufferedEmitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:362:35)\n\tat /Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/workbench/services/extensions/node/extensionHostProcessSetup.js:145:41\n\tat Emitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/common/event.js:457:42)\n\tat BufferedEmitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:362:35)\n\tat PersistentProtocol._receiveMessage (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:581:37)\n\tat /Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:455:83\n\tat Emitter.fire (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/common/event.js:457:42)\n\tat ProtocolReader.acceptChunk (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:188:37)\n\tat /Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/common/ipc.net.js:157:61\n\tat Socket.listener (/Applications/Onivim2.app/Contents/Resources/node/node_modules/@onivim/vscode-exthost/out/vs/base/parts/ipc/node/ipc.net.js:17:40)\n\tat Socket.emit (events.js:315:20)\n\tat addChunk (_stream_readable.js:295:12)\n\tat readableAddChunk (_stream_readable.js:271:9)\n\tat Socket.Readable.push (_stream_readable.js:212:10)\n\tat Pipe.onStreamRead (internal/stream_base_commons.js:186:23)"}

How to reproduce

Onivim2 will startup successfully and display the welcome page however this error appears everytime you start the editor. For testing, I've tried a clean slate load with no extensions or user configuration and the error still appears.
oni2 -f --quiet --disable-extensions --disable-configuration .

Thanks again for this awesome project!
:wq 😁

It looks like we don't have a guard on the FileWatcher to ignore Oni2 specific UI files. (The Welcome screen is given a path since I think it is technically a Vim buffer as well?)
I think if we updated the filetype setting stuff I've been messing with, we could parse the filetype into say oni2-welcome etc, or just oni2/oni2-ui etcetc and then have a guard in a few places to ignore these sorts of files.

I think if we updated the filetype setting stuff I've been messing with, we could parse the filetype into say oni2-welcome etc, or just oni2/oni2-ui etcetc and then have a guard in a few places to ignore these sorts of files.

Good point! We should ignore these files, the language server can't really do anything.
I noticed that we also hit this if we specify a file to open - like oni2 test.js. It turns out we're trying to send a content-change/buffer update to the extension host, before it ever gets initialized - so we end up not getting language features for that first file. I think what we'll need to do is ensure that the extension host is initialized, prior to turning on our subscriptions.

Recently tried onivim2 nightly and stable again, on Fedora 34.
[INFO]  [ 0.327s] Exthost.Transport : Pipe bound successfully.
[INFO]  [ 0.338s] Oni2.Service.Font : Loading font: JetBrainsMono-Regular.ttf Normal 14.000000 1
[INFO]  [ 0.346s] Revery.FontCache : Loaded: JetBrains Mono
[INFO]  [ 0.349s] Revery.FontCache : Loaded: JetBrains Mono
[INFO]  [ 0.350s] Oni2.Service.Font : Loading font: JetBrainsMono-Regular.ttf Normal 14.000000 1
[ERROR] [ 0.350s] Oni2.Service.FileWatcher : 'oni://Welcome': no such file or directory
[INFO]  [ 0.350s] Core.SubEx : Reloading json file (Feature_Input.KeybindingsLoader): /home/luke/.config/oni2/keybindings.json
[INFO]  [ 0.350s] Core.SubEx : Reloading json file (Feature_Configuration.ConfigurationLoader): /home/luke/.config/oni2/configuration.json
[INFO]  [ 0.351s] Oni2.Store.dispatch : dispatch: (Syntax ServerStarted)
[INFO]  [ 0.351s] Oni2.Syntax.Client : Notifying theme changed.
[INFO]  [ 0.351s] Oni2.Syntax.Client : Notifying treeSitter changed: false
[INFO]  [ 0.351s] Oni2.Store.dispatch : dispatch: (FileExplorer
   (Feature_Explorer.FileExplorer (Model.ActiveFilePathChanged <opaque>)))
[INFO]  [ 0.351s] Oni2.Store.dispatch : dispatch: (AutoUpdate (Service (AutoCheckChanged true)))
[INFO]  [ 0.351s] Oni2.Store.dispatch : dispatch: (AutoUpdate (Service (ReleaseChannelChanged "stable")))
[INFO]  [ 0.351s] Oni2.Store.dispatch : dispatch: (Input Feature_Input.KeybindingsReloaded {bindings = <opaque>; errors = []})
[INFO]  [ 0.351s] Oni2.Store.dispatch : dispatch: (Configuration
   UserSettingsChanged {config = <opaque>; legacyConfiguration = <opaque>})

oni.log


Add Procedural Env Map Helper?

Add an option / shader for more easily generating a procedural env map and a demo that shows the sun, etc. It could be generated on the GPU, copied to the CPU, and then used as an envmap.

https://threejs.org/examples/?q=sky#webgl_shaders_sky can this example generate hdr image ?


[Bug Report] AsyncPoolSink may lose the last log records and panic on program exit

Context: #63

Minimum reproducible example
use std::sync::Arc;

use spdlog::{
    prelude::*,
    sink::{AsyncPoolSink, FileSink},
};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    const LOG_FILE: &str = "/tmp/async_file_sink.log";

    let file_sink = Arc::new(FileSink::builder().path(LOG_FILE).truncate(true).build()?);
    let async_pool_sink = Arc::new(AsyncPoolSink::builder().sink(file_sink).build()?);

    let logger = Arc::new(Logger::builder().sink(async_pool_sink).build()?);
    logger.set_flush_level_filter(LevelFilter::All);
    spdlog::set_default_logger(logger);

    info!("hello async_pool_sink");

    // Workaround, adding these 2 lines at the end of `main` function
    //
    // std::thread::sleep(std::time::Duration::from_millis(100));
    // spdlog::default_logger().flush();

    Ok(())
}

Expected to see a log record in /tmp/async_file_sink.log but nothing there.
A guess is because the main function returns before AsyncPoolSink receives the last log task.

Another problem is that if we don't explicitly flush at the end, flush will be called in the atexit callback on program exit then there is a probability of panic.
thread '<unnamed>' panicked at library/std/src/thread/mod.rs:713:35:
use of std::thread::current() is not possible after the thread's local data has been destroyed
stack backtrace:
   0: rust_begin_unwind
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
   2: core::panicking::panic_display
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:178:5
   3: core::panicking::panic_str
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:152:5
   4: core::option::expect_failed
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/option.rs:1985:5
   5: core::option::Option<T>::expect
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/option.rs:894:21
   6: std::thread::current
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:713:35
   7: crossbeam_channel::waker::current_thread_id::THREAD_ID::__init
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossbeam-channel-0.5.11/src/waker.rs:280:38
   8: crossbeam_channel::waker::current_thread_id::THREAD_ID::__getit::{{closure}}
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/common/thread_local/fast_local.rs:99:25
   9: std::sys::common::thread_local::lazy::LazyKeyInner<T>::initialize
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/common/thread_local/mod.rs:54:25
  10: std::sys::common::thread_local::fast_local::Key<T>::try_initialize
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/common/thread_local/fast_local.rs:190:27
  11: std::sys::common::thread_local::fast_local::Key<T>::get
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/common/thread_local/fast_local.rs:173:25
  12: crossbeam_channel::waker::current_thread_id::THREAD_ID::__getit
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/common/thread_local/fast_local.rs:91:21
  13: std::thread::local::LocalKey<T>::try_with
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/local.rs:269:32
  14: crossbeam_channel::waker::current_thread_id
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossbeam-channel-0.5.11/src/waker.rs:283:5
  15: crossbeam_channel::waker::Waker::try_select
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossbeam-channel-0.5.11/src/waker.rs:83:29
  16: crossbeam_channel::waker::SyncWaker::notify
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossbeam-channel-0.5.11/src/waker.rs:224:17
  17: crossbeam_channel::flavors::array::Channel<T>::write
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossbeam-channel-0.5.11/src/flavors/array.rs:226:9
  18: crossbeam_channel::flavors::array::Channel<T>::send
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossbeam-channel-0.5.11/src/flavors/array.rs:343:40
  19: crossbeam_channel::channel::Sender<T>::send
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/crossbeam-channel-0.5.11/src/channel.rs:437:42
  20: spdlog::thread_pool::ThreadPool::assign_task
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/spdlog-rs-0.3.13/src/thread_pool.rs:68:38
  21: spdlog::sink::async_sink::async_pool_sink::AsyncPoolSink::assign_task
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/spdlog-rs-0.3.13/src/sink/async_sink/async_pool_sink.rs:60:9
  22: <spdlog::sink::async_sink::async_pool_sink::AsyncPoolSink as spdlog::sink::Sink>::flush
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/spdlog-rs-0.3.13/src/sink/async_sink/async_pool_sink.rs:81:9
  23: spdlog::logger::Logger::flush_sinks::{{closure}}
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/spdlog-rs-0.3.13/src/logger.rs:404:31
  24: <core::slice::iter::Iter<T> as core::iter::traits::iterator::Iterator>::for_each
             at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/slice/iter/macros.rs:254:21
  25: spdlog::logger::Logger::flush_sinks
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/spdlog-rs-0.3.13/src/logger.rs:403:9
  26: spdlog::logger::Logger::flush
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/spdlog-rs-0.3.13/src/logger.rs:160:9
  27: spdlog::flush_default_logger_at_exit::handler
             at ~/.cargo/registry/src/index.crates.io-6f17d22bba15001f/spdlog-rs-0.3.13/src/lib.rs:656:13
  28: <unknown>
  29: exit
  30: <unknown>
  31: __libc_start_main
  32: _start
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
fatal runtime error: failed to initiate panic, error 5
fish: Job 1, 'RUST_BACKTRACE=1 cargo run' terminated by signal SIGABRT (Abort)

This might be a bit hard to fix (the reason may be related to signal-safety, see https://github.com/SpriteOvO/spdlog-rs/pull/18#issuecomment-1627784367), but it shouldn't happen and is worth mentioning here and giving it a try.

Fixed in PR #66.


[pocket] Dock has flickering lines

Version (or build number)
1.0.0
Platform (Pocket or MiSTer)
Pocket
Steps to reproduce

Open core
Connect Pocket to Dock

Expected Behavior
A solid picture without flickering
Actual Behavior
Every couple of lines are flickering by one pixel offset in X
Additional Context
No response

I imagine priority to fix this has been fairly low due to lack of general interest. But I'd like to stream/record this core, and those lines aren't so pleasant. A fix would be awesome 😅

Ah, for clarity, this isn't my bug. This is an issue with certain resolutions and how the Dock is handled in the firmware. This is present across multiple cores, and I first reported it about a year ago. Not sure why it hasn't been fixed yet.
Sorry


No way currently to get bounds of room in roomscale VR.

There is currently no method to get the points relative to origin that define the size of the play area.

That is the way we do this in the OpenVR plugin.
For OpenXR in Godot 3 we should add a method to obtain the bounds to the OpenXRConfig object and implement a similar method that we mark the bounds as dirty if changed, than retrieve new data if required on requesting the bounds. We should also store these without reference frame and scaling applied so we can reuse the data when requested as a result of changing either.
Note that in Godot 4 we've added a template API that needs to be implemented by the plugin:
https://github.com/godotengine/godot/pull/49942

This is resolved through https://github.com/GodotVR/godot_openxr/pull/133


Feature Idea: use plum dispatch to clean up requests

Feature report:
Plum dispatch could help clean up the request code significantly and  is maintained by beartype :)

No.


cache: improve docs

I had some confusion while reading this document and found some explanations from @ncw in a few issues that clarified.

Yes that makes even more sense. Maybe we can use markdown to link it to the
directive elsewhere in the document.
On Thu, Jul 26, 2018, 5:39 PM Fabian Möller<EMAIL_ADDRESS>wrote:

@B4dM4n commented on this pull request.
Thank you for helping to improve the documentation.
I put an inline comment to maybe clarify the meaning of this part even
more.
In docs/content/cache.md
https://github.com/ncw/rclone/pull/2417#discussion_r205609447:

@@ -133,7 +133,7 @@ to the cloud provider without interrupting the reading (small blip can happen th

Files are uploaded in sequence and only one file is uploaded at a time.
Uploads will be stored in a queue and be processed based on the order they were added.
-The queue and the temporary storage is persistent across restarts and even purges of the cache.
+The queue and the temporary storage is persistent across restarts and can purge the cache on startup.
I'm still not sure if I get the full meaning of this sentence.
Does the sentence express that the queue and temporary storage can be
cleared at the start by using --cache-db-purge?
If this is the case then the following wording would make it clearer to me:
... persistent across restarts, but can be cleared on startup with
--cache-db-purge.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ncw/rclone/pull/2417#pullrequestreview-140917261, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC8Kk6XcxcxCINlpE2R_VU9aeElR9IkVks5uKjcYgaJpZM4ViZNv
.

I've merged this with @B4dM4n 's suggestion in 5eba392a04c1e549287bb8739ee3b2f0392316ca
Thank you for clarifying the docs - it is very helpful :-)


Quick suggestion is not showing properties

Does this issue occur when all extensions are disabled?: No
Extension used

Angular Language Service
Angular Snippets (Version 18)
ESLint
Prettier - Code formatter
Todo Tree

Tried every single extension and problem seems to appear when Angular Language Service is enabled

VS Code Version: 1.96.0 (system setup)
OS Version: Windows 10.0.19046 Build 19045

Steps to Reproduce:

When open pharenteses properties are not showed inside suggestions, but only common used words (typescript file)

I am not able to put all the code, but I found the problem that causes the issue on the quick suggestions.
It seems that starting from the first occurrence inside the file when I use backtick (see first screenshot) it cause the malfunction of quick suggestion. Below I will report more screenshots. The ones above the backtick suggestion works fine, others below backtick don't work as expected.
This is the first occurrence of backtick inside my .ts file

Quick suggestion above backtick with only declared methods and properties :heavy_check_mark:
Methods reported as expected

Properties reported as expected

Quick suggestion below backtick with unexpected behavior. Clear difference with above and showed common words used inside the file :x:
Methods NOT reported as expected

Properties NOT reported as expected

Final question. Is this caused because Intellisense thinks that I'm also using HTML code inside .ts file?

I am not able to put all the code, but I found the problem that causes the issue on the quick suggestions.

We cannot act on screen capture, please extract a minimal sample which is independent of your project

`
// Core
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
template: ``
})
export class AppComponent {
private property = 'doe';
private method(): void {
// Here suggestion works well
console.log(`${this.property}`);
// Here not anymore
}
}
`

What language is this?

What language is this?

Typescript

Can you reproduce with the angular extensions?

Without angular extension is working fine

Sorry, in that case you need to reach out to the authors of the extension.


🐛 Resource already exists and the UID is different should not requeue

What this PR does / why we need it:
If the queue is not dequeued so early, the abnormal tasks will continue to accumulate until they exceed the maximum number of retries MaxReconcileRetryAttempts will be discarded.
So, when the DWS synchronization resource is encountered but its delegated object UID is different in the reconcileXXXCreate process, it should not re-enter the queue, because the event will also not be processed in the subsequent process.
Which issue(s) this PR fixes:
Fixes #293

@wondywang I think it is ok to have retry if UID mismatch, otherwise if user deletes->creates the resource with the same name in VC and the order happens is create->delete in the super cluster, the new resource may take 1 min to be created in super after the patroller clear the stale one in the super cluster.
Also, this change does not resolve the problem that the patroller will delete the Kube-root-ca cfgmap in the super cluster periodically (although the cfgmap will be created automatically again).  Note that Issue #293 and #282 are related since the Kube-root-ca is part of the projected service account. So here is my suggestion:

Add a feature gate for supporting projected service account;
As a temporal solution, in cfgmap DWS, add a whitelist to skip the cfgmap with name "Kube-root-ca" (using the feature gate to provide backward compatibility since user may create a cfgmap with this name before 1.20);
Also change the cfgmap patroller to skip the "Kube-root-ca" cfgmap;

Later, we can add code to fully support the projected service account.
What do you think?

Thanks @Fei-Guo , now I know I the retry is neede. Meanwhile, a whitelist may be a good temporal solution for "kube-root-ca". Then, in the end, we have to plan how to support the projected service account.
So, I will close this PR.


[locale] update MathJax.js

Cf. https://github.com/mathjax/MathJax/pull/1604#issuecomment-242829835

I noticed that lki had not been added last time around.
There are two more locales (Chechen, Welsh) that are present in the core repo but far from the 40% completion threshold we use today (4% and 7% respectively); I would not add them to MathJax.js at this time.

==> Merged


interfaces: Can't cast if method name matches struct name on embedded struct

What version of Go are you using (go version)?

$ go version
go version go1.20.3 darwin/arm64

Does this issue reproduce with the latest release?
Yes (reproduced on go playground)
What operating system and processor architecture are you using (go env)?
Irrelevant, reproduced on go playground.
What did you do?
package main

import (
	"errors"
	"fmt"
)

type errorReporter interface {
	error
	report() string
}

type reportWrapped struct {
	*report
}

type report struct {
	error
}

func (c *report) report() string { return "" }

type customErrorWrapped struct {
	*customError
}

type customError struct {
	error
}

func (c *customError) report() string { return "" }

func main() {
	{
		var err error = &customError{errors.New("foo")}
		_, ok := err.(errorReporter)
		fmt.Printf("Custom: %v\n", ok)
	}

	{
		var err error = &customErrorWrapped{&customError{errors.New("foo")}}
		_, ok := err.(errorReporter)
		fmt.Printf("Wrapped Custom: %v\n", ok)
	}

	{
		var err error = &report{errors.New("foo")}
		_, ok := err.(errorReporter)
		fmt.Printf("Report: %v\n", ok)
	}

	{
		var err error = &reportWrapped{&report{errors.New("foo")}}
		_, ok := err.(errorReporter)
		fmt.Printf("Wrapped Report: %v\n", ok)
	}
}

See: https://go.dev/play/p/NGI2vPyYymd
What did you expect to see?
All of the prints should print a true.
What did you see instead?
The last one is false. The only difference between this one and the second one is that the struct name and the method name are identical.

Trying to assign it to an errorReporter gives:
./prog.go:53:27: cannot use &reportWrapped{…} (value of type *reportWrapped) as errorReporter value in variable declaration: *reportWrapped does not implement errorReporter (*reportWrapped.report is a field, not a method)

The *report embed field overrides the promoted method.
I was not able to find a description of promotion precedence in the spec.
I guess this is implicit from:

A field or method f of an embedded field in a struct x is called promoted if x.f is a legal selector that denotes that field or method f.

Because reportWrapped.report already exists it wouldn't be legal to promote the method, however this line of thinking does not explain why if multiple embeded fields have conflicting selector neither is promoted.
But I'm not sure, this could be red multiple ways.

See https://go.dev/ref/spec#Selectors:

For a value x of type T or *T where T is not a pointer or interface type, x.f denotes the field or method at the shallowest depth in T where there is such an f. If there is not exactly one f with shallowest depth, the selector expression is illegal.

See go.dev/ref/spec#Selectors:

For a value x of type T or *T where T is not a pointer or interface type, x.f denotes the field or method at the shallowest depth in T where there is such an f. If there is not exactly one f with shallowest depth, the selector expression is illegal.

Wouldn't that mean that both wrapped errors should've failed to match the interface? The code I shared only fails to cast if the method name matches the struct name.

The name of the embedded field is what clobbers the method. (reportWrapped.report is a field name, so it can't also be a method name: the two kinds of names share a single “selector” namespace.)

I think that inside of you interface you have something like this :
interface [
        error
   ->	report() string                 //have the same name so go find this like a nil type func() value
        reportWrapped struct
    -> report struct                   //have the same name unknow for go
        customErrorWrapped struct
        .....

Ahhh of course! Obvious in retrospect, not so much when I was running into it. Thanks guys!


Regression about customView

The customView parameter was working in version 1.0.0, but it's not working anymore in version 1.1.0.
The custom view is simply not showed.

I will check it and upload an update soon

--fixed in `1.1.11

Solved! Thank you!


RFC number described in README.md is wrong.

I think the RFC number of NETCONF is RFC6241 https://datatracker.ietf.org/doc/html/rfc6241 .
RFC2641 is described in README.md.

Fixed, Thanks!

Thank you for quick update. By the way sitll, "RFC2641" is remained in About of this repository.


How are tests run? Can we integrate it inside "npm tests"?

In Etherpad, a while ago I integrated the command for running backend tests in package.json, so that they can be run via npm tests.
What is the command for running tests on ueberDB? I could do the same here.

No idea, I tried to do that earlier today and just ended up doing it the old fashioned way of running the Etherpad backend tests against each backend.

Ok thanks.

npm test now works.


support visionOS via CocoaPods

[!] The platform of the target App visionOS (visionOS 1.0) is not compatible with Kingfisher (7.10.2), which does not support visionOS.

I believe it just needs to uncomment these https://github.com/onevcat/Kingfisher/blob/master/Kingfisher.podspec#L34-L35
Before an official upgrade can be made, you can also try to fork and edit it temporarily for a while.

I am having a pod lib linter error, which prevents me from releasing a tag and publish the pod spec.
Seems we need to wait for the next CocoaPods version to get it.
Ref: https://github.com/CocoaPods/CocoaPods/pull/12159 (which is in the master branch, but not yet released.)


Provide documentation for zero-initalization-safe containers.

Seems like the array container is safe to be zero-initialized (as a global varable for example). It would be nice to explicitly state this in the documentation, as it may not be actually convenient to initalize global variables at some circumstances.

I am not sure it is a good thing to provide such strong specification.
In case of incompatible change in the future, the user application would be broken (such strong specifications are what prevent improvement of the STL). Moreover only a few containers support then (array & linked list).
I have a few questions thus:

In fact, your real need is to automatically initialize & clear a global variable?
When & How do you perform the free of this global variable?

I can imagine a macro M_LET_GLOBAL( ...) that will initialize & clear a global variable, but I cannot make it works if it isn't GCC (or compatible - using attributes constructor / destructor) or C++ (using classic constructor / destructor). And I am not fond of functionality that only works with only one class of compiler (it is ok to optimize for one however but a compatible fallback shall be available).

I see your points and they are valid. If there is still would have to be a finalizing function, it's better to provide an initializing one anyway. I wouldn't rely on any compiler specific functionality also.

I have found a case, that I would suggest as important, optimization-wise. Sometimes it is simpler to zero-initialize your own struct with memset. Perhaps, it saves some cycles not to be forced to call array_init functions, if the struct has many of those. What do you think?

This technique is a little bit unsafe. you'll even get warnings with this with C++ compilers and I wouldn't be surprised if C compilers introduce such warnings. It is unsafe if the structure has any float.
Moreover, you'll only get a modest speed-up if your structure is big, and it may even bit slower for small structure if the compiler is not smart enough. It may still provide gain in the executable size  but still it won't be much. It is also easier to add a new member in it. But I don't think there are a lot of such kind of structures (with many of arrays).

Fair enough. The floats can get tricky with memsetting. However, the zero-initialization-safe structures (POD-style) can still benefit, including those, defined with a M_POD_OPLIST, since you can be sure that this OPLIST is safe to use for them. What to do you think?

To sum it up, explicitly stating (standardizing) the zero-safety of some of the containers in the documentation would clear things up for the user, whenever he wants those things to be clear =)

I think such a standardization would be good for some designs, in particular one when you want to share some containers in some shared memory (like POSIX shared memory) to communicate fast and quickly between process. But such a need will need a dedicate container (in particular one providing atomic transactions and pointer free).

Good point, a dedicated zero-free and even pointer-free container is a fine (fine-grained actually) feature to have.
Sorry for delay. I'm back in business, man. Saw you've removed the issues as I've failed to review them in time. I'm still gonna do it in near future.
Thanks again for your work.

ARRAY_INIT_VALUE(), LIST_INIT_VALUE() & LIST_DUAL_PUSH_INIT_VALUE() have been added in the master branch,
allowing to initialize global variables of array type (as requested in the ticket).


GoInstallBinaries does not install gopls

:GoInstallBinaries does not install gopls, because it tries to install gopls@latest@latest
In lua/go/config.lua:
{ name = 'gopls', src = 'golang.org/x/tools/gopls@latest' }

In lua/go/install.lua, in build_cmd():
src = tool.src .. '@latest'

Dropping the @latest in config.lua fixes the installation.

@assistcontrol hello, which go version does you use?

@assistcontrol hello, which go version does you use?
For, go 1.17+, it's go install golang.org/x/tools/gopls@latest. Otherwise, it's go get golang.org/x/tools/gopls.

I'm using 1.17.16
The problem is that it isn't installing go install golang.org/x/tools/gopls@latest, it's trying to run go install golang.org/x/tools/gopls@latest@latest which fails.

@assistcontrol hello, which go version does you use?
For, go 1.17+, it's go install golang.org/x/tools/gopls@latest. Otherwise, it's go get golang.org/x/tools/gopls.

I'm using 1.17.6 (go version go1.17.6 darwin/amd64).
The problem is that it isn't installing go install golang.org/x/tools/gopls@latest, it's trying to run go install golang.org/x/tools/gopls@latest@latest which fails.

Thanks for your explanation.


Join instabot team and get perms

Hi,
I really like this repo and I wanted to know if i could join the instabot team and get perms to help fix stuff and mod issues.

Sure. Contact me: t.me/okhlopkov


Fix release date for KubeOne 1.7.1

What this PR does / why we need it:
KubeOne 1.7.1 is actually going out today, not yesterday
What type of PR is this?
/kind documentation
Does this PR introduce a user-facing change? Then add your Release Note here:
NONE

Documentation:
NONE

/assign @kron4eg @ahmedwaleedmalik

/cherrypick release/v1.7

/lgtm
/approve


3D model picks up some background image?

Hi Patrick,
In the attached example: I dont understand why a portion of the green background is overlaid on the model. I am attaching dlib output, input image and output image. Any ideas?

You can display the fitted mesh with the draw_wireframe function, this will give you an idea of the final fitting and where the texture will be extracted from. There's only very little background extracted in your example, but in general this can happen because of imprecise landmarks (for example your landmarks are not very precise around the chin). We're doing a least-squares fit, fitting to all landmarks, so on some landmarks it'll usually be a couple of pixels off. The wireframe will show you.
Also you can avoid this somewhat by rejecting regions on the texture which are close to being occluded (i.e. facing away more than 60° from the user or so). The extract_texture has a parameter compute_view_angle for that.

Can this be closed? Did you make any progress? As mentioned above, it's not any software bug or issue.

Hi Patrick,
Yes - this can be closed. I managed to reduce it, but could not eliminate it as a generic solution.
Is there a way to mirror one side of the face to the other in case one side has lesser holes than the other.
thanks,

On Mar 5, 2017, at 9:26 AM, Patrik Huber<EMAIL_ADDRESS>wrote:
Can this be closed? Did you make any progress? As mentioned above, it's not any software bug or issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/patrikhuber/eos/issues/100#issuecomment-284245117, or mute the thread https://github.com/notifications/unsubscribe-auth/AK2LF-seGOYmdUvJ0pg5X-ScePi-zN3Xks5rivBPgaJpZM4Lzvvs.

Ok, cool! I'll close this then.
Yes, of course you can mirror, for example you can mirror the texture map. You probably want to do some blending afterwards, as usually the two sides are lit quite differently and this creates visible artifacts.

Hi @manish-grafty,
I am curious what software/library did you use to visualize the 3D model you posted above?
Thanks,
Junjie

@jjjjohnson You can use MeshLab or Blender - I'd recommend MeshLab for a beginner. (It looks like in the screenshot above, something else was used though).

Thanks a lot! @patrikhuber
I am wondering how to save the isomap and mesh into a file so that the MeshLab can open it.
(mesh, pose, shape_coeffs, blendshape_coeffs) = eos.fitting.fit_shape_and_pose(model, blendshapes,
            landmarks, landmark_ids, landmark_mapper, w, h, edge_topology, contour_landmarks, model_contour)

isomap = eos.render.extract_texture(mesh, pose, img

eos::core::write_textured_obj(...) is your friend. I think there's an example of it in fit-model.cpp.

Hi @patrikhuber Thanks for the prompt reply.
However, I think mesh only represent the 3d shape(3488 vertices) which does not have the color information as show in the picture above. So I assume I also need a isomap file to reconstruct the 3d model.

@jjjjohnson Just look at the example... it stores the texture as well.

Hi @patrikhuber I managed to use mashLab to visualize the 3d face w/ merged_isomap. Thanks a lot!!! However I am using mesh only from one picture while using merged_isomap. Is it possible to merge mesh in Python?
I have reviewed the c++ code but could not figure out what to do in Python:
const Eigen::VectorXf merged_shape =
                    morphable_model.get_shape_model().draw_sample(shape_coefficients) +
                    to_matrix(blendshapes) *
                    Eigen::Map<const Eigen::VectorXf>(blendshape_coefficients.data(), blendshape_coefficients.size());
		const core::Mesh merged_mesh = morphablemodel::sample_to_mesh(merged_shape, morphable_model.get_color_model().get_mean(), morphable_model.get_shape_model().get_triangle_list(), morphable_model.get_color_model().get_triangle_list(), morphable_model.get_texture_coordinates());

@jjjjohnson Sure - you should be able to do that with the Python bindings out of the box. How you merge the shapes is up to you. But the line you highlighted just "assembles" the shape instance (also called sample sometimes). It's just the standard $ S = \mu + ShapeBasis \times \alpha + Blendshapes \times BlendshapeCoefficients $ formula you can find and read more about in 3DMM papers (for example our VISAPP paper).
If you are interested in that then we also offer consulting work for eos on an hourly or project basis - feel free to drop me an email if that is of interest to you.

Thanks @patrikhuber I can calculate merged_shape by just transferring it to python version. But looks like there is no morphablemodel::sample_to_mesh in python such as eos.morphablemodel.sample_to_mesh So I have to define it myself?

@jjjjohnson There's a draw_sample overload in the Python bindings that you can use to get a Mesh from coefficients.

Hi @patrikhuber looks like model.get_shape_model().draw_sample(merged_shape_coefficients) returns the numpy array rather than mesh object. I cannot save it by eos.core.write_textured_obj(combined_mesh, 'mesh.obj'). Could you help me with that?
Thanks a lot!
Junjie

@jjjjohnson Please keep this issue on topic. And the GitHub issues are for library issues - please read the code and documentation. MorphableModel::draw_sample(...) returns a Mesh.


fix: respect LAUNCH_EDITOR env rather than forcing 'code' as default

The user's LAUNCH_EDITOR env is being overwritten by the default launchEditor option. If no launchEditor option is specified it should default to the LAUNCH_EDITOR env value. Currently if launchEditor is not specified, the option is set to "code" and the user's LAUNCH_EDITOR setting is ignored.
This change will respect the user's LAUNCH_EDITOR env by default if no launchEditor option is specified.
This also allows an arbitrary string as a valid launchEditor type, which is a valid option for launch-editor and is needed for custom launch scripts or when editors are installed in non-standard locations.
This fixes https://github.com/vuejs/devtools-next/issues/369

It looks like the type is correct here, but needs to be changed downstream as well. I'll submit a PR there, too.

Thanks for the PR, fixed in https://github.com/vuejs/devtools-next/commit/561726dc9b2b1cc4eff2557db699fd038ad11249


Add ATLAS as a builtin

Given that ATLAS provides a very popular forced photometry service used by transient folks, having its filters would seem appropriate.
It looks like someone has to add the SVO files to http://sncosmo.github.io/data, but otherwise seems straightforward.

@benjaminrose I fixed the line too long I hope.

It looks like you are missing a closing ) in the last commit. But more importantly is that download failed. Are the filters defined somewhere, or do they need to be uploaded to sncosmo.github.io & maintained by SNCosmo?

They are here: http://svo2.cab.inta-csic.es/svo/theory/fps/index.php?id=Misc/Atlas.orange&&mode=browse&gname=Misc&gname2=Atlas
So if they can be pulled over to sncosmo.github.io would be great.

I think I added the needed redirects to the website, https://github.com/sncosmo/sncosmo.github.io/commit/d4c4dca8b7f6c7aadc6b47f48e2be3bff1176ad4.

@benjaminrose And I think I got that parentheses.

@benjaminrose maybe this test just needs to be retriggered?

New builtins need an update to both the code and the website. I tried to update the website in a slightly different, but I hoped more sustainable, way. It seems to not have worked. I’ll update it the old way soon and then the last test should pass.
Once we get that passing, we should be able to merge this PR.

Thanks @benjaminrose !

@benjaminrose Is there anything I can to support getting the tests to pass?

It looks like the last failure was a stochastic one and unrelated to this PR. I'm rerunning the tests now.

LGTM

Thanks @benjaminrose and @kboone !

Thanks @kboone for rerunning it. And I am glad that we can use redirects.json rather than hosting the throughputs ourselves.
@mcoughlin, sorry for taking a while to get back to this PR. Glad it got the attention it needed.


AGS improvements, remove unused dependencies from pom

Add another option for posting scores, add some AGS unit tests/improvements, remove unnecessary dependencies from pom

Nice!!


[Merge] Restore correct optimistic sync status for blocks on startup

Description
Currently all blocks are marked as VALID on startup, but that is not safe if we've been using optimistic sync.  Will need to either store the optimistic sync status to disk or assume they are optimistically synced on startup (if a payload is present).

Potentially need to re-verify TTD is reached if the merge block is in list of blocks at startup.


Add version flag

https://stackoverflow.com/a/11355611/6310633

Doesn't seem easily possible to ensure version info is present when the tool is built via go install.


Wrong parameter coloring in popup window when hovering on function (a: table<KEY_TYPE, VALUE_TYPE>)

Probably related to #483.

Hover reuses lua's coloring, but lua itself does not support such a syntax, so the coloring is wrong. It may be necessary to add a special shading syntax to solve this problem.


[Bug?] Removing a container breaks other containers

Hello there, as I opened up the app for the first time, created a new distrobx after no other boxes where found see: #16 I then created a new box just to test how the app works.
Which lead to #19 and after removing the container my other distrobox containers volumes where all broken.
distrobox-enter
Error: no such container tumbleweed
Creating the container tumbleweed
Creating 'tumbleweed' using image registry.opensuse.org/opensuse/distrobox:latest	Error: creating container storage: the container name "tumbleweed" is already in use by a1b7b5887b84d7d92fc2d45b5fa5ae577fcfbb94da1576c80a0ce226c5f74833. You have to remove that container to be able to reuse that name: that name is already in use by an external entity, or use --replace to instruct Podman to do so.
 [ ERR ]
Error: no container with name or ID "tumbleweed" found: no such container

Additionally it broke m entire distrobox setup as I can not remove or create new container with the name of the containers which went broken by this:
distrobox-create develop --home /home/vortexacherontic/distrobox/develop_home
Creating 'develop' using image registry.opensuse.org/opensuse/distrobox:latest	Error: creating container storage: the container name "develop" is already in use by 29f8b31c201a7244e3eaeecd02bf4ce5e8d6e22f12fe95a9f870c6023d925118. You have to remove that container to be able to reuse that name: that name is already in use by an external entity, or use --replace to instruct Podman to do so.
 [ ERR ]

distrobox-rm develop
Error: no such container develop
Cannot find container develop.

To recover I had podman to instruct to prune all the volumes and containers.

No idea how that happened, do you have existing rootful containers with the same name as one you tried to create?

No idea how that happened, do you have existing rootful containers with the same name as one you tried to create?

After digging in a bit in the code to possibly provide an PR I am sure I made a mistake.
As BoxBuddy didn't found any of my existing containers I created a new one with a name I already hat. My bad.


High CPU usage on inventory page if used with Steam Inventory Helper

It looks like either of the extensions is being stuck in an infinite loop which causes high CPU usage.
This was a much more problematic behavior for me when I used 4threads/4cores instead of 8threads/4cores on my CPU and a few opened tabs could use most of my CPU.
On screenshot I've opened 4 tabs with inventories.

Does this issue still occur with only SIH installed?
On Tue, Aug 18, 2020, 7:41 AM Shin<EMAIL_ADDRESS>wrote:

It looks like either of the extensions is being stuck in an infinite loop
which causes high CPU usage.
This was a much more problematic behavior for me when I used
4threads/4cores instead of 8threads/4cores on my CPU and a few opened tabs
could use most of my CPU.
On screenshot I've opened 4 tabs with inventories.
[image: image]
https://user-images.githubusercontent.com/13048272/90519195-637dd880-e170-11ea-8633-ca54f8967c98.png
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/csgofloat/CSGOFloat-Extension/issues/92, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AC2DXUJGJOU4GP4YL7R6YTTSBKAHTANCNFSM4QDPUL4A
.

No, it doesn't.
Screenshot with only SIH enabled:

This issue is likely no longer relevant with the rewrite in 2022.


QuickUnlock window not Opening When restarting Keepass

About a year ago I tried to get this plugin to work but have never been successful. My plugin 2.4.0 is up to date. I have setup the QuickUnlock and added a three character password. I also setup Custom Entry in PartOf. When I save all and close then reopen the Keepass database I have never gotten the QuickUnLock window to pop up. I always have to enter my full database. Obviously I am doing something wrong but have tried installing this plugin about 6 or 7 times and have never been successful. Everything else on Keepass works great. Looking for some help.

I tried this also but it doesnt't work for me. Just with Entry only where I have to set a short passwort entry in KeePass but this doesn't see secure for me, to see here #34


poor

Why I always think that Microsoft's documents useless

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

ID: 8ac4b6bb-c5d4-8ef9-7785-82d6f399e8c6
Version Independent ID: 8848fa84-4853-175d-5408-9e2e3af33d0b
Content: How to: Create and Bind to an ObservableCollection
Content Source: docs/framework/wpf/data/how-to-create-and-bind-to-an-observablecollection.md
Product: dotnet-framework
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

Why exactly do you find that article "poor" or "useless"?

Hi @PinkoAgrawal! As @svick pointed out, please let us know what you didn't like about the article or what you were expecting to find.

@svick I was looking for OnPropertyChanged event as I was developing expandable listview. When I couldn't find that I commented so & this is not an isolated incident when I didn't get proper information.

This sample doesnt work. Has anyone been able to make it work? I am using VS 2017


Update Dockerfile

Add Chinese support

@forever2077 Thanks for your PR.
Tried to run it locally and got following error while running docker-compose up -d --build
 > [php-cli stage-0  2/11] RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak:
0.435 mv: cannot stat '/etc/apt/sources.list': No such file or directory
------
failed to solve: process "/bin/sh -c mv /etc/apt/sources.list /etc/apt/sources.list.bak" did not complete successfully: exit code: 1


Submitting a Power BI visual for certification

Hello,
I wish to see your visual with the certified Power BI visual badge.
It makes me so sad to not be able to export my work in pdf.
Kiss from France

Hi, and thanks for reaching out!
I would also love to see the visual certified but it's unfortunately not possible under the current rules. I'd suggest trying the Shielded HTML Viewer, which is certified, to see if this meets your needs.

I was combing through previous issues and thought I could at least provide an update on this, in case anyone comes across it. We now have HTML Content (lite), which is a certified version of HTML Content, but with more restrictive permissions on what you can render.


[CSG] Adjacent brushes glitch

Godot version: 3.2.1.stable.official
OS/device including version: Manjaro Gnome, current @ 15 May 2020
Issue description: Adjacent CSG Add brushes start losing triangles when under the same combiner
Steps to reproduce:

Start a new scene
Add a Spatial node
Add a CSG combiner
Add a CSG box under a CSG combiner
Add a CSG box under a CSG combiner
Make them adjacent

As seen in this video https://www.youtube.com/watch?v=KPlKCBz2s38&feature=youtu.be
Minimal reproduction project: Two CSG boxes and a combiner

Can you try 3.2.2 beta 2? It has CSG fixes.

Duplicate of #21125 which was fixed in 3.2 with #38011.

@akien-mga Cool. Fixed.


Fix issue#534: Adding Lightboxes for Crop Images

An extension to #794, where I added the directive call to ofLightBox in crops/show.html.erb passing thumbnailUrl and displayUrl paths to the directive.
This fixes #534

Coverage remained the same at 99.297% when pulling f6adf9577bdb563cd3425cf7fb1871e965bae570 on TanSA05:tansa05_issue534 into 9b6ff7498fb083200764289378d6369aef7ccc9b on openfarmcc:master.

Coverage remained the same at 99.297% when pulling 39b36bbdca44bffdd581b19523d832fd9556a3a1 on TanSA05:tansa05_issue534 into 9b6ff7498fb083200764289378d6369aef7ccc9b on openfarmcc:master.

This is great, thanks for making that template more dynamic!


add message panel widget

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/retest

/retest

/retest


an issue starting the rich presence in the new version

when I open the YTDPwin.exe it opens but a message like this pops up:Error: Could not connect
at Socket.onerror (C:\snapshot\NodeHost\node_modules\discord-rpc\src\transports\ipc.js:32:16)
at Object.onceWrapper (events.js:520:26)
at Socket.emit (events.js:400:28)
at emitErrorNT (internal/streams/destroy.js:106:8)
at emitErrorCloseNT (internal/streams/destroy.js:74:3)
at processTicksAndRejections (internal/process/task_queues.js:82:21)
   {"data":"CLIENT_ERROR"}

Sorry for late response!
You shouldn't be opening the executable file manually. It will be automatically launched by the extension itself, which will handle any issues like the one you have.


TypeError: Cannot read property '0' of undefined

Hi,
First off thanks for putting it all together.
I wanted to use this stack only for CloudWatch alerts and AutoScale Notification. I am after deploying it on my AWS account, I am successfully able to receive message from CloudWatch. But not getting events of AutoScale.
Just to troubleshoot i have tried to run make test. To do so i have removed all json files from test folder except  context.json sns-autoscaling-event.json I am getting below error message. Though same test is working while i am putting all test json files in test folder
/opt/lambda-cloudwatch-slack/test/sns-cloudwatch-event.json file successfully created
sns received:{
  "key": "value",
  "key2": "value2",
  "other_key": "other_value"
}
/opt/lambda-cloudwatch-slack/index.js:268
  var eventSubscriptionArn = event.Records[0].EventSubscriptionArn;
                                          ^

TypeError: Cannot read property '0' of undefined
    at processEvent (/opt/lambda-cloudwatch-slack/index.js:268:43)
    at exports.handler (/opt/lambda-cloudwatch-slack/index.js:316:5)
    at Lambda._runHandler (/opt/lambda-cloudwatch-slack/node_modules/node-lambda/lib/main.js:97:7)
    at Lambda.run (/opt/lambda-cloudwatch-slack/node_modules/node-lambda/lib/main.js:54:8)
    at Command.<anonymous> (/opt/lambda-cloudwatch-slack/node_modules/node-lambda/bin/node-lambda:99:12)
    at Command.listener (/opt/lambda-cloudwatch-slack/node_modules/commander/index.js:301:8)
    at emitTwo (events.js:106:13)
    at Command.emit (events.js:191:7)
    at Command.parseArgs (/opt/lambda-cloudwatch-slack/node_modules/commander/index.js:615:12)
    at Command.parse (/opt/lambda-cloudwatch-slack/node_modules/commander/index.js:458:21)
make: *** [test] Error 1

Could you please help me know to know what i am missing here?
-Rohit

@rohitrsh I just saw this and it's a little late here. I'll be able to get look into this more tomorrow.
If possible, try to use console.log to print the event before the var eventSubscriptionArn statement and post the sanitized output here.

@rohitrsh - Where did you get this event?
{
  "key": "value",
  "key2": "value2",
  "other_key": "other_value"
}

In the output you posted, that event is being logged right here, and two lines down is where the error is being thrown, here. A proper AutoScaling event should have a resources array in it, like the examples in the AWS docs here.
It sounds like this error is only being thrown with your test event that you posted. Is that correct?

Hey @rohitrsh - I'm going to close this because it looks like an issue with the test even you used, but if you're still working on this and having troubles please do re-open and I'll be happy to take a look!

I am getting a request through : const request = event.Records[0].cf.request;
And this is giving me error: Cannot read property '0' of undefined at exports.handler.


pg_dump with SSL (there is error around of pg_dump with SSL)

[x:postgresql]
I use DBevaer 7.0.0 / Linux Mint / PostgreSQL 12 / SSL
Is your feature request related to a problem? Please describe.
Error if "backup" command for any DB, connected by SSL
Describe the solution you'd like
PGSSLCERT='adr' and other parameters of the connection as environment variables before pg_dump
Full list by https://postgrespro.ru/docs/postgresql/12/libpq-envars , search by SSL.
Additional context
The same will be useful with restore operation.

thanks for suggestion

pg_dump & pg_restore still not use SSL settings.

Whats the STATUS on this? Its 2022, SSL is important as ever.

I'd like to give this a try; is there anything I need to do to get started?


Stop including inttypes.h in gRPC core public header

inttypes.h cannot be included in a public header support/log.h in Apple platforms (iOS, macos) when gRPC core is built as framework. The macros imported are not being used in this file either. This change fixes this problem and the resulted build issues on Apple platforms.
Fixes #14456

Great observation; in the spirit of IWYU, can we just remove it from log.h altogether, rather than conditioning it on !APPLE ?

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc.so

     VM SIZE              FILE SIZE
 ++++++++++++++ GROWIN ++++++++++++++
  [ = ]       0 [None]    +120  +0.0%

  [ = ]       0 TOTAL     +120  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE              FILE SIZE
 ++++++++++++++ GROWIN ++++++++++++++

 -------------- SHRINK --------------
  [ = ]       0 [None]     -40  -0.0%

  [ = ]       0 TOTAL      -40  -0.0%

[trickle] No significant performance differences

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

[microbenchmarks] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE              FILE SIZE
 ++++++++++++++ GROWIN ++++++++++++++
  [ = ]       0 [None]    +120  +0.0%

  [ = ]       0 TOTAL     +120  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE              FILE SIZE
 ++++++++++++++ GROWIN ++++++++++++++

 -------------- SHRINK --------------
  [ = ]       0 [None]     -40  -0.0%

  [ = ]       0 TOTAL      -40  -0.0%

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences


[WI] add crdt cases, deaths, and hospitalizations

This is definitely a record for most screenshots submitted for a state in one PR! 🎉


Move setup and dependency metadata to setup.cfg

This gets rid of the duplicated requirements and makes it easier to extract package metadata without having dj-stripe installed.

Had to switch to tox to properly run the build with this.

Fixed codecov


fix(tileset): Recreate custom data editor if type has changed

Reload the property editor if the type of the tileset's custom data layer has changed.
Fixes https://github.com/godotengine/godot/issues/57642

Is this a fix for #57642?

Is this a fix for #57642?

Yes, that should fix it.

CC @groud @KoBeWi

Thanks!