Can't set custom interpreters in Preferences on macOS

Issue Report Checklist

[x] Searched the issues page for similar reports
[x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[] Could not reproduce inside jupyter qtconsole (if console-related) not applicable
[x] Tried basic troubleshooting (if a bug/error)

[x] Restarted Spyder
[x] Reset preferences with spyder --reset
[x] Reinstalled the latest version of Anaconda
[x] Tried the other applicable steps from the Troubleshooting Guide

[x] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
On a fresh copy of macOS 10.15.5 ("Catalina"), with a fresh install of Anaconda, it does not appear to be possible to use what your docs call "the modular approach" to set the Python interpreter if Spyder is runing under Python 3.7 and the desired version of the interpreter is Python 3.8.
I have checked, and the Python interpreter I'm trying to use is marked as executable, and can be used in a terminal shell to launch a Python REPL session. There appears to be nothing "invalid" about it.
What steps reproduce the problem?

Install Anaconda
conda create -n test python=3.8 spyder-kernels
Launch spyder from the base environment (either from terminal or through Anaconda Navigator GUI)
Try to set the Python interpreter Preferences > Python Interpreter > Use the following Python interpreter to /Users/username/opt/anaconda3/envs/test/bin/python

What is the expected output? What do you see instead?
Expected: consoles will use the Python 3.8 interpreter.
Actual: an error dialog saying:

You selected an invalid Python interpreter for the console so the previous interpreter will stay. Please make sure to select a valid one.

The message is accurate; the console interpreter has in fact stayed as the spyder-internal console (confirmed by import sys; print(sys.executable).  Note that if step 2 above is changed to conda create -n test python=3.7 spyder-kernels then it is possible to set the interpreter, so it appears to be something specific about Python 3.8 that is the problem.
Paste Traceback/Error Below (if applicable)
Not applicable; internal console shows only startup greeting and empty prompt
Versions

Spyder version: 4.1.3
Python version: 3.7.6
Qt version: 5.9.6
PyQt version: 5.9.2
Operating System name/version: Darwin 19.5.0

Dependencies
# Mandatory:
applaunchservices >=0.1.7      :  0.2.1 (OK)
atomicwrites >=1.2.0           :  1.4.0 (OK)
chardet >=2.0.0                :  3.0.4 (OK)
cloudpickle >=0.5.0            :  1.5.0 (OK)
diff_match_patch >=20181111    :  20181111 (OK)
intervaltree                   :  None (OK)
IPython >=4.0                  :  7.16.1 (OK)
jedi =0.15.2                   :  0.15.2 (OK)
nbconvert >=4.0                :  5.6.1 (OK)
numpydoc >=0.6.0               :  1.1.0 (OK)
parso =0.5.2                   :  0.5.2 (OK)
pexpect >=4.4.0                :  4.8.0 (OK)
pickleshare >=0.4              :  0.7.5 (OK)
psutil >=5.3                   :  5.7.0 (OK)
pygments >=2.0                 :  2.6.1 (OK)
pylint >=0.25                  :  2.4.4 (OK)
pyls >=0.31.9;<0.32.0          :  0.31.10 (OK)
qdarkstyle >=2.8               :  2.8.1 (OK)
qtawesome >=0.5.7              :  0.7.2 (OK)
qtconsole >=4.6.0              :  4.7.5 (OK)
qtpy >=1.5.0                   :  1.9.0 (OK)
rtree >=0.8.3                  :  0.9.4 (OK)
sphinx >=0.6.6                 :  3.1.2 (OK)
spyder_kernels >=1.9.1;<1.10.0 :  1.9.1 (OK)
watchdog                       :  None (OK)
zmq >=17                       :  19.0.1 (OK)

# Optional:
cython >=0.21                  :  0.29.20 (OK)
matplotlib >=2.0.0             :  3.2.2 (OK)
numpy >=1.7                    :  1.18.5 (OK)
pandas >=0.13.1                :  1.0.5 (OK)
scipy >=0.17.0                 :  1.5.0 (OK)
sympy >=0.7.3                  :  1.6.1 (OK)

Note that this problem does not occur under Windows or Linux; I have successfully set up the "modular approach" on both of those OSes in the last couple of weeks; in both cases Spyder was installed in an environment running Python 3.7, and I was able to set the console to use Python 3.8 from a different environment.
I'm also somewhat puzzled because the following snippet works in a macOS python REPL:
>>> import sys
>>> sys.executable
'/Users/drmccloy/opt/anaconda3/bin/python'
>>> from spyder.utils import programs
>>> spyder_version = sys.version_info[0]
>>> args = ['-c', 'import sys; print(sys.version_info[0])']
>>> pyexec = '/Users/drmccloy/opt/anaconda3/envs/test/bin/python'
>>> proc = programs.run_program(pyexec, args)
>>> console_version = int(proc.communicate()[0])
>>> assert spyder_version == console_version
>>> print(spyder_version, console_version)
3 3

snippet adapted from here:
https://github.com/spyder-ide/spyder/blob/a5dfb15c3ba51d43db9975de689a57a772d71017/spyder/preferences/maininterpreter.py#L152-L173

Hi @drammock thanks for reporting this. That was actually a bug that we fixed in our latest version 4.1.4. It is not yet in the Anaconda defaults channel, but it should be in a few days.
However, if you don't want to wait, you can get it from Conda-forge on a new environment using:
conda create -n new_env -c conda-forge spyder=4.1.4

The problem with this is that if you want to change your python interpreter for that of a new environment using python 3.8, you will have to make sure that this one has the latest version of spyder-kernels too (which is only in conda-forge for now). As it is not recommended to mix packages from defaults and conda-forge you would want to create a new test environment:
 conda create -n test1 -c conda-forge python=3.8 spyder-kernels

Thanks! Could you tell me specifically which version of spyder-kernels is required? And will that version of spyder-kernels also be hitting the defaults channel in a few days?

I can confirm that the following works:
conda create -c conda-forge -n spyder python=3.7 spyder nb_conda_kernels
conda create -c conda-forge -n test python=3.8 spyder-kernels
conda activate spyder
spyder
# then in the Spyder Preferences GUI set the interpreter to /Users/username/opt/anaconda3/envs/test/bin/python3.8

However, I still would like to know when we can expect suitable versions of spyder and spyder-kernels to both be available on the defaults channel. Or at least, what is the minimum version of spyder-kernels that will be compatible with spyder 4.1.4 (which I think is the version that has this fix)?

The minimum version of spyder-kernels required for spyder 4.1.4 is 1.9.2.
It actually doesn't depend on us how long does it take for the new releases to be available in the Anaconda defaults channel. It usually takes about a week so hopefully by the end of this week it will be available. You can take a look at this page https://anaconda.org/anaconda/spyder to keep track it.

@drammock, please wait until 4.1.4 is available in Anaconda to try again. We did some improvements to the way we detect a valid Python interpreter, which could help in this case.

please wait until 4.1.4 is available in Anaconda to try again

@ccordoba12 That's all I can do, really. Many people who use MNE-Python like to use Spyder, but we often have dependency conflicts between MNE-Python and Spyder, so we recently changed our installation instructions to use your "modular approach"... but it broke things for Catalina users (we had tested it only on older versions of macOS). It is important that users migrating from MATLAB / users who are not too comfortable with the terminal should be able to run spyder from the base environment and have the spyder console use MNE-Python's environment (we create one called mne by default) --- i.e., those users should not have to think about environments at all, they can just launch spyder and have their MNE-Python scripts "just work".
Of course, all these dependency conflicts would go away if there were an easy standalone binary installer for Spyder for all platforms. :)

@juanis2112, thanks for helping @drammock with his problem. You did a great job guiding him to check that this bug was effectively fixed in our 4.1.4 version. Sorry for stepping in without reading the whole context of this issue.

Of course, all these dependency conflicts would go away if there were an easy standalone binary installer for Spyder for all platforms. :)

Then you'll be happy to hear that we're working on our own installers for Windows and macOS for 4.2.0 (to be released in September).

I noticed that spyder 4.1.4 and spyder-kernels 1.9.2 dropped on the defaults channel today.  So I tested them and, if anything, the results are now slightly worse than before. Here is confirmation that I'm using the correct versions:
(base) drmccloy@Daniels-MacBook-Pro ~ % conda list | grep spyder
spyder                    4.1.4                    py37_0
spyder-kernels            1.9.2                    py37_0
(base) drmccloy@Daniels-MacBook-Pro ~ % conda activate test
(test) drmccloy@Daniels-MacBook-Pro ~ % conda list | grep spyder
spyder-kernels            1.9.2                    py38_0

Now, when I launch Spyder from the base environment (the only env where it's installed) and try to set the python executable, I get this error:

Invalid file path: /Users/drmccloy/opt/anaconda3/envs/test/bin/python3.8

I also get another dialog after a few seconds:

Completion and linting in the editor for Python files will not work during the current session, or stopped working. This problem could be fixed by restarting Spyder. Do you want to restart Spyder now?

What else can I do to help troubleshoot this?  Again, here is evidence that there is nothing "invalid" about the path I'm trying to set:
(base) drmccloy@Daniels-MacBook-Pro ~ % conda activate test
(test) drmccloy@Daniels-MacBook-Pro ~ % which python
/Users/drmccloy/opt/anaconda3/envs/test/bin/python
(test) drmccloy@Daniels-MacBook-Pro ~ % python
Python 3.8.3 (default, Jul  2 2020, 11:26:31)
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys; print(sys.version_info)
sys.version_info(major=3, minor=8, micro=3, releaselevel='final', serial=0)
>>> import spyder_kernels
>>> spyder_kernels.__version__
'1.9.2'

It's a probably an issue with the code in our side that validates if an executable is a Python interpreter. And it appears to happen only on macOS and for Python 3.8 (it works fine for me on Linux).
Unfortunately, there's nothing to do about it for now. We'll try to fix it in our next release.

Yes, it works fine for me on Linux too, and in a Windows VM (as I mentioned above).

That was actually a bug that we fixed in our latest version 4.1.4.

Can you point me to the issue or pull request where it was thought that this was fixed?  And describe or point me to the way you test this functionality?  Getting this working is a priority for me so I'd like to look and see if I can figure out what's wrong.

The error should be here:
https://github.com/spyder-ide/spyder/blob/fa478437ba402c3caa63dba0deb8ee8719aebbc0/spyder/utils/programs.py#L909-L938
And our tests for that function are here:
https://github.com/spyder-ide/spyder/blob/fa478437ba402c3caa63dba0deb8ee8719aebbc0/spyder/utils/tests/test_programs.py#L145-L148

I tried some line-by-line tests of is_python_interpreter, run_program, is_text_file, and is_binary_string.  All seem to give the correct behavior when run interactively and given the executable path I'm trying to set (/Users/drmccloy/opt/anaconda3/envs/test/bin/python3.8)
So next I set up a new environment running dev versions of spyder and spyder kernels:
conda create -n spyderdev python=3.7
conda install --only-deps spyder
conda remove --force spyder-kernels
cd $HOME/opt
git clone git://github.com/spyder-ide/spyder
git clone git://github.com/spyder-ide/spyder-kernels
cd spyder-kernels
pip install -e .
cd ../spyder
pip install -e .

Then I installed the dev version of spyder-kernels into the target environment too (since without it the app complained):
conda activate test
conda remove --force spyder-kernels
cd ../spyder-kernels
pip install -e .

Then, I launch spyder:
conda activate spyder-dev
cd ../spyder
python bootstrap.py

Under those conditions, I can get the properties setting to work: spyder (in a py 3.7 env on macOS) will allow using a py3.8 executable for its internal consoles. So I guess that is good news?  This problem is turning out to be rather hard to debug.
Next I ran git grep on the error message ("Invalid file path") and found that it likely originates here:
https://github.com/spyder-ide/spyder/blob/25adf8e0f92d2f58ba9020516f61bfa201b6b840/spyder/preferences/configdialog.py#L797-L800
Which looks like it was changed 8 days ago and should have made it into the 4.1.4 release?  So I'm a bit confused why I'm seeing the error when running spyder from base env (running 4.1.4) and not when running spyder from source.  Any insight?

Which looks like it was changed 8 days ago and should have made it into the 4.1.4 release?

Yes, that change was included in 4.1.4

Any insight?

I'll take a look at it later today.

Hey @drammock, sorry for the big delay in coming back to you. I finally got a change to test this and was unable to reproduce it.
The command I used were:

conda create -n test-stable python=3.7 spyderto create a stable env with packages from defaults using Python 3.7 and Spyder.
conda create -n test-external-py38 python=3.8 spyder-kernelsto create an env with Python 3.8 and spyder-kernels.

Then I went to our Preferences in was able to connect select the Python interpreter in test-external-py38 without problems.
Is this still a problem for you?

Well, at least it's failing differently now.  On a fresh macOS Catalina VM, with a fresh download of Anaconda, I tried creating the two environments exactly as you said.  Then I used the Anaconda navigator to select the test-stable environment, launched Spyder from there, and used the preferences dialog to change the interpreter.  It seemed to work, but then when I went to the console (which was still a py37 one) and pressed Ctrl+d to kill it and respawn a new one, I got the following message in place of the console:

Your python environment or installation doesn't have the spyder-kernels module, or the right version of it installed (>= 1.9.4 and < 1.10.0). Without this module it is not possible for Spyder to create a console for you. You can install it by running in a system terminal: conda install spyder-kernels or pip install spyder-kernels

Closing and re-opening spyder did not change this.  In the terminal, I checked, and the error message is inaccurate, I do have version 1.9.4:
% conda activate test-external-py38
% conda list | grep spyder-kernels
spyder-kernels                 1.9.4               py38_0

Could you upload an animated of the entire process, after resetting Spyder preferences?
You can use a program called Licecap for that.

@ccordoba12 here is the screencapture video https://drive.google.com/file/d/1dmOz5Pnl5fBOs_Gg24PRDmyeArDfmXK9/view?usp=sharing

@drammock, thanks for taking the time to do this. I'll try to take a look at it this weekend.

any movement here?  I notice the issue is still tagged as "awaiting followup", are you actually still waiting on me for something (if so, what?) or is the tag just stale?

Hi @drammock I think no but maybe you could try testing with Spyder 4.1.5 now, please?

Hi @drammock I think no but maybe you could try testing with Spyder 4.1.5 now, please?

That is the version that I used in the screencaptured video I linked to above.

FYI, here's another user that can't get this to work, and they're not using a VM like I've been: https://github.com/mne-tools/mne-python/pull/8020#issuecomment-708653453

What's your macOS version? I ran my tests in 10.14

macOS 10.15.5 ("Catalina"), both for me and for @larsoner.  This was mentioned in the problem description, and as was also mentioned in mne-tools/mne-python#8009, which was the genesis of this issue.

Hi @drammock. I followed the steps in your video and I'm not getting any error messages. I'm using MacOS Catalina 10.15. Ideas @ccordoba12 ?

Okay I think it's a version problem:
$ conda create -n test-spyder python=3.7 spyder
...
$ conda create -n test-py38 python=3.8 spyder-kernels
...
$ conda activate test-spyder
$ python
>>> from spyder.utils import programs
>>> programs.is_module_installed('spyder_kernels', interpreter='/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python3.8')
True
>>> programs.is_module_installed('spyder_kernels', interpreter='/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python3.8', version='>=1.9.4;<1.10.0)
False
>>> exit()
$ conda activate test-py38
$ python
>>> import spyder_kernels
>>> spyder_kernels.__version__
'1.10.'0
>>> exit()
$ conda install "spyder_kernels<1.10"
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - spyder_kernels[version='<1.10']

In other words, there is no version < 1.10 for Python 3.8.
Can the conditional be changed to <=1.10, or is 1.10 still broken / not working?

FWIW I'm on Big Sur now, but I was on Catalina I think back when I was having this problem originally. For some reason the osx-64/spyder-kernels-1.9.4-py38h32f6830_0.tar.bz2 file must not work. Any ideas how I can figure out why conda install "spyder_kernels<1.10" is not happy with this version?

My bad, bad line -- this works to install it:
$ conda install "spyder-kernels<1.10"
...
$ conda activate test-spyder
$ python
>>> from spyder.utils import programs
>>> programs.is_module_installed('spyder_kernels', interpreter='/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python3.8', version='>=1.9.4;<1.10.0)
True
>>> exit()
$ spyder
... # interpreter still doesn't work

I'll keep digging into why it doesn't work...

Okay I managed to not delete the temporary script that gets created, and also eval just the last line of the output, and this is what we see when running it directly:
$ conda activate test-py38
$ python /var/folders/79/gcdk9jbj4txgtlp9l9nmmhyw0000gn/T/spyder-larsoner/tmp9a2luv8t.py
spyder_kernels: 1.9.4
spyder_kernels: 1.10.0
True

So far so good. And so is this:
$ conda activate test-spyder
$ python -c "from spyder.utils import programs; print(programs.run_program('/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python3.8', ['/var/folders/79/gcdk9jbj4txgtlp9l9nmmhyw0000gn/T/spyder-larsoner/tmppx296biv.py']).communicate()[0].decode())"
/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python3.8 /var/folders/79/gcdk9jbj4txgtlp9l9nmmhyw0000gn/T/spyder-larsoner/tmppx296biv.py
True

But spyder doesn't use python, it uses pythonw -- and here's the rub:
pythonw -c "from spyder.utils import programs; print(programs.run_program('/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python3.8', ['/var/folders/79/gcdk9jbj4txgtlp9l9nmmhyw0000gn/T/spyder-larsoner/tmppx296biv.py']).communicate()[0].decode())"
/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python3.8 /var/folders/79/gcdk9jbj4txgtlp9l9nmmhyw0000gn/T/spyder-larsoner/tmppx296biv.py
False
$ which python
/Users/larsoner/opt/miniconda3/envs/test-spyder/bin/python
$ which pythonw
/Users/larsoner/opt/miniconda3/envs/test-spyder/bin/pythonw

So in other words, something about how pythonw handles things versus of python seems to be the culprit.
To confirm this, if I change the shebang of /Users/larsoner/opt/miniconda3/envs/test-spyder/bin/spyder from the original:
#!/bin/bash /Users/larsoner/opt/miniconda3/envs/test-spyder/bin/pythonw

to
#!/Users/larsoner/opt/miniconda3/envs/test-spyder/bin/python

things work fine.
Based on this stackoverflow issue, https://github.com/ContinuumIO/anaconda-issues/issues/199 might be related, and I'm not sure what the correct fix for this is, if there is one.

Hey @larsoner, thanks a lot for digging deeper into this one. We simplified the way we detect modules in external interpreters In our 4.2.0 version (not yet part of Anaconda but present in conda-forge). That could help in this case (not sure if it does).
Could you try it from conda-forge and let us know if it works now?

Just doing:
$ conda create -n test-spyder-forge -c conda-forge python=3.7 spyder
$ conda activate test-spyder-forge
$ spyder

Didn't work at first because now it wants ">= 1.10" -- so doing:
$ conda activate test-py38
$ conda install "spyder-kernels>=1.10"
$ conda deactivate
$ spyder

Gives:
An error ocurred while starting the kernel
/Users/larsoner/opt/miniconda3/envs/test‑spyder‑forge/bin/python:
Error while finding module specification for 'spyder_kernels.console'
(ModuleNotFoundError: No module named 'spyder_kernels')

This looks like a different problem at least. Should I do another round of debugging for this error?

Please remove and recreate your test-py38 env with the following commands:
conda env remove -n test-py38
conda create -n test-py38 -c conda-forge python=3.8
conda activate test-py38
conda install -c conda-forge spyder-kernels=1.10

Got a spinning "Connecting to kernel ..." then same as before:
An error ocurred while starting the kernel
/Users/larsoner/opt/miniconda3/envs/test‑spyder‑forge/bin/python:
Error while finding module specification for 'spyder_kernels.console'
(ModuleNotFoundError: No module named 'spyder_kernels')

And just to be sure:
$ conda activate test-py38
$ python -c "import spyder_kernels; print(spyder_kernels.__version__)"
1.10.0
$ conda list | grep spyder
spyder-kernels            1.10.0           py38h50d1736_0    conda-forge

Got a spinning "Connecting to kernel ..." then same as before:

Could you post a screenshot that shows this error in our interface?
That's because I don't understand why this line appears on it:
/Users/larsoner/opt/miniconda3/envs/test‑spyder‑forge/bin/python

As you can see, this is not the interpreter of your test-py38 but the one used by Spyder.

Should I do another round of debugging for this error?

Yes, please do. We'd really appreciate your help with that.

Could you post a screenshot that shows this error in our interface?
That's because I don't understand why this line appears on it:

Here are the relevant parts, with the terminal call, error message, and preferences pane open to what it's supposed to use:

This is probably because, as mentioned above, there is very strange behavior with subprocess when doing python versus pythonw:
(test-spyder-forge) bunker:~ larsoner$ which python
/Users/larsoner/opt/miniconda3/envs/test-spyder-forge/bin/python
(test-spyder-forge) bunker:~ larsoner$ which pythonw
/Users/larsoner/opt/miniconda3/envs/test-spyder-forge/bin/pythonw
(test-spyder-forge) bunker:~ larsoner$ python -c "import subprocess; print(subprocess.check_output(['/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python', '-c', 'import sys; print(sys.executable)']).decode())"
/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python

(test-spyder-forge) bunker:~ larsoner$ pythonw -c "import subprocess; print(subprocess.check_output(['/Users/larsoner/opt/miniconda3/envs/test-py38/bin/python', '-c', 'import sys; print(sys.executable)']).decode())"
/Users/larsoner/opt/miniconda3/envs/test-spyder-forge/bin/python

So if the newer code still uses subprocess to check things, it's probably still going to have problems. Or even if it doesn't, whatever code path it is using might have these problems...
Again / still, if I change the shebang in /Users/larsoner/opt/miniconda3/envs/test-spyder-forge/bin/spyder  from the original pythonw call:
#!/bin/bash /Users/larsoner/opt/miniconda3/envs/test-spyder-forge/bin/pythonw

to a python call:
#!/Users/larsoner/opt/miniconda3/envs/test-spyder-forge/bin/python

Things work fine:

Based on this stackoverflow issue, ContinuumIO/anaconda-issues#199 might be related, and I'm not sure what the correct fix for this is, if there is one.

I missed this part (I just found the same issue). I think the solution is to avoid using pythonw to start Spyder on Mac (but I think that comes with other unpleasant effects).

Latest PyQt runs happily without pythonw – so I think there's not too many use cases for pythonw out there anymore anyway…

Running into this same issue. OSX 10.13.6, Spyder 4.1.4 via Anaconda 1.9.12 freshly downloaded and installed yesterday. I was hoping installing spyder kernels to my python 3.6.9 OpenCV environment would satisfy Spyder's dependencies, but no luck.
Upgrading Spyder to 4.2.0 in base, then switched to the OpenCV environment, which inexplicably installed Spyder 3.2.8, which at lease works with this environment. Hope this is useful to someone.

I have an idea to fix this, but it's too late for 4.2.1 (to be released next Friday). I'll try to implement it for 4.2.2

Thanks to @larsoner's great insight that this was an issue with pythonw, I was finally able to find the root cause of this problem and solve it (sorry for the big delay in doing it, but it was quite disconcerting).
Since the fix was actually quite simple (see PR #14565), I decided to apply its patch against 4.2.1 (see https://github.com/conda-forge/spyder-feedstock/pull/93). So the fix is already available in Conda-forge, and it'll also be part of the defaults channel once the Anaconda team uploads packages for it (they are taking too much time lately to release packages for new versions).
Thanks everyone for their patience.

Thanks to @larsoner's great insight that this was an issue with pythonw, I was finally able to find the root cause of this problem and solve it (sorry for the big delay in doing it, but it was quite disconcerting).
Since the fix was actually quite simple (see PR #14565), I decided to apply its patch against 4.2.1 (see https://github.com/conda-forge/spyder-feedstock/pull/93). So the fix is already available in Conda-forge, and it'll also be part of the defaults channel once the Anaconda team uploads packages for it (they are taking too much time lately to release packages for new versions).
Thanks everyone for their patience.

Awesome, thanks @ccordoba12 !

Awesome, thanks @ccordoba12 !

I have this issue under Windows.
Spyder 4.2.1
Python 3.7.2 64-bit | Qt 5.12.10 | PyQt5 5.12.3 | Windows 10

I have this issue under Windows.
Spyder 4.2.1
Python 3.7.2 64-bit | Qt 5.12.10 | PyQt5 5.12.3 | Windows 10

@ami-sm, that's a different bug. Please open a new issue about it.

@ami-sm, that's a different bug. Please open a new issue about it.


Error importing app package into PowerApps

I am receiving the following error when trying to import the zip package. If I cannot get passed this it is a show stopper for us.
Customizations from file "Vaccine App - v1.10.zip" failed to import: Invalid name for attribute publishedby. Custom attribute names must start with a valid customization prefix. The prefix for a solution component should match the prefix that is specified for the publisher of the solution.

Now that you were able to make the table, delete the test tables and the app (it looked like it did import at some point? at least the app i see in another screenshot) then try a re-import?

@zsrobertson84 In the solution settings table did you enter the word (case sensitive) Settings for Name ?

Each user can view their own attestations but if you want to view them all you can export data from table. There is a wiki page on steps to export data https://github.com/microsoft/mwx-teams-vaccine-attestation/wiki/how-to-export-Vaccine-Attestation-Data

The "text" word is just placeholder data, once you enter all data into settings table these labels will have appropriate data values from table.
Please let me know if there is anything else or if we can close this issue.  Thank you for reporting


Fix testkit MockEventSourcedEntity comment casing

This is from the code generation, so will also need to be updated in the template there.


Docker volume compression

Is your feature request related to a problem? Please describe.
I'm working with a large database (hundreds of GB). A while ago I've experimented with keeping it on a ZFS drive with Zstd compression, with good results: not only does it consume a lot less disk space (I don't remember the exact savings, but definitely in the double digits) but it actually performs faster for common workloads.
Describe the solution you'd like
I would like a switch to enable compression.
Ideally it would be per-volume but if was a global setting, that would also be useful.
Ideally I could choose the compression type, level, etc. but if it was hard-wired to Zstd with a reasonable default compression level that would also be useful.
Describe alternatives you've considered
It's possible to do this e.g. by running a homebrew Docker installation on a custom VM. It might be possible with alternate Docker runtimes for Mac but I like Orbstack :-)
Additional context
I understand Orbstack uses Btrfs behind the scenes. I've not used Btrfs consciously in recent years. I don't know how good its support for compression is, I hope it's not too far behind ZFS.

This will need more testing, but I'd expect LZO to perform better (in the absence of LZ4). Zstd definitely compresses more, but modern Mac SSDs are quite fast.

Thanks-- just in case I didn't explain my use case well, my main objective is saving space with little performance degradation. If there's no degradation at all or if it performs even better then that's great of course, but space savings (for when storing something that compresses well) is the aim. So I'd still prefer Zstd if possible... or like I said, ideally the ability to choose between algorithms.

Do I understand correctly that I could work around this by creating a Linux machine in Orbstack with ZFS support, and install Docker on it, and keep the Docker volumes on a ZFS mount? Anything I should watch out for when I try this?
Note to self: https://news.ycombinator.com/item?id=29148198

OrbStack doesn't support ZFS.

You mean it doesn't support custom Linux kernels?

No, that's not supported.

@kdrag0n sorry but do you mean it's not officially supported or that it couldn't possibly work? I've built and installed the kernel modules successfully (with some mild hackery), currently blocked by:
[55338.267934] spl: Unknown symbol __pv_queued_spin_unlock (err -2)
[55338.267971] spl: Unknown symbol __ubsan_handle_out_of_bounds (err -2)
[55338.268031] spl: Unknown symbol __ubsan_handle_shift_out_of_bounds (err -2)

__pv_queued_spin_unlock seems to be in the kernel according to /proc/kallsyms, any idea why it's not exported? I see that CONFIG_TRIM_UNUSED_KSYMS is unset and CONFIG_QUEUED_SPINLOCKS, CONFIG_PARAVIRT_SPINLOCKS etc. are set, so in theory it should be exported if I'm not missing anything.
As for the address sanitizer stuff, do I understand correctly that I should try and build without it?

Kernel modules are very much not officially supported, but there might be a potential fix for this in the next version.

Kernel modules are very much not officially supported, but there might be a potential fix for this in the next version.

Amazing, thank you! 🙌
Any chance you could share the Module.symvers so I can check that it has everything ZFS needs?


[TIMEOUT_CLEAN_QUEUE]broker busy

error: org.apache.rocketmq.client.exception.MQBrokerException: CODE: 2  DESC: [TIMEOUT_CLEAN_QUEUE]broker busy, start flow control for a while, period in queue: 1001ms, size of queue: 265
version: 4.5.0. Multi Master Multi Slave mode
os: centos7
brokerRole=SYNC_MASTER
flushDiskType=ASYNC_FLUSH
useReentrantLockWhenPutMessage=true
sendMessageThreadPoolNums=32
waitTimeMillsInSendQueue=1000
transientStorePoolEnable=true
transferMsgByHeap=false
warmMapedFileEnable=false
We want to upgrade rocketmq disk without stopping, And adjust the brush strategy. from SYNC_FLUSH to ASYNC_FLUSH.
We shut down the write traffic of the old cluster through wipewriteperm.
There is no exception before upgrade, but after upgrade, this exception is thrown frequently.
I'm confused

check some ref bellow:
https://github.com/apache/rocketmq/issues/2132
https://github.com/apache/rocketmq/issues/2471
https://www.jianshu.com/p/dd0469a326b6

检查一些参考波纹管：
#2132
#2471
https://www.jianshu.com/p/dd0469a326b6

thanks，I changed to these configurations, and there was no exception. I'll follow up the reason
brokerRole=SYNC_MASTER
flushDiskType=SYNC_FLUSH
useReentrantLockWhenPutMessage=true
sendMessageThreadPoolNums=32
waitTimeMillsInSendQueue=500


Allow configuration objects in "projects"

Do you want to request a feature or report a bug?
Feature.

A pattern I have been repeating recently is using the "projects" feature to run many runners in the same build. To do this I do:
package.json:
{
  "jest": {
    "projects": ["jest.*.config.js"]
  }
}

jest.eslint.config.js:
module.exports = {
  runner: "jest-runner-eslint",
  displayName: "lint",
  // ...
};

jest.test.config.js:
module.exports = {
  displayName: "test",
  // ...
};

This all works fine but it is a bit annoying having three config sources. What I propose is the ability to pass configuration objects instead of paths in the "projects" array.
For example, we could express all three of the above configuration components with one file:
jest.config.js:
const lint = {
  runner: "jest-runner-eslint",
  displayName: "lint",
  // ...
};

const test =  {
  displayName: "test",
  // ...
};

module.exports = {
  projects: [lint, test]
}

I like it, at least 🙂 Would make custom runners even easier to use, and your example of an easy way of doing lint and test together (combined with presets and we're really getting places).
Would you be able to create a PR for it?


Can a component be drag source and drop target at the same time?

Like a folder you can drag folders into another folder...

Yes it is possible I figured out that a component can actually be wrapped inside a drag source and the result can be wrapped again inside a drop target...


Value conversion error with buildkite_cluster_queue resource

Describe the bug
Trying to create a buildkite cluster default queue with the new provider and terraform is outputting the following:
╷
│ Error: Value Conversion Error
│
│   with module.ci_cd.buildkite_cluster_queue.this["fasttrack"],
│   on ci-cd/cluster.tf line 8, in resource "buildkite_cluster_queue" "this":
│    8: resource "buildkite_cluster_queue" "this" {
│
│ An unexpected error was encountered trying to build a value. This is always an error in the provider. Please report the following to the provider developer:
│
│ Received null value, however the target type cannot handle null values. Use the corresponding `types` package type, a pointer type or a custom type that handles null values.
│
│ Path: description
│ Target Type: string
│ Suggested `types` Type: basetypes.StringValue
│ Suggested Pointer Type: *string
╵

To Reproduce
After playing with this, the steps necessary to reproduce are these:
Create a queue:
resource "buildkite_cluster" "this" {
  name        = "Primary cluster"
  description = "Primary cluster containing all agents and pipelines"
  emoji       = "🌊"
  color       = "#636076"
}

resource "buildkite_cluster_queue" "fasttrack" {
  cluster_id = buildkite_cluster.this.id
  key        = "fasttrack"
}

Go to the UI and set that queue as default manually, then re-apply the terraform. It will prompt you about modifying the resource, and will fail with the above error.
Expected behavior
No error.

Actually playing a bit more with this, it looks like the issue comes from the fact that the queue I'm trying to set as default with the provider was set as default manually prior to that, and that update-in-place is causing issues.

Played with the setting from the UI but cannot find a way to make the terraform code work, it always fails with the same error

Ok I've updated my initial issue and steps to reproduce, it had nothing to do with the default queue resource, and everything with the default setting from the UI

Thanks for this report @yetanotheralex 👍
This looks even more general in that updating the resource is broken since a cluster queue description can be null. #418 should fix this up


Performance gap between baseline method: BTS

Hi, thanks for the great work. When I read your paper, I find: "We choose the ResNet-50 with the same prediction head as our baseline", but there are no words about the "decoder head" design, so I come to GitHub to figure it out. I find your method bases on BTS and uses its decoder:
https://github.com/ygjwd12345/TransDepth/blob/3ae116f045243f24c72a4fc558634d0cf823fd1b/pytorch/bts.py#L347
So, "We choose the ResNet-50 with the same prediction head as our baseline" means you replace the BTS encoder with ResNet-50, and preserve other setting the same. I recently reproduced the BTS with their official code, so I am a little bit familiar with its quantitative results. Although the result of the baseline on the NYU dataset is similar to the one reported in BTS, when it comes to the KITTI, I find that your baseline result is much lower than the one reported in BTS. As follows:
NYU: (Abs rel, RMSE, a1, a2, a3)
Your report: 0.118 0.414 0.866 0.979 0.995 (TransDepth, Table.2, Baseline)
BTS report: 0.119 0.419 0.865 0.975 0.993 (BTS, Table. 5, ResNet-50)
KITTI: (Abs rel, RMSE, a1, a2, a3)
Your report: 0.106 3.981 0.888 0.967 0.986 (TransDepth, Table.1, Baseline)
BTS report: 0.061 2.803 0.954 0.992 0.998 (BTS, Table. 6, ResNet-50)
May I ask if I misunderstood, or did you use a different setting from the BTS?

our bts is
self.decoder = bts(params, [64, 128, 256, 512, 1024], params.bts_size)

our bts is self.decoder = bts(params, [64, 128, 256, 512, 1024], params.bts_size)

I wonder why the ResNet50 outputs are 64, 128, 256, 512, 1024 channels? 64, 256, 512, 1024, 2048 one is more standard. Since I just refer to your codes at TransDepth/pytorch/bts.py, line 347, is that means the TransDepth bases on the ResNet50 whose outputs are 64, 256, 512, 1024, 2048 channels and, as you say, the baseline bases on the ResNet50 whose outputs are 64, 128, 256, 512, 1024 channels?

Sorry to the border. I got the reason! Thank you a lot for explaining in detail.

Sorry to the border. I got the reason! Thank you a lot for explaining in detail.

Hi zhyever, Same question here, what's the reason?

Sorry to the border. I got the reason! Thank you a lot for explaining in detail.

Hi zhyever, Same question here, what's the reason? and it seems the decoder is actually the size of [64, 256, 512, 1024, 2048] rather than [64, 128, 256, 512, 1024].

I sent you an email. Sorry for the long reply interval.

Sorry to the border. I got the reason! Thank you a lot for explaining in detail.

Hi zhyever, Same question here, what's the reason? and it seems the decoder is actually the size of [64, 256, 512, 1024, 2048] rather than [64, 128, 256, 512, 1024].

In order to fit our Resnet-50's output size, we change the decoder parameter.


Add search box to document indexes

Passes the q parameter on to publishing-api for filtering by title/slug.

Added feature spec.


Make TireTest more stable

It seems prefix could contain 3 digits as well
like here https://github.com/datafaker-net/datafaker/actions/runs/5948774981/job/16133232260?pr=934#step:4:971

Codecov Report

Merging #935 (39c14a9) into main (add9eae) will decrease coverage by 0.02%.
Report is 1 commits behind head on main.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff              @@
##               main     #935      +/-   ##
============================================
- Coverage     92.31%   92.29%   -0.02%
  Complexity     2744     2744
============================================
  Files           289      289
  Lines          5465     5465
  Branches        591      591
============================================
- Hits           5045     5044       -1
- Misses          271      272       +1
  Partials        149      149

see 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Use of never declared variable

Hi, url was never declared, but accessed in the fragment:
    private void doIntent(android.content.Intent intent) {
        //....
        } else if (resource.equals("openurl")) {
            url = com.valvesoftware.android.steam.community.views.SteamWebView.extractUrlFromOpenUrlUri(u);
            if (url != null) {
                loadWebViewFragment(url);
            }
        } else if (resource.equals("opencategoryurl")) {
            url = u.getQueryParameter("url");
            if (url != null) {
                loadTabbedWebViewFragment(url);
            }
        }

APK: https://drive.google.com/file/d/1731iVIu0J048v_e6Us30vUOxvtxkLNDN/view?usp=sharing
File: com/valvesoftware/android/steam/community/activity/MainActivity.java

@sergey-wowwow made a fix for this particular case.
Problem was in incorrect variable declaration in the middle of if-else-if chain.

Thanks! I will test it. BTW can you please fix freezes and deadlocks in the core? Using CLI it’s impossible to get entire sources and anything from resources (because sources are processed first)

Ok I will check these issues, but as workaround you can use only one thread and deadlocks will not happen.

Yea, I’m already restarting decompilation, but it doesn’t work for all cases (as I remember the one with OutOfMemory is not dependent on number of threads)


softer_nokogiri_dependency

this might use version bump
P.S. You have no Gemfile, and 4 specs are failing in my environment

Thanks for the PR!
Honestly, I haven't used this gem in a long time, nor have I been using FoxyCart. Hence the spec failures. That said I'm reluctant to allow any Nokogiri version > 1.5.5, but I understand that will be necessary in order for the gem to continue to be useful to others.
I will look at this more closely soon.


Removal of brand-primary and brand-secondary from armstrong

Might be a stupid idea, but given that brand-primary is going to be different for every project, and brand-secondary might not even be needed I wonder whether it should go the way of primary-font and be removed from armstrong? I have had a situation in one project where brand-primary was confused with colour-positive. Since brand-primary has become red I've just had similar confusion with color-negative.
In our skeleton project we have a /shared/_variables.scss which is where I manage custom variables, I wonder whether project-specific colours should sit in there instead...

Just overide them in your armstrong-variables-overrides scss. Removal would mean they were no longer usable via bg-[COLOR] etc


Make the oc_chef_authz app use the chef_objects app.

This ensures that chef_objects gets compiled before oc_chef_authz, so that the chef_object behaviour is available at compile time for oc_chef_authz/src/oc_chef_policy.erl.
Fixes broken build.

Hi. I am an automated pull request bot named Curry. There are commits in this pull request whose authors are not yet authorized to contribute to Chef Software, Inc. projects or are using a non-GitHub verified email address. To become authorized to contribute, you will need to sign the Contributor License Agreement (CLA) as an individual or on behalf of your company. You can read more on Chef's blog.
GitHub Users Who Are Not Authorized To Contribute
The following GitHub users do not appear to have signed a CLA:

@billstclair

Please sign the CLA here.

Hi. Your friendly Curry bot here. Just letting you know that all commit authors have become authorized to contribute. I have added the "Signed CLA" label to this issue so it can easily be found in the future.

@billstclair Thanks for digging into this.  We might take a little time to merge it as we want to understand why this doesn't seem to be required for those of us who are working with chef-server day to day. However, I'll make sure this (or a similar fix) gets in soon.  If you don't mind signing the CLA, that would help alot.

CLA signed, as you can see above.
I talked with Oliver about this. It appears from oc_errchef.app.src, that chef_objects should be built before oc_chef_authz, but doesn't happen in my world without this patch.
I tried your recommendation for "./rebar3 update", and I built a rebar3 from the latest master branch sources. Both compile oc_chef_authz before chef_objects without my patch.
But my pull request doesn't pass travis tests, and it fixes a problem that nobody but me has, which obviously makes it a low priority.

I've been investigating this. It compiles fine on my Mac. It seems that only my Digital Ocean Ubuntu VM has the problem. I've spent a bunch of time looking inside rebar3, but so far without any luck at finding what makes it compile the apps/ in a different order.
I pulled chef_object.erl out of the chef_objects app into its own chef_object app, and that make the oc_erchef travis tests succeed, but the chef-mover Travis tests are failing. Which is weird, since chef-mover has its own separate copies of some of the oc_erchef apps/.
Anyway, closing this pull request, since it's not a problem that anybody working on Chef is encountering.

Thanks @billstclair , I'm going to be spinning up a DO 14.04 vm sometime this week to try it out.  I don't currently run into it with local builds on my 15.04 desktop system.

Another way of fixing this, should it become necessary, would be to move each of the apps/ sub-directories into its own git repository, and include them as rebar dependencies, not sub-applications.

@billstclair That is the structure we used to have but we moved away from it because unfortunately these modules are a bit more tightly coupled than we would like them to be.  It became the case that implementing a feature in Chef Server required PRs across 4 or 5 different projects.  Hopefully, however, as we continue to improve some of the interface boundaries, we can split out truly reusable pieces into libraries again.
I haven't had much time to track down what you saw yet, but I did find this commit, which seems like it might have been addressing a similar issue:
https://github.com/rebar/rebar3/commit/f82874de5802dbf9e2029a9aa07c7cbae12a1324

That rebar3 patch is in the master branch, with an update to all_apps_deps/1 to make it handle two forms for each of the rebar_app_info:deps(App), and to merge the sorts of Applications & Deps rather than sorting the concatenation.
https://github.com/rebar/rebar3/blob/master/src/rebar_digraph.erl#L93
Using the master rebar, freshly built, still fails in my DO VM compiling oc_chef_authz before chef_objects.
$ rebar3 version
rebar 3.0.0-beta.3+build.3081.ref6e4ab1e on Erlang/OTP 17 Erts 6.4

I just bumped into this on a Debian Jessie VM. This PR solved the problem.


Track power pill progress.

Tracks Puck/Ms. Puck power pill progress; drop rate is dependent on how many combats you've won with the familiar.

if it resets on ascension, can you add it to the list of relevant prefs?


refactor(iroh): log inner errors

Description
we currently abort the loop on outer errors (errors from spawn). But we do not look at inner errors (task returns properly but returns an error) at all.
This logs the inner errors as debug! and coninues.
Also checks if the outer error is actually a panic, and continues the loop otherwise.
Breaking Changes
Notes & open questions
Change checklist

[ ] Self-review.
[ ] Documentation updates if relevant.
[ ] Tests if relevant.
[ ] All breaking changes documented.

What do you think of renaming this PR fix(iroh)? IMO it is a fix.

Not sure. It does not change the behaviour of the program except for logging, so calling it a fix seems wrong.


IgnoreInComparisonAttribute is sealed

Hello,
In my situation, I need to inherit it to do some business logic for my solution. I will use another attribute that depends on the comparison.

Can you please tell more what you need to do?


Add YaoiScan

Checklist:

[ ] Updated extVersionCode value in build.gradle for individual extensions
[ ] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[x] Added the isNsfw = true flag in build.gradle when appropriate
[ ] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio
[x] Have removed web_hi_res_512.png when adding a new extension

The site seems to be using MangaThemesia multisrc

The site seems to be using MangaThemesia multisrc

Noooo, really ? It was soo long, but there is nothing clear to say "Hey, I'm this theme / CMS"... :skull:

there is nothing clear to say "Hey, I'm this theme / CMS"... 💀

You kinda have to poke around, se what query keys are used, how the 404 page looks like, and such. For MangaThemesia it's especially annoying since people keep renaming the theme internally -- so you can't blindly trust the name in WordPress.
I have been using this, where anything >50% is likely to be MangaThemesia:
($$("#main-menu, .searchx, .postbody, .blox.kln, #content, header, .logos, span.hdl, .shme").length*100/9).toFixed(0)+"%"

The other common one you will run into is Madara.

Sorry for the commit history... Committer was not myself so...


fix(Example): missing labelmapSegmentColorChange

Context
It's not in the list of examples, so I added it labelmapSegmentColorChange.

Changes & Results

Testing
Example Labelmap Segment Color Change
https://deploy-preview-1192--cornerstone-3d-docs.netlify.app/live-examples/labelmapsegmentcolorchange.html

Checklist
PR

[] My Pull Request title is descriptive, accurate and follows the
semantic-release format and guidelines.

Code

[] My code has been well-documented (function documentation, inline comments,
etc.)

[] I have run the yarn build:update-api to update the API documentation, and have
committed the changes to this PR. (Read more here https://www.cornerstonejs.org/docs/contribute/update-api)

Public Documentation Updates

[] The documentation page has been updated as necessary for any public API
additions or removals.

Tested Environment

[] "OS:
[] "Node version:
[] "Browser:

@sedghi up

It was a mistake, I created another new PR #1198


init.txt not being read but init.robot works fine

Hello!
I'm returning to robot from a long pause and my old project stopped working in a specific location.
I have few calls in the Suite setup from a ComponentTestSuite and executing the test now I realized that the data there are not being loaded, resulting in a failure in a call inside the test.
I was able to debug and investigate what happened.
Before my code was using init file with the txt extension format. I have now changed the format to use the robot extension format and doing that managed to fix my test.
RIDE allowed me to create the init file with the txt extension and still does allow (v.2).
Just fyi, before I was executing Python 2.7 with robot 2.8.7 release version , now it's Python 3.10+ with robot 6.0.2 release version.
Below a sketch of the issue.
tests/
-- ComponentTestSuite
    |-- __init__.txt            <- Contains Suite Setup (Not being executed)
    |-- TestSuite.robot          <- Contains Suite Setup (Being executed)
    |   |-- TestCase-1
    |   `-- TestCase-2

With the fix:
tests/
-- ComponentTestSuite
    |-- __init__.robot            <- Contains Suite Setup (being executed)
    |-- TestSuite.robot          <- Contains Suite Setup (Being executed)
    |   |-- TestCase-1
    |   `-- TestCase-2

What I was expecting to happen and the reason I'm opening this issue:
I believe robot framework should be able to read init.txt files as it reads init.robot files.

The change to only parse *.robot files is by design. See #3084 for more information and for instructions how to enable using the *.txt extension.


[Feature] User Profile ChallengeQuestion answer Hashing option

Currently, in the user profile of Identity Server, the ChallengeQuestions (Challenge Question1 and Challenge Question2 ) answers are displayed as an SHA-256 hashed base64 encoded value.
ex :
Challenge Question1 =>
Favorite vacation location ?!NQx1S6TTiJdpOqB370MHKoWdI/YTRDEz/su9kKNRLKU=

In some use-cases, administrative user's may need to view the ChallengeQuestion answers of the users for manual security verifications.
So it would be convenient to have a feature to set configurable hashing option for the ChallengeQuestion answers (hashing enabled or hashing disabled) along with an option to select the desired hashing mechanism (SHA-256 etc).

-1 on this feature request.
It violates the a basic privacy principles.
Challenge questions are treated same as password. All safeguards related to password should be applicable to challenge question answers.
No one should be able to view any sensitive data, like "Mothers maiden name", "My favorite teachers name", "Name of my first crush" etc.
If a deployment needs this feature, it should be done externally. One can have API proxy in front of product API, read the data on SOAP/REST, and save it outside the Identity Databases/User Store

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Improve visualization of [Basic Example] code embedding

instead of using plain markdown, maybe make use of @repl or similar (@julia / @julia-repl not sure).

We decided against it for the basic example, because it gets inconvenient to copy the code. We used this approach with the examples in the example section as there os fewer code there.


feat: add ability to notify users on report failure

Ticket #2526
Description

When the audit report or treasury report generation fails, these changes ensure that the user that kicked-off the process receives an email notification regarding the failure.

Screenshots / Demo Video
root@d73736a46890:/tmp/localstack/state/ses# cat oikyvayjefcrejhj-bswbiifc-hdyw-fohy-ectw-zvcwcbxktqwe-rgpcwu.json
{"Id": "oikyvayjefcrejhj-bswbiifc-hdyw-fohy-ectw-zvcwcbxktqwe-rgpcwu", "Region": "us-west-2", "Destination": {"ToAddresses"<EMAIL_ADDRESS>"CcAddresses"<EMAIL_ADDRESS>"Source"<EMAIL_ADDRESS>"Subject": "Treasury Report generation has failed for USDR Tenant", "Body": {"text_part": "There was an error generating a your requested Treasury Report. \n                        Someone from USDR will reach out within 24 hours to debug the problem. \n                        We apologize for any inconvenience.", "html_part": "There was an error generating a your requested Treasury Report. \n                        Someone from USDR will reach out within 24 hours to debug the problem. \n                        We apologize for any inconvenience."}, "Timestamp": "2024-02-06T21:05:39"}root@d73736a46890:/tmp
root@d73736a46890:/tmp/localstack/state/ses#

Testing
Updated existing unit tests
Automated and Unit Tests

[ ] Added Unit tests

Manual tests for Reviewer

[ ] Added steps to test feature/functionality manually

Checklist

[ ] Provided ticket and description
[ ] Provided screenshots/demo
[ ] Provided testing information
[ ] Provided adequate test coverage for all new code
[ ] Added PR reviewers

@tzinckgraf can you re-approve this?


Upgrade min versions of tokio, tracing-subscriber, and criterion

Motivation and Context
The minimum versions audit in aws-sdk-rust revealed that some of our minimum dependency versions need to be upgraded.
This PR upgrades the minimum versions of tokio, tracing-subscriber, and criterion to address the advisories.
For choosing what dependency versions to use, I used the following logic:

Is the crate with the dependency consumed as a library, and is the dependency not a dev-dependency? Use the minimum secure version
Otherwise? Use the latest version

This resulted in the tools and the Python server taking the latest dependency versions, while everything else took the minimum secure versions.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Why is tokio version different (1.20.1 or 1.8.4)? Can't we update everything to 1.20.1?

I believe @jdisanti was following this rule "Use the minimum secure version", but it did confused me that pokemon example service uses a newer version of tokio while the underlying rust-runtime pinned in an older one. Is that how customer use smithy-rs in real life?

Libraries should strive to use the lowest possible version to maximize compatibility with other libraries that may have lower version requirements to compile. It is OK to have the library ask for 1.8.4 while the thing that depends on the library requests 1.20.1. In that case, Cargo will automatically choose 1.20.1 since that's compatible with the library's semver requirements.

@crisidev, @weihanglo - Any other concerns?


2490 - Allow proxy to convert to schema1 without connectivity to remote

Details

Makes DigestSHA256GzippedEmptyTar in manifest/schema1/config_builder.go exportable
Adds emptyTarDescriptor() to registry/proxy/proxyblobstore.go which returns the distribution.Descriptor for the SHA256GzippedEmptyTar.
Modifies registry/proxy/proxyblobstore.go Stat() method to return the emptyTarDescriptor() if the sha256 of the blob we looking for matches that of the DigestSHA256GzippedEmptyTar

Reasoning
Older Docker clients (v1) are unable to pull images from the registry when it is configured as a pull through cache, and connectivity to the upstream has been lost.
By tracing through the code when the errors were being generated I found that the manifest, err := builder.Build(imh) line in convertSchema2Manifest() in the file registry/handlers/manifests.go was returning the error.
Tracing through that we see that the error in the conversion happens in the manifest/schema1/config_builder.go file in the method Build()
if latestHistory.EmptyLayer {
    if blobsum, err = mb.emptyTar(ctx); err != nil {

Looking at the description of emptyTar() we see:
// emptyTar pushes a compressed empty tar to the blob store if one doesn't
// already exist, and returns its blobsum.

In the case where the registry is configured as a pull through cache the Stat() method we invoke is in registry/proxy/proxyblobstore.go which has the following behavior:

Check local store for blob
1.a) if we find the blob return
If the blob is not found check the error
2.a) if the error is not unknown blob return

// at this point the error is unknown blob meaning that we
// did not find the blob

Try to establish and auth connection to the remote registry
Request the blob from the remote registry

If we succeed at both step 3 and 4, we return the descriptor and happily return, without storing the data locally.
If either step 3 or 4 fail for reasons such as loss of network connectivity, then we return an error and fail the conversion, again without storing the data locally.
The issue is that in the situation we are Stating for the empty tar blob, it may not be (and in our testing never is) cached locally, resulting in the proxy always making a remote call for the blob. In the situation where the proxy loses connectivity to the remote repo it will cause older docker clients to fail when attempting a docker pull. In either case, emptyTar() does not ever store the result in the local blob store.
This is a problem for the use case where the pull through cache can survive loss of connectivity to the (private) master remote registry.
There are multiple ways of potentially resolving this issue. This PR implements the one I thought to be simplest and which had the lightest touch on the current code base. It is currently undergoing testing but I wanted to gather feedback early so that if there are any desired changes I can implement them sooner rather than later.
Issues
Turns out someone already reported this issue!

Resolves https://github.com/docker/distribution/issues/2490

Signed-off-by: marcospedreiro<EMAIL_ADDRESS>

@manishtomar sorry for the ping, but I was unsure of how to get eyes on this PR? I wanted to make sure this was a valid approach before investing more into adding coverage, etc.

Older Docker clients (v1) are unable to pull images from the registry when it is configured as a pull through cache, and connectivity to the upstream has been lost.

Which versions of Docker are you using? The next release of the registry could exclude support for clients this old and remove the conversion completely.

@marcospedreiro ping ☝ 😺

Apologies for the delayed response, we are using Mesos version 1.7.1 as our container orchestrator.
https://github.com/apache/mesos/blob/4f21147a9334ef9ed84dcf11742ce448062f3ec/CHANGELOG

Closing. We are deprecating schema1 https://github.com/distribution/distribution/issues/3966 and 2.x releases have been frozen, only accepting security patches.


[cherry-pick ]Add error codes for forceDeny and failed load

Signed-off-by: bigsheeper<EMAIL_ADDRESS>issues: https://github.com/milvus-io/milvus-proto/issues/78

/approve

/lgtm


Mostly revert the filter code to reduce its complexity of use.

Fixes #1836

re: https://github.com/Unidata/netcdf-c/issues/1836
Revert the internal filter code to simplify it. From the user's
point of view, the only visible changes should be:

The functions that convert text to filter specs have had their signature reverted and have been moved to netcdf_aux.h
Some filter API functions now return NC_ENOFILTER when inquiry is made about some filter.

Internally,the dispatch table has been modified to get rid of the filter_actions
entry and associated complex structures. It has been replaced with
inq_var_filter_ids and inq_var_filter_info entries and the dispatch table
version has been bumped to 3. Corresponding NOOP and NOTNC4 functions
were added to libdispatch/dnotnc4.c. Also, the filter_action entries
in dispatch tables were replaced for all dispatch code bases (HDF5, DAP2,
etc). This should only impact UDF users.
In the process, it became clear that the form of the filters
field in NC_VAR_INFO_T was format dependent, so I converted it to
be of type void* and pushed its management into the various dispatch
code bases. Specifically libhdf5 and libnczarr now manage the filters
field in their own way.
The auxilliary functions for parsing textual filter specifications
were moved to netcdf_aux.h and were renamed to the following:

ncaux_h5filterspec_parse
ncaux_h5filterspec_parselist
ncaux_h5filterspec_free
ncaux_h5filter_fix8

Misc. Other Changes:

Document NUG/filters.md updated to reflect the changes above.
All the old data types (structs and enums)
used by filter_actions actions were deleted.
The exception is the NC_H5_Filterspec because it is needed
by ncaux_h5filterspec_parselist.
Clientside filters were removed -- another enhancement
for which no-one ever asked.
The ability to remove filters was itself removed.
Some functionality needed by nczarr was moved from libhdf5
to libsrc4 e.g. nc4_find_default_chunksizes
All the filterx code was removed
ncfilter.h and nc4filter.c no longer used

Misc. Unrelated Changes:

The nczarr_test makefile clean was leaving some directories; so
add clean-local to take care of them.

Yes, I am moving (as needed) stuff in libhdf5 to libsrc4 if it is being used
in libnczarr as well. In this case, it was an indirect consequence of the filter
code modifications because setting chunksizes is a potential by product
of adding a filter. There are almost certainly other code moves that will
need to occur from libhdf5 to libsrc4. In some cases, I may have to refactor
the code because sometimes there is an hdf5 dependency deep in the code
so I cannot just move the code wholesale, but need to break it into smaller
pieces that are hdf5 independent.

Thanks Dennis, reviewing now!

@DennisHeimbigner if you need help with the libhdf5/libsrc4 code let me know.

Thanks Ed. This is uncharted territory since zarr is the first netcdf-4 but not hdf5
code base we have had.

Well the HDF4 code also uses libsrc4, but since it's a read-only interface, it doesn't use as much of it.

So this looks good to go from a technical standpoint; thanks Dennis.  I've reviewed the ABI comparison documentation (attached) and I'm a little concerned that this is going to break people's code downstream, but I'm not certain what to do about it at this point.  I say this because of the removed public API functions.  At the very least maybe we should have a short blog post we can reference people to which outlines the logic/justification behind this decision?  What do you think, @DennisHeimbigner ?

ABI Report: revert-filters-abi.zip

There is a section near the front of NUG/filters.md that attempts
to capture these incompatibilities.  It appears to cover the issues
in the ABI compatibility report. As noted in the filters.md (Appendix B),
it is possible to detect these using a existence of NC_ENOFILTER and/or
NC_HAS_MULTIFILTER.
We could turn this into a blog post if you would like.

I made a slight change to the incompatibilities section to link it to
appendix B and vice-versa.

I think getting in front of this would be better so that people are aware its coming; the documentation is great, but I'm thinking more of getting the info to our community prior to the upcoming Zarr-enabled pre-release, rather than pointing them to documentation they'll only see/seek out once their code is broken.

Here is the proposed blog entry to be posted after a new release has been made.
Netcdf-4 Filter Support Changes

The netcdf-c library filters API in version 4.7.4 has been
deprecated in favor of a modified version that unfortunately
may cause incompatibilties for users.

The initial reason for the incompatible changes was to support
the use of filters in the new NCZarr code. The changes were not
completely thought out so it was decided to remove them and
revert to previous behaviors. At some future point, the filter
mechanism will be extended to support filters for NCZarr, but
these will be proper extensions: the existing, reverted, filter
API will continue to be supported with no user-visible
modifications.

Unfortunately, some advanced users of netcdf filters may
experience some compilation or execution problems for previously
working code because of these reversions. In that case, please
revise your code. Apologies are extended for any inconvenience.
Note that it is possible to detect which mechanism is in place.
See the netcdf-c github document NUG/filters.md for details.

Even the great Homer nods...

Here is the proposed blog entry to be posted after a new release has been made.
Netcdf-4 Filter Support Changes

The netcdf-c library filters API in version 4.7.4 has been
deprecated in favor of a modified version that unfortunately
may cause incompatibilties for users.

The initial reason for the incompatible changes was to support
the use of filters in the new NCZarr code. The changes were not
completely thought out so it was decided to remove them and
revert to previous behaviors. At some future point, the filter
mechanism will be extended to support filters for NCZarr, but
these will be proper extensions: the existing, reverted, filter
API will continue to be supported with no user-visible
modifications.

Unfortunately, some advanced users of netcdf filters may
experience some compilation or execution problems for previously
working code because of these reversions. In that case, please
revise your code. Apologies are extended for any inconvenience.
Note that it is possible to detect which mechanism is in place.
See the netcdf-c github document NUG/filters.md for details.

Looks good! I'd say add a link to the blog post in the release notes (or we can remember to do it after the fact) and I'll get this merged in and we can move towards the ncZarr pre-release we've been asked about.


Add travis build status

DCO1.1 Signed-off-by: Narine Cholakyan<EMAIL_ADDRESS>

Hi narinearraul,
Thanks for submitting this pull request!
I can confirm that the DCO1.1 sign-off has been included. It is okay to process this pull request.
dco-bot


Broken Withdrawals since 15/01/24 9am

I’ve been unable to withdraw tips since this morning; it looks like there might be a liquidity issue in your channels. This is inconvenient 😊

Hi, thanks for reporting!
I can confirm I can deposit but not withdraw :/
I have asked our team member who manages the node liquidity to have a look.

Hi @Vix1818 can you try again? the node was restarted and withdrawals seem to be working now.

Fixed 👍 GG team Lightsats ⚡🧡

Thanks for confirming!


AzureAuthExceptionHandler will throw new ProviderAuthenticationFailedException with the extracted error message. No exception chain will be used, as the exception mapper send the root exception's message via the API
AzureCredentialConnector.verify will throw new CloudConnectorException with the extracted error message as well
The original exception will be logged before the extraction

See detailed description in the commit message.

retest this please


Allow to override runtime url (for development purposes)

Summary
This enables testing with experimental cluster.
Details and comments
Fixes ws-qiskit-runtime-api issue 61

I think having an "IBM developer only" option in one of the most public facing method is a bad idea. Surely we can find another way for the developers to achieve the same thing in a more subtle manner.

Would it work if you just had this change in a fork? Is there a reason other than ease of use to have this in qiskit/main

Thanks for working on that, @rathishcholarajan. I agree it's important to have a good and consistent development experience and at the same time I also think we shouldn't include any special values in the public-facing APIs (even that would be the most straigh-forward solution).
I cannot think of a better solution than internal environment variables. An alternative option would be an internal (private) function that can be called after the initialization to override the runtime URL. I do think though this would require a bit more refactoring since the runtime URL is already used in calls triggered by the QiskitRuntimeService constructor.

An alternative option would be an internal (private) function that can be called after the initialization to override the runtime URL. I do think though this would require a bit more refactoring since the runtime URL is already used in calls triggered by the QiskitRuntimeService constructor.

While a bit convoluted, one can create a child class of QiskitRuntimeService, overwrite _authenticate_ibm_quantum_account() to return an auth client that'd return a custom runtime url.
But I'd be ok with an internal environment variable as well :)

Closing this for now, if this is still necessary, we can create an issue to add an internal environment variable


⚠ Bofrost.de has degraded performance

In 30fe822, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 777 ms

Resolved: Bofrost.de performance has improved in 2f02478 after 8 minutes.


Support Tab navigation

Hi, Alex Zhondin.
First, thanks for your QtnProperty library. It's nice.
And can you support Tab (Shift + Tab) to navigate to input next field?
Regards,
Eric.

Hi Eric,
Is it standard behavior somewhere?
I think Tab and Shift+Tab are supposed to navigate among controls in direct and reversed order.
Now in QntProperty user can press "arrow down" to move selection one item down and press "enter" or "space" to start edit.
Do you need some single shortcut for these two steps?
Regards,
Alex

Hi Alex,
Yes, you right. Almost software use the Tab key to navigate control (Tab in direct and Shift+Tab in reversed order).
I know QtnProperty use "Arrow down/up"+"Enter" to navigate the controls. And I also try to re-implement it, but I still have to use the "Enter" key to start editing (Tab + "Enter).
So I want you help me merge them to the single shortcut.
Regards,
Eric

OK, but Shift+Tab is reserved as standard shortcut for reversed navigation.
What another keyboard combination do you want to use as "move next and edit" command?

"move next and edit" = Tab
"move previous and edit" = Shift+Tab
Regards,
Eric

I meant Tab already reserved for "Go to next control" and Shift+Tab - "Go to previous control".
If you press Tab while on PropertyWidget now You will switch focus to the next control on the form.
You should choose other shortcuts.

OK, I meant.
"move next and edit" = Ctrl+Tab
"move previous and edit" = Ctrl+Shift+Tab
Regards,
Eric

OK

After some thinking I realize it's hard to implement now.
There are several possibilities for every property delegate:

Delegate doesn't support any input popup widget (like delegate for PropertyBool that directly handles mouse clicks and key presses).
How Ctrl+Tab should work in this case?

Delegate has one QtnSubItem object that has input widget (for example delegate for PropertyFloat).
Ctrl+Tab should activate input widget. Simple case.

Delegate has several QtnSubItem objects with different input widgets (I don't have such delegates now but can imagine something like PropertyDate where user can activate day, month or year widget independently).
How Ctrl+Tab should work in this case?

Complex delegates (PropertySet, PropertyFont, PropertyEnumFlags ...) that have sub-properties.
How Ctrl+Tab should work in this case?

So I know only solution for case 2 and have no any clear and simple solution for other cases.
What do you think?
P.S. If it hard to understand what I wrote I can make some pictures to illustrate my ideas.


Add check_availability for cuTensor routines

closes https://github.com/cupy/cupy/issues/5204

pfnCI, test this please.

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

pfnCI, test this please.

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


Publish latest version of sails-hook-sockets to npm

Sails version: ^1.0.0
Node version: ^8.0.0
NPM version: ^5.0.0
DB adapter name: N/A
DB adapter version: N/A
Operating system: Windows

I recently upgraded to sails^1.0.0 in order to use socket.io^2.0.0. I was disappointed when I downloaded<EMAIL_ADDRESS>from npm and noticed the 1.7.x socket.io dependency. For now, I am using the master branch of sails-hook-sockets. Is there any reason that the master branch hasn't been released to npm. I have had to install git as part of my Dockerfile to compensate...
Thanks in advance

@istrau2 Good question.  I'll make sure it passes all the tests against 1.0 and hopefully publish it today.

Ok!  Published sails-hook-sockets v1.5.0.  You'll need to upgrade your socket.io-redis to 5.2.0!

@sgress454 Looks like all is running well. Thanks.


create-react-app tutorial from reactjs.org differs than cmd line options

New to react following:
https://reactjs.org/docs/create-a-new-react-app.html
It says to do:
npx create-react-app my-app
cd my-app
npm start

Yet, when running npx create-react-app my-app I get an output that says:

We suggest that you begin by typing:
cd my-app
yarn start

Can this be updated in the docs or in create-react-app to prevent confusion (especially for someone new) this difference is really daunting.

This behavior because user has installed yarn. If user hasn’t yarn, cra will use npm by default and this command will work. I think better just will write about it.

Interesting. I guess I will uninstall yarn. Don't recall installing it personally. Might have been a long time ago.


[A11Y] [Web] Amp Start Logo incorrectly reads "the blog"

ENVIRONMENT:
Build number: 56.0.2924.87 beta (64-bit)
Form factor: Chromebook
Browser: Chrome
PRE-REQUISITE
chromevox is ON
STEPS TO REPRODUCE:

Open https://ampstart.com
Navigate to Templates tab
Using chromevox, navigate amp start logo at left top of screen

ACTUAL RESULTS:
Using chromevox, navigate view templates and navigate to Amp Start Logo. Logo reads “the blog”
EXPECTED RESULTS:
Logo reads Amp Start
ATTACHMENT:
Please see the video in the link below for reference.
https://drive.google.com/open?id=0BwUNSMCBrCB4MmJJZzA1czc4b2s

Fixed in my a11y bugs branch.
Commit Fix


Next steps

Hi @qweeze
Here is the plan for the following features we would like to implement:

Implement the functions described here:  https://github.com/qweeze/rstream/pull/32

redirect to the confirmation handler, and publish errors ( in the same way we do for NET, GoLang etc..). You can see it here:
https://rabbitmq.github.io/rabbitmq-stream-dotnet-client/stable/htmlsingle/index.html#_sending_messages see the table: “confirmation.Status values:”

Add some example

Add some documentation

Add the test coverage

Implement the sub-batch entry (producer and consumer): see https://rabbitmq.github.io/rabbitmq-stream-dotnet-client/stable/htmlsingle/index.html#sub-entry-batching-and-compression ( by default, we will support only GZIP then we will see for the others compressions types)

Implement the MetaData Update

Implement the Query stream functions; see: https://github.com/rabbitmq/rabbitmq-stream-dotnet-client/blob/main/docs/asciidoc/query-stream.adoc

Implement a way for the deduplication producer

Super Stream

Implement Super stream Producer

Implement the Super stream Consumer

We close this issue since we have all the basic features


API Validity

Trying to determine if this project has legs to go long term or is it more an academic exercise. Does Robinhood stand behind the effort or will it be shut off at some point.

I can't speak to this project in particular but I don't think the Robinhood API is going anywhere anytime soon. They make reference to it on their website and are accepting applications from developers/partners to use it (so it's a semi-public API but not open to the public...yet) and I know they have several partners using it in third party applications so any changes will likely follow a standard release cycle involving deprecation/notification before complete removal.
You're biggest issue would be the eventual adoption of OAuth as the authentication scheme instead of username/password. If they switch to OAuth they can prevent unauthorized 3rd party use of the API.
I've been using the API for several months now in a side project and have not had any issues but I wouldn't use it beyond hobby projects at this point for fear of being crippled when things change.

I am also using it on a side project for risk management. Analyzing all my
past trades too see if I sell too early etc.
I've noticed that using the web calls is very very slow, compared to the
Robinhood app.
So there must be 2 levels of service.
On Nov 9, 2017 5:52 PM, "Jeffrey Hyer"<EMAIL_ADDRESS>wrote:

I can't speak to this project in particular but I don't think the
Robinhood API is going anywhere anytime soon. They make reference to it on
their website and are accepting applications from developers/partners to
use it (so it's a semi-public API but not open to the public...yet) and I
know they have several partners using it in third party applications so any
changes will likely follow a standard release cycle involving
deprecation/notification before complete removal.
You're biggest issue would be the eventual adoption of OAuth as the
authentication scheme instead of username/password. If they switch to OAuth
they can prevent unauthorized 3rd party use of the API.
I've been using the API for several months now in a side project and have
not had any issues but I wouldn't use it beyond hobby projects at this
point for fear of being crippled when things change.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/sanko/Robinhood/issues/51#issuecomment-343330343, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Aabm4_iSmNU03sOZ3i2NEiOVPkP6inGXks5s05A4gaJpZM4QYqQ5
.

I generally ignore these sorts of questions because it's a slippery slope. I do not and cannot represent Robinhood. Their intentions are their prerogative.
Ill just leave it at this: They know who I am and they know the 3rd party projects exist but it's all unofficial. Only when someone has managed to profit (like creating a service that wraps the API and then charges users for access) have they been known to get their legal department involved.
Recently, for various reasons, they've given me early access to get my opinion on Robinhood Web and I'm expecting a call from their Head of Communications tomorrow. I consider all of that a sign of good will but saying it's anything more than that would be jumping to conclusions.
...it's unofficial. And if they ask me, I'll take the documentation down without hesitation.
Re: OAuth
Right now, the official clients are using OAuth and an endpoint exists that can convert plain tokens to full oauth tokens. They've already set up scopes that'll allow people to block 3rd party clients from accessing (for example) banking related endpoints; they even have a full read-only scope. To me, that says they are expecting 3rd parties to use their API on behalf of users in the future... Even 3rd parties which will not have or need to be able to trade but might just want to see your watchlist.

Thanks for the information it would be nice to know what they (Robinhood Mkt) says about third party involvement. I absolutely can see the commercial pitfall here in particular anyone reselling there data.
If you could keep us updated on Robinhoods further development of an official API it would be much appreciated.


Use AppVeyor to build Windows conda packages

[ ] Look for a viable F/OSS compiling option. Perhaps it does not exist yet.
[x] Try Anaconda? Personally already tried Canopy but disappointed with the lack of Python 3 support.
[x] Eventually, build binary package for easier distribution (wheel/conda recipe).

Use AppVeyor to do the testing and building, so I won't depend on a local Windows installation.

Inspiration: https://github.com/rmcgibbo/python-appveyor-conda-example

WIP
https://ci.appveyor.com/project/Juanlu001/poliastro
Missing:

[ ] Using miniconda


Fix for nested lists of models in schema

The problem was if we had list[list[SomeModel]] as a field in our custom model as flattening worked only for one level of lists with models.
This PR fixes flatten(obj) function to be able to flatten any number of nested lists and adds tests.

Is this an alternative implementation to #192? Please make sure it solves #182 and close 192.

Yes, I somehow missed your PR and saw that there was no connected PR to the issue itself and issue was unassigned so I took it.


[doc] Update C tutorial. [skip ci]

Use rst references instead of doxygen links.
Replace deprecated functions.

Close https://github.com/dmlc/xgboost/issues/8400 .

I'm thinking that we might just drop the online Doxygen doc and use sphinx doc exclusively. For now, one issue with breathe is that examples are not linked in the rendered document, which might not be a big issue for the C API document.


fix(schedule): use uid when assigning students

:tada: This PR is included in version 1.0.0-alpha.34 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Structuremap: unknown input variable exception

Describe the bug
While using structuremap to extract resource from questionnaire, It is throwing exception:
org.hl7.fhir.exceptions.FHIRException: Unknown input variable tgt in https://fhir.dk.swisstph-mis.ch/matchbox/fhir/StructureMap/emcarea.registration.p rule EmCare.A.DE01-1 (vars = source variables [qr: (QuestionnaireResponse), item: (QuestionnaireResponse.item), a: (QuestionnaireResponse.item.answer)], target variables [tgt: (Bundle)], shared variables [])
The confusing part is the exception message itself mentions the tgt variable (in target variables) and in the structuremap it is provided in group.input. (Line 48: structure-map). Where exactly to look into to resolve this issue?
Component
SDC library
Additional context
Exception stack-trace: stack-trace.txt
Structuremap: structure-map
Questionnaire: questionnaire
CC: @jingtang10

@parthfloyd would you like to pick this one up?

Yes!  @Tarun-Bhardwaj


"RecursionError: maximum recursion depth exceeded in comparison" after pulling development branch

Hello Ricardo,
our sync- task is failing because of commit from 09.09.2021, we changed to main branch and task is working again.
Best regards
David
Output from Ansible:
{
"msg": "non-zero return code",
"cmd": [
"./netbox-sync/netbox-sync.py"
],
"stdout": "",
"stderr": "2021-09-10 20:55:33,372 - INFO: Starting NetBox Sync\n2021-09-10 20:55:33,409 - INFO: Successfully connected to NetBox 'netbox'\nRecursionError: maximum recursion depth exceeded in comparison",
"rc": 1,
"start": "2021-09-10 20:55:32.968995",
"end": "2021-09-10 20:56:18.406161",
"delta": "0:00:45.437166",
"changed": true,
"invocation": {
"module_args": {
"_raw_params": "./netbox-sync/netbox-sync.py",
"warn": true,
"_uses_shell": false,
"stdin_add_newline": true,
"strip_empty_ends": true,
"argv": null,
"chdir": null,
"executable": null,
"creates": null,
"removes": null,
"stdin": null
}
},
"stdout_lines": [],
"stderr_lines": [
"2021-09-10 20:55:33,372 - INFO: Starting NetBox Sync",
"2021-09-10 20:56:18,248 - INFO: Updating changed data in NetBox",
"Traceback (most recent call last):",
"  File "./netbox-sync/netbox-sync.py", line 143, in ",
"    main()",
"  File "./netbox-sync/netbox-sync.py", line 133, in main",
"    nb_handler.update_instance()",
"  File "/tmp/awx_46352_b06_q7ty/project/playbooks/netbox/netbox-sync/module/netbox/connection.py", line 694, in update_instance",
"    self.update_object(nb_object_sub_class, unset=True)",
"  File "/tmp/awx_46352_b06_q7ty/project/playbooks/netbox/netbox-sync/module/netbox/connection.py", line 583, in update_object",
"    self.update_object(dependency)",
"  File "/tmp/awx_46352_b06_q7ty/project/playbooks/netbox/netbox-sync/module/netbox/connection.py", line 583, in update_object",
"    self.update_object(dependency)",
"  File "/tmp/awx_46352_b06_q7ty/project/playbooks/netbox/netbox-sync/module/netbox/connection.py", line 583, in update_object",
"    self.update_object(dependency)",
"  [Previous line repeated 991 more times]",
"  File "/tmp/awx_46352_b06_q7ty/project/playbooks/netbox/netbox-sync/module/netbox/connection.py", line 582, in update_object",
"    log.debug2("Resolving dependency: %s" % dependency.name)",
"  File "/tmp/awx_46352_b06_q7ty/project/playbooks/netbox/netbox-sync/module/common/logging.py", line 31, in debug2",
"    if self.isEnabledFor(DEBUG2):",
"  File "/usr/lib64/python3.6/logging/init.py", line 1548, in isEnabledFor",
"    if self.manager.disable >= level:",
"RecursionError: maximum recursion depth exceeded in comparison"
],
"_ansible_no_log": false,
"attempts": 5,
"_ansible_delegated_vars": {}
}

Could you try development-fixed branch. This should work better.
Any reason you are using development branch?

Your suggested branch works fine, there is no special reason why I use development branch.
You developed some of my requested features (e.g. vm_tenant_relation) and u also merged into development.
That's my reason why I use dev- branch -> (I never changed ...)

ahh ok. Will hopefully soon release another release. And will keep the release cycles shorter.
Would recommend to switch to main.

Would recommend to switch to main.

already done... thx

will close this issue for now


finesse llamaindex index experiment

Diagram
Compare different types of llamaindex indexes (vectorindex, treeindex, listindex, keywordindex) performance on subset (2500 cluster) of finesse data. Evaluate accuracy and runtime.

took the liberty to download a PNG and insert it into the description

took the liberty to download a PNG and insert it into the description

I see it as more of an epic rather than just a simple . Each stage of the plan appears to represent a distinct issue."

@ibrahim-kabir spend a bit more time breaking this work and other tasks with @leejaeka to ensure collaboration is visible and can be reviewed by @nmeraihi

@leejaeka, from my understanding this work is finished. Could you update this issue with your discoveries and comments ? Afterwards change the status to done.

Other index of llamaindex, other than vectorstoreindex took far too long (30seconds+)


Allow specifying "raw" where clause

Problem

Most of the time, I cannot use Prisma for a query/update it is because I am unable to recreate the WHERE clause: Here is an example:
prisma.$executeRaw`UPDATE carrierInPeriodSET XZ = ${true} WHERE (offerID, periodID, carrierID) IN (${
  req.body.wanted.map(({offerID, periodID, carrierID}) => `(${offerID}, ${periodID}, ${carrierID})`).join(',')
})`;

prisma.carrierInPeriod.updateMany({
  data: {
    wanted: true,
  },
  where: { ??? },
});

Suggested solution
prisma.carrierInPeriod.updateMany({
  data: {
    wanted: true,
  },
  where: {
    $raw: /* WHERE */ `(offerID, periodID, carrierID) IN (${ ... })`,
  },
});

Alternatives
The current solution is the alternative...
Additional context

Thanks for this feature request.
Maybe open a discussion just asking about the "How can I represent this as a Prisma Client Query?" part to see if someone can come up with a solution. (The feature request if of course separate and still valid)

I think this might be a duplicate of https://github.com/prisma/prisma/issues/5560 cc @matthewmueller

Closing as duplicite


Start using php7 declare(strict_types=1) in this library?

This helps catch errors earlier (e.g. passing an int to a function expecting a string)

Didn't use it before. Do you have to declare it in every file or just in the file that is the starting point?
It generally sounds good to me but I would expect a lot of pain. Even floats that are passed where ints are expected generate errors ^^ So the easyer order seems to add type annotations everywhere and enable strict typing when the first step is completed

https://secure.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration.strict
It has to be in every file.

When a line in a file with declare(strict_types=1) calls a function from same/another file/ an internal function, strict type checks are made on the argument.
When a function in a file with declare(strict_types=1) returns a value, strict type checks are made on the returned value.

I dug a little bit deeper into the discussion behind that rfc and imho it would be a good addition. While staying fully backwards compatible, it could catch some edge cases that may not have been tested but are in the code that is executed during tests (paratests tests). It then should be added to all classes starting with the TestCases and include type hints where known, making type annotations superfluous, shouldn't it?

This can be automatically done by https://github.com/brianium/paratest/pull/256


Availability:  frontend and compute-node need to find new meta-node after the origin meta-node crash

Background
The whole cluster of RisingWave need to heartbeat to meta-node and get some info from it. If meta-node crashed and started in a new physical node, the whole cluster will be out of service because they do not know the new address of meta-node.
Solution

every client of compute-node/compactor-node and frontend-node need to request the address of new meta-node from meta-storage (it may be ETCD or other database). It means that every node in RisingWave shall store the address info of ETCD in their launch parameters.

Additional context

This issue seems to make our availability design more complex.

I think the detail procedure to handle is (correct if wrong):
If frontend fails the heartbeat to meta, then we check ETCD whether there is a new meta.

if there is a new meta. Try heartbeat again. if the heartbeat also fails, then frontend's network is bad, frontend should kill itself.
if there is no new meta. The frontend's network is bad, frontend should kill itself.

If frontend fails the heartbeat to meta, then we check ETCD whether there is a new meta.

So now frontend will need to know all etcd nodes?

I think in the case of k8s environment deployment, we will bind a domain name to Meta service, which will be used by other components. When meta-node crashed, a new node will be started and it will try to renew the lease and start serving. The work of domain name resolution will be handle by k8s, so other components don't have to know and connect to all etcd nodes.


react-router 4.2.0 is throwing Maximum call stack size exceeded when using Redirect in Jest tests

Version
<EMAIL_ADDRESS>with child dep of<EMAIL_ADDRESS>Test Case
https://github.com/duro/react-router-err-reproduction
Since a code sandbox doesn't let me show a reproduction in a Jest like environment, I had to mock up a simple repo project.
The reproduction steps and some notes the test case are in the README of the repo.
Steps to reproduce

Setup a test that renders a <Route /> which in turn renders a <Redirect />

Expected Behavior
I Should be able to render a <Redirect /> inside a test when it is wrapped in a <MemoryRouter />
Actual Behavior
When I render a <Redirect /> inside a in my test after switching to react-router4.2.0` it begins throwing the following error:
    RangeError: Maximum call stack size exceeded

      at valueEqual (node_modules/value-equal/cjs/index.js:7:20)
      at node_modules/value-equal/cjs/index.js:35:14
      at Array.every (native)
      at valueEqual (node_modules/value-equal/cjs/index.js:34:18)
      at node_modules/value-equal/cjs/index.js:35:14
      at Array.every (native)
      at valueEqual (node_modules/value-equal/cjs/index.js:34:18)
      at node_modules/value-equal/cjs/index.js:35:14
      at Array.every (native)
      at valueEqual (node_modules/value-equal/cjs/index.js:34:18)
      at node_modules/value-equal/cjs/index.js:35:14
      at Array.every (native)
      at valueEqual (node_modules/value-equal/cjs/index.js:34:18)
      at node_modules/value-equal/cjs/index.js:35:14
      at Array.every (native)

When you render a <PrivateRoute> with no path, that means that the component is always going to match. What that means is that when you redirect and the re-render, you will render the redirect again.
<BrowserRouter>
  {/* the following route will always render, no matter where you redirect to */}
  <Route render={() => <Redirect to={`/${Math.random()`} />
</BrowserRouter>

If you don't want the infinite loop to happen, a path prop should prevent that. Similarly, rendering inside of a <Switch> that matches other routes prior to the one the does the redirecting should do the trick.

Thanks @pshrmn, that did the trick

I upgraded my test tree to look like this:
<MemoryRouter initialEntries={['/dashboard']} initialIndex={0}>
  <PrivateRoute path="/dashboard" component={FakeComponent} />
</MemoryRouter>


solve rustfmt edition problem

set the edition option of default rustfmt config to 2021.
the previous config only supports rust 2015 so it doesn't format files containing new features like async fn xxx
just pass the edition option to rustfmt is fine.

Hmm unfortunately I don't know rust. Doest this break any backward compatibility? I wouldn't want someones rustfmt breaking just because they're using an old version. Would you consider adding another function for the new edition?
The more people contribute these configurations the more I feel like we need to add some kind of TOC for them and a PR template, so people automatically update the TOC in cases like this one.

This solved the issue for me as well.
require("formatter").setup({
	filetype = {
		rust = function()
			return {
				exe = "rustfmt --edition 2021",
				stdin = true,
			}
		end,
	},
})


There is a subdomain with SSL for documentation

There is a domain set up with SSL for hosting the secretless documentation. The URL should be docs.secretless.io.
Connected to #552

This story made lots of duplicates of itself. Removing the dupes.


feat/base_continuation

Title
feat/base_continuation
Description:
According to have a better app's modules implementation we need to add some features and do a few refactors to path and file management
Changes

Path Faker
Path Handler
Path Validators
File Validators

Wrong project push


SOF file missing

Hello, the Quartus programmer needs SOF file to program the Altera CPLD. Where i can find it?

For CPLD programming POF file is used, not SOF (which is used for volatile configuration file format for FPGA).
POF file you can obtain here: https://github.com/UzixLS/zx-sizif-512-ext/blob/master/out/cpld.pof

Oh, just downloaded it again and it seems to be ok. Thanks!


Moving a file while it has changes discards those changes without warning

I found this issue while reorganizing my diagrams this afternoon. Attaching a video demonstrating the actual behavior and expected behavior:
https://1drv.ms/v/s!AiSCz54h8oiP2DFsGiVlaGEQ9ZZD?e=WQRmec
Expected behavior: File is moved and changes are preserved after the move.
Actual behavior: The file is moved and changes to the file are discarded.

Same... Just renamed a file and lost a load of work.


Make it easier to use CocoaPods to Add2App for iOS

These changes should reduce the steps for people who use CocoaPods to the following:
Add the following to your Podfile:
  flutter_application_path = '/path/to/my/local/flutter/project'
  eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)

And add the following as a new Run Script phase to your Build Phases:
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed

It'd be nice to get it so that they don't have to manually add the run script, but I can't quite seem to get that working through CocoaPods (if I attach it to a podspec, it adds it to the wrong project).  I'm also not sure if there's some way to vend only the Flutter framework headers without embedding the (potentially incorrect) Flutter.framework into the Pods project - but it doesn't seem to be causing any problems right now that I can see.
This fixes #22055, although depending on how this goes I may open another issue to track whether we can further improve it.
/cc @cbracken @matthew-carroll @mit-mit @gspencergoog @xster

/cc @goderbauer as well, since you were recently working on xcode_backend.sh


Deleting node in RKE cluster causing new node to show up twice

Rancher versions: 2.0 master 4/23
Steps to Reproduce:

Create a DO RKE node, 1 all roles & 1 worker node
Go to Nodes page and delete the worker node

Results:  the original node goes to unavailable and a new node show up.  When the new node is active, the old node switches to active as well and shows new node info.  So now I have two nodes that are exactly the same but with different references in the API.

Comment for myself: found this while testing updating templates.

Version - 2.0 master 4/25
Verified fixed


Append items in mosaicflow with ajax

https://github.com/sapegin/jquery.mosaicflow/issues/45.
When a new item added, the calculation value becomes NAN. So replaced with the value 1

Hi, this is the solution. We cannot divide with the invalid number. 1 won't affect the divide and the multiple. I didn't find any issue after adding this.