ENH: Port PVsyst and Desoto parameter estimation from MATLAB

pvlib python pull request guidelines
Thank you for your contribution to pvlib python! You may delete all of these instructions except for the list below.
You may submit a pull request with your code at any stage of completion.
The following items must be addressed before the code can be merged. Please don't hesitate to ask for help if you're unsure of how to accomplish any of the items below:

[x] Closes issue #227
[x] I am familiar with the contributing guidelines.
[x] Fully tested. Added and/or modified tests to ensure correct behavior for all reasonable inputs. Tests (usually) must pass on the TravisCI and Appveyor testing services.
[x] Updates entries to docs/sphinx/source/api.rst for API changes.
[x] Adds description and name entries in the appropriate docs/sphinx/source/whatsnew file for all changes.
[x] Code quality and style is sufficient. Passes LGTM and SticklerCI checks.
[x] New code is fully documented. Includes sphinx/numpydoc compliant docstrings and comments in the code where necessary.
[x] Pull request is nearly complete and ready for detailed review.

This is a continuation of #229 originally by @mattguttenberg in August, 2016

@cwhanse curious, do you know if the Schumaker quadratic spline parameters could be replaced by scipy.interpolate.BSpline? If not would you be interested in contributing your code to Scipy, or if you're not then could I contribute it?

@mikofski Bspline isn't a replace for the Schumaker spline.  Schumaker's method constrains each spline to be convex down (negative quadratic coefficient) - this is important to mimic the expected shape of the IV curve.
I'd say yes to pushing to scipy, but we should reconsider how I handled the ends of the data. Schumaker's paper wasn't clear on that point.

Hi @cwhanse , @wholmgren , @adriesse , and whoever else, PTAL. I know there are still some documentation issues to clean up, and the code should be profiled to remove some bottlenecks, and I think some code can be swapped out for builtins (EG: lambertw may be redundant with scipy.special) so in other words there's still a lot more that could be done, but it is running and producing reasonable good results.
Also, I believe the codecov/patch fails to hit 100% coverage due to the ImportError checks for scipy and statsmodels, hopefully that's okay. I'm really looking forward to using this in the wild soon!
pvlib-coverage.zip
PS: Cliff - I only used the first 3000 of the PVsyst demo test points because something, I think scipy.optimize.least_squares was really take a long time on one of the last 585 points in that dataset. I will run some profiling to figure it out, maybe later?

Cliff, another note, I removed the graphing from pvsyst_param_est but I was planning on putting them back into the testing maybe or perhaps it could be in a jupyter notebook tutorial in the docs? My concerns were as follows:

I'm not sure how to test that code, I can make sure a plot was made, but that doesn't mean it plotted the correct thing,
it adds Matplotlib to the extra_requires which I wasn't sure would be wanted, and
there's never been any plotting tools in pvlib before, thought it might require a discussion?

Also Will and Cliff, I moved the old ivtools.py to ivtools/__init__.py which might be less preferable than say ivtools/core.py and then just copying the existing api to ivtools/__init__.py:
# in pvlib/ivtools/__init__.py
from pvlib.ivtools.core import fit_sde_sandia
from pvlib.ivtools.core import fit_sdm_cec_sam
from pvlib.ivtools.core import fit_sdm_desoto
from pvlib.ivtools.pvsyst_parameter_estimation import (
    pvsyst_parameter_estimation)  # this is actually already there :)

I was lazy and just did the easy thing, but I also wasn't sure what you'd want to call core.py, maybe api.py is better? Or we can just leave it as is - whatever you prefer.

@mikofski thanks for pushing this PR towards a conclusion. I'm happy to review. Any objections if I push to your branch to address some of the clean up items you mention?
@wholmgren would appreciate your review for the API and changes to ivtools.py

and changes to ivtools.py

No problem with making ivtools a subpackage, but like @mikofski anticipated I don't like seeing all the algorithm code in the __init__.py. Seems like fit.py might be a better fit than core.py or api.py. Then use __init__.py to bring the functions into a single name space (if that's your preference).

your review for the API

sure, but later.

Seems like fit.py might be a better fit

Nice pun, I'm okay with that. Cliff, does that sound good to you too?

Any objections if I push to your branch

No objections, please do, and thanks for your help!
one more note
I noticed that I changed the flat slope tolerance in qspline (line 4) from 1e-6 to the cube root of double precision, which might have effects on the number of knots and the shape of the spline, but probably not, right?

It is not clear to me (yet) how best to organize these functions that fit either the single diode equation (SDE) or one of the single diode models (SDM).  I agree with @wholmgren about not putting function declarations in __init__.py.  If we want to put several related  functions in a .py file, I'd suggest dividing by SDE or SDM, e.g. sde.py would have fit_sde_sandia etc. but the function name now looks redundant.  For now, maybe leave them all as separate .py files, like we are doing in iotools.py.
A vision for this part of pvlib is to eventually declare an IVCurve class that contains data, with a method fit that accepts kwargs for the model to be fit, and fitting method. Here we're assembling some library functions that could be called from the fit method.
For the PVsyst fitting procedure being ported, rectify_iv_curve could be useful outside of model fitting, for cleaning up measured IV curve data. calc_theta_phi_exact could be moved to pvlib.singlediode and renamed so it's purpose is clear. Many of the other functions are helpers that are specific to this Sandia procedure, but they are common to the Matlab code for the PVsyst, CEC and De Soto model fitting. I would make these functions private, and put them all into a .py file named sandia_fitting_tools or something similar. The API should expose fit_sdm_pvsyst_sandia (if we follow the current naming pattern of "fit" + "sdm" or "sde" + which SDM + method) and not much of the internals.
I think we should import and use the scipy lambertw function rather than this implementation, which is in PVLib Matlab because Matlab puts lambertw in an optional toolbox.

Seems like fit.py might be a better fit
Nice pun

Yep

I'm okay with that. Cliff, does that sound good to you too?

I think we could segregate functions by SDE or SDM.

Thanks @mikofski I'll make another PR to your branch, to improve consistency inside each module and work on the docstrings.

I think you can also just push directly to this PR

Update:

Switching to scipy.special.lambertw changed the solution for a few IV curves in PVsyst_demo.txt to fall outside the test tolerance. I left the IV curves in the data set, and omit them from testing, since these curves may provide a case to improve the algorithm.
The test failure on py35-min is due to a change in numpy.linalg.lstsq kwarg rcond which happened at numpy v1.14.0. Changing to the new behavior rcond=None to silence a bunch of warnings causes the failures since py35-min is pinned to numpy 1.12. I'd say not worth programming around unless we plan for py35-min to be supported for a long time.

I still want to do some significant refactoring in fit_sdm.fit_pvsyst_sandia, see if I can silence a lot of the numpy warnings, and improve coverage.

Happy Holidays Cliff!

test failure on py35-min...
Might be worth creating a requires_numpy_1_14 decorator in conftest just to silence that error for now, since we just bumped to NumPy-1.12, and I don't know how long it will be to the next bump.

Might be worth creating a requires_numpy_1_14 decorator in conftest just to silence that error for now, since we just bumped to NumPy-1.12, and I don't know how long it will be to the next bump.

This is only an acceptable pattern for optional dependencies and for version issues with the test code itself (as opposed to issues with the feature code).

If the issue is only a matter of dealing with warnings, can we wrap the numpy call in with np.errstate?

Possible, but not preferable. The change in numpy makes a numerical routine more reliable, so I'd prefer to use the new behavior. The warning is issued if the old behavior is used. When the new behavior is requested with numpy<1.14, you get a type error.

We're a few days away from numpy 1.14 being covered by NEP-29. As I stated in #828, I'm ok following NEP-29 scheduling so long as there's a compelling reason (like this one). The major question is if we should do that in 0.7.1. or 0.8. Seems a little aggressive for 0.7.1 but I'm not entirely opposed.

One last item on my list before reviews: naming. Current, ivtools.fit_sde module has functions fit_sandia etc.; similar for ivtools.fit_sdm.fit_cec_sam. I want to drop one "fit" and lean towards sde.py/fit_sandia and sdm.py/fit_cec_sam.
Any opinions here?

@cwhanse what should users do if they only have the data sheet with STC values, and do not have an IV curve? or would we recommend digitizing IV curve images from datasheets to generate PAN files?

Canadian_Solar Datasheet (12/2019) HiDM CS1H-MS

I would not trust the images from the marketing department.

I want to drop one "fit" and lean towards sde.py/fit_sandia and sdm.py/fit_cec_sam

I'm okay with that :)

@cwhanse what should users do if they only have the data sheet with STC values, and do not have an IV curve? or would we recommend digitizing IV curve images from datasheets to generate PAN files?

Personally, I agree with @adriesse - I wouldn't turn the pictures into "data." With only the data from the spec sheet (Isc, Voc, etc.) one could use sdm/fit_cec_sam to get a CEC performance model. There's not an equivalent technique to fit PVSyst that I know of, outside of PVSyst.
I know that some will fit one model (e.g. CEC), calculate IV curves, and then fit a second model to the calculated IV curves, as a way to get parameters for the second model when data is lacking. This chaining is questionable, in my opinion. The result is a model of a model, with rather weak validation since the data are lacking from the start.

There's not an equivalent technique to fit PVSyst that I know of, outside of PVSyst.

I believe this may be a very common use case, maybe we should try to address it?

I have heard from users that they prefer pvsyst over other models
I believe having a large set of reliable IV curve is uncommon and difficult to obtain,
I think many users with only a dataset will try to take the workaround path you mention

There's not an equivalent technique to fit PVSyst that I know of, outside of PVSyst.

I believe this may be a very common use case, maybe we should try to address it?

I agree that a datasheet-to-PVSyst function would attract users, and a successful method would be a nice journal publication.  PVSyst includes some tools to help users get parameters from their data. Some time ago, Ken Sauer, Tom Roessler and I worked at a way to converge to better parameters if one had reasonable starting values. That method could apply here: datasheet to CEC, then use CEC parameters + PVSyst defaults as a starting point.  FYI - CFV Labs uses the Sauer et al. method in their PAN file service.
K. J. Sauer, T. Roessler and C. W. Hansen, "Modeling the Irradiance and Temperature Dependence of Photovoltaic Modules in PVsyst," in IEEE Journal of Photovoltaics, vol. 5, no. 1, pp. 152-158, Jan. 2015.
doi: 10.1109/JPHOTOV.2014.2364133

It is my impression that the PVsyst company uses a human supervised process to produce model parameters, and the same is probably true for the labs that sell PAN files, so it may be hard to create an equivalent function that will work for anyone.  Nevertheless, I think it's good to pursue this goal--especially if you have funding.

I know that some will fit one model (e.g. CEC), calculate IV curves, and then fit a second model to the calculated IV curves, as a way to get parameters for the second model when data is lacking. This chaining is questionable, in my opinion. The result is a model of a model, with rather weak validation since the data are lacking from the start.

I wouldn't necessarily presume that this doesn't work well.  The weakest link in the chain might actually be the first link rather than the second.  But someone would have to try it to find out.

I have heard from users that they prefer pvsyst over other models

Any indications why?

Also, many of the convergence failures and parameter checks are untested: https://codecov.io/gh/pvlib/pvlib-python/compare/3183cc9149b7a7d8d42fa707295160a9d98873f2...5bd14c7c41f991ba59694bb464cd273c5a611533/diff

Also, many of the convergence failures and parameter checks are untested: https://codecov.io/gh/pvlib/pvlib-python/compare/3183cc9149b7a7d8d42fa707295160a9d98873f2...5bd14c7c41f991ba59694bb464cd273c5a611533/diff

It's actually hard to compose IV curve data that incur some of those failures. I don't know if it's worth the time to test those lines, if we feel it is needed I'll hunt through some measured data and see if I can find some that fail by each criteria.

Sorry, I started looking through, but it's way too much for me.  I'd really need to try using the code before venturing to make the most minor comment.

@kanderso-nrel what do you make of the two failed tests? No actual test failures but a mysterious error code from Cmd.exe...

@kanderso-nrel what do you make of the two failed tests? No actual test failures but a mysterious error code from Cmd.exe... I have tried re-running the failed tests on previous commits, sometimes the error clears, but for the py35 windows build it is persistent.

Not 100% sure but it looks like something in the shapely/geos world doesn't like getting garbage collected when the tests are done.  I think it's fine to ignore for this PR and worth digging into further if it continues to be a nuisance.  Could be that we need to change how we install shapely.

I've seen those errors on a lot of the recent PRs. I'm hoping they magically go away with a future update to something. Python 3.5 is nearing end of life and Python 3.9 is coming soon, so we should probably drop 3.5 soon anyways.

Odd that I can't reply to a few of the comments.

I added helper functions for the test that read the data files, maybe sometime we can replace those custom functions with a pvlib function.
numdiff and schumaker_qspline are private.

@cwhanse the 3.8 configuration also needs statsmodels https://github.com/pvlib/pvlib-python/blob/master/ci/requirements-py38.yml

Feels good to finally merge this. Thanks @mikofski for moving this forward, @Peque for the improvements, and especially @mattguttenberg for the port from Matlab - hope you are still watching.


Need Update Document

Could you please add this part as consideration and limitiation of this document ?
Please contact siqwang for reference and ICM 142191141
“Power BI is designed to work with any of our supported browsers, but performance does differ depending on a user’s choice of browser.  Internet Explorer users in particular may encounter worse performance, and we strongly recommend users of Internet Explorer switch to a modern browser for better performance, including Microsoft Edge.  We expect Microsoft Edge performance to continue to improve with Edge Chromium, which is still available only in Preview.  For users still encountering unacceptable performance, you should test other supported modern browsers to see if they provide better results for your Power BI solution.”

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

ID: 74662424-4c86-7d72-d7ad-4d8a669e83b8
Version Independent ID: dfa6ec25-3a0c-1ee9-63b9-851c3d2ce055
Content: Supported browsers for Power BI - Power BI
Content Source: powerbi-docs/power-bi-browsers.md
Service: powerbi
Sub-service: powerbi-consumer
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Note Edge Chromium is no longer in Preview, please check with document author seeing what would be best words on this doc.

Thanks for your comment, @KerryWang94.
I've assigned this issue to the doc author for review.

Thanks, @KerryWang94 ! I've made the update. The change will go live this afternoon.


WIP - Rpi on docker doesn't work

I tried to follow steps that @andrew-ma said to us, i pulled his commit, i added the packages that are needed (it seems also that Cython has to be installed separately) but I have still errors. I also updated the dockerfile with WORKDIR syntax instead of RUN cd .
Tests are done on rpi 3b+ raspian latest (32 bit).

Step 10/10 : RUN pip3 install .
---> Running in 8159bd28d8a3
Processing /Pyfhel
Requirement already satisfied: cython>=0.29.2 in /usr/local/lib/python3.6/dist-packages (from Pyfhel==2.2.5)
Collecting numpy>=1.16.0 (from Pyfhel==2.2.5)
Downloading https://files.pythonhosted.org/packages/c5/63/a48648ebc57711348420670bb074998f79828291f68aebfff1642be212ec/numpy-1.19.4.zip (7.3MB)
Collecting setuptools>=45.0.0 (from Pyfhel==2.2.5)
Downloading https://files.pythonhosted.org/packages/6d/38/c21ef5034684ffc0412deefbb07d66678332290c14bb5269c85145fbd55e/setuptools-50.3.2-py3-none-any.whl (785kB)
Building wheels for collected packages: numpy
Running setup.py bdist_wheel for numpy: started
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: finished with status 'done'
Stored in directory: /root/.cache/pip/wheels/b1/d6/2f/b576b6c983652fa9c02be4c2a4c3896e9540c3b5dc85439986
Successfully built numpy
Installing collected packages: numpy, setuptools, Pyfhel
Found existing installation: setuptools 39.0.1
Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
Running setup.py install for Pyfhel: started
Running setup.py install for Pyfhel: finished with status 'error'
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-tjiqw7tw-build/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-w0md3bfy-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.6
creating build/lib.linux-armv7l-3.6/Pyfhel
copying Pyfhel/init.py -> build/lib.linux-armv7l-3.6/Pyfhel
copying Pyfhel/test.py -> build/lib.linux-armv7l-3.6/Pyfhel
creating build/lib.linux-armv7l-3.6/Pyfhel/util
copying Pyfhel/util/ENCODING_t.py -> build/lib.linux-armv7l-3.6/Pyfhel/util
copying Pyfhel/util/init.py -> build/lib.linux-armv7l-3.6/Pyfhel/util
running build_clib
building 'Afhel' library
creating build/temp.linux-armv7l-3.6
creating build/temp.linux-armv7l-3.6/Pyfhel
creating build/temp.linux-armv7l-3.6/Pyfhel/Afhel
creating build/temp.linux-armv7l-3.6/Pyfhel/SEAL
creating build/temp.linux-armv7l-3.6/Pyfhel/SEAL/SEAL
creating build/temp.linux-armv7l-3.6/Pyfhel/SEAL/SEAL/seal
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/usr/include/python3.6m -IPyfhel -IPyfhel/Afhel -IPyfhel/SEAL/SEAL/seal -c Pyfhel/Afhel/Afseal.cpp -o build/temp.linux-armv7l-3.6/Pyfhel/Afhel/Afseal.o -DHAVE_CONFIG_H -std=c++17 -O3
In file included from Pyfhel/Afhel/../SEAL/SEAL/seal/defines.h:68:0,
from Pyfhel/Afhel/../SEAL/SEAL/seal/bigpoly.h:8,
from Pyfhel/Afhel/../SEAL/SEAL/seal/seal.h:3,
from Pyfhel/Afhel/Afseal.h:41,
from Pyfhel/Afhel/Afseal.cpp:37:
Pyfhel/Afhel/../SEAL/SEAL/seal/gcc.h:20:10: fatal error: x86intrin.h: No such file or directory
#include <x86intrin.h>
^~~~~~~~~~~~~
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1

Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-tjiqw7tw-build/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-w0md3bfy-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-tjiqw7tw-build/
The command '/bin/sh -c pip3 install .' returned a non-zero code: 1

I tried to follow steps that @andrew-ma said to us, i pulled his commit, i added the packages that are needed (it seems also that Cython has to be installed separately) but I have still errors. I also updated the dockerfile with WORKDIR syntax instead of RUN cd .
Tests are done on rpi 3b+ raspian latest (32 bit).

Step 10/10 : RUN pip3 install .
---> Running in 8159bd28d8a3
Processing /Pyfhel
Requirement already satisfied: cython>=0.29.2 in /usr/local/lib/python3.6/dist-packages (from Pyfhel==2.2.5)
Collecting numpy>=1.16.0 (from Pyfhel==2.2.5)
Downloading https://files.pythonhosted.org/packages/c5/63/a48648ebc57711348420670bb074998f79828291f68aebfff1642be212ec/numpy-1.19.4.zip (7.3MB)
Collecting setuptools>=45.0.0 (from Pyfhel==2.2.5)
Downloading https://files.pythonhosted.org/packages/6d/38/c21ef5034684ffc0412deefbb07d66678332290c14bb5269c85145fbd55e/setuptools-50.3.2-py3-none-any.whl (785kB)
Building wheels for collected packages: numpy
Running setup.py bdist_wheel for numpy: started
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: finished with status 'done'
Stored in directory: /root/.cache/pip/wheels/b1/d6/2f/b576b6c983652fa9c02be4c2a4c3896e9540c3b5dc85439986
Successfully built numpy
Installing collected packages: numpy, setuptools, Pyfhel
Found existing installation: setuptools 39.0.1
Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
Running setup.py install for Pyfhel: started
Running setup.py install for Pyfhel: finished with status 'error'
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-tjiqw7tw-build/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-w0md3bfy-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.6
creating build/lib.linux-armv7l-3.6/Pyfhel
copying Pyfhel/init.py -> build/lib.linux-armv7l-3.6/Pyfhel
copying Pyfhel/test.py -> build/lib.linux-armv7l-3.6/Pyfhel
creating build/lib.linux-armv7l-3.6/Pyfhel/util
copying Pyfhel/util/ENCODING_t.py -> build/lib.linux-armv7l-3.6/Pyfhel/util
copying Pyfhel/util/init.py -> build/lib.linux-armv7l-3.6/Pyfhel/util
running build_clib
building 'Afhel' library
creating build/temp.linux-armv7l-3.6
creating build/temp.linux-armv7l-3.6/Pyfhel
creating build/temp.linux-armv7l-3.6/Pyfhel/Afhel
creating build/temp.linux-armv7l-3.6/Pyfhel/SEAL
creating build/temp.linux-armv7l-3.6/Pyfhel/SEAL/SEAL
creating build/temp.linux-armv7l-3.6/Pyfhel/SEAL/SEAL/seal
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/usr/include/python3.6m -IPyfhel -IPyfhel/Afhel -IPyfhel/SEAL/SEAL/seal -c Pyfhel/Afhel/Afseal.cpp -o build/temp.linux-armv7l-3.6/Pyfhel/Afhel/Afseal.o -DHAVE_CONFIG_H -std=c++17 -O3
In file included from Pyfhel/Afhel/../SEAL/SEAL/seal/defines.h:68:0,
from Pyfhel/Afhel/../SEAL/SEAL/seal/bigpoly.h:8,
from Pyfhel/Afhel/../SEAL/SEAL/seal/seal.h:3,
from Pyfhel/Afhel/Afseal.h:41,
from Pyfhel/Afhel/Afseal.cpp:37:
Pyfhel/Afhel/../SEAL/SEAL/seal/gcc.h:20:10: fatal error: x86intrin.h: No such file or directory
#include <x86intrin.h>
^~~~~~~~~~~~~
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-tjiqw7tw-build/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-w0md3bfy-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-tjiqw7tw-build/
The command '/bin/sh -c pip3 install .' returned a non-zero code: 1

Yours failed because even though you pulled my commit to your own fork, in the dockerfile you didn't specify the git clone url to be your own fork. That is why it pulled the official repo. I am currently running the test.py on the raspberry pi. Sorry for taking a while been busy this week and not active on personal github

I tried to follow steps that @andrew-ma said to us, i pulled his commit, i added the packages that are needed (it seems also that Cython has to be installed separately) but I have still errors. I also updated the dockerfile with WORKDIR syntax instead of RUN cd .
Tests are done on rpi 3b+ raspian latest (32 bit).

Step 10/10 : RUN pip3 install .
---> Running in 8159bd28d8a3
Processing /Pyfhel
Requirement already satisfied: cython>=0.29.2 in /usr/local/lib/python3.6/dist-packages (from Pyfhel==2.2.5)
Collecting numpy>=1.16.0 (from Pyfhel==2.2.5)
Downloading https://files.pythonhosted.org/packages/c5/63/a48648ebc57711348420670bb074998f79828291f68aebfff1642be212ec/numpy-1.19.4.zip (7.3MB)
Collecting setuptools>=45.0.0 (from Pyfhel==2.2.5)
Downloading https://files.pythonhosted.org/packages/6d/38/c21ef5034684ffc0412deefbb07d66678332290c14bb5269c85145fbd55e/setuptools-50.3.2-py3-none-any.whl (785kB)
Building wheels for collected packages: numpy
Running setup.py bdist_wheel for numpy: started
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: still running...
Running setup.py bdist_wheel for numpy: finished with status 'done'
Stored in directory: /root/.cache/pip/wheels/b1/d6/2f/b576b6c983652fa9c02be4c2a4c3896e9540c3b5dc85439986
Successfully built numpy
Installing collected packages: numpy, setuptools, Pyfhel
Found existing installation: setuptools 39.0.1
Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
Running setup.py install for Pyfhel: started
Running setup.py install for Pyfhel: finished with status 'error'
Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-tjiqw7tw-build/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-w0md3bfy-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.6
creating build/lib.linux-armv7l-3.6/Pyfhel
copying Pyfhel/init.py -> build/lib.linux-armv7l-3.6/Pyfhel
copying Pyfhel/test.py -> build/lib.linux-armv7l-3.6/Pyfhel
creating build/lib.linux-armv7l-3.6/Pyfhel/util
copying Pyfhel/util/ENCODING_t.py -> build/lib.linux-armv7l-3.6/Pyfhel/util
copying Pyfhel/util/init.py -> build/lib.linux-armv7l-3.6/Pyfhel/util
running build_clib
building 'Afhel' library
creating build/temp.linux-armv7l-3.6
creating build/temp.linux-armv7l-3.6/Pyfhel
creating build/temp.linux-armv7l-3.6/Pyfhel/Afhel
creating build/temp.linux-armv7l-3.6/Pyfhel/SEAL
creating build/temp.linux-armv7l-3.6/Pyfhel/SEAL/SEAL
creating build/temp.linux-armv7l-3.6/Pyfhel/SEAL/SEAL/seal
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/usr/include/python3.6m -IPyfhel -IPyfhel/Afhel -IPyfhel/SEAL/SEAL/seal -c Pyfhel/Afhel/Afseal.cpp -o build/temp.linux-armv7l-3.6/Pyfhel/Afhel/Afseal.o -DHAVE_CONFIG_H -std=c++17 -O3
In file included from Pyfhel/Afhel/../SEAL/SEAL/seal/defines.h:68:0,
from Pyfhel/Afhel/../SEAL/SEAL/seal/bigpoly.h:8,
from Pyfhel/Afhel/../SEAL/SEAL/seal/seal.h:3,
from Pyfhel/Afhel/Afseal.h:41,
from Pyfhel/Afhel/Afseal.cpp:37:
Pyfhel/Afhel/../SEAL/SEAL/seal/gcc.h:20:10: fatal error: x86intrin.h: No such file or directory
#include <x86intrin.h>
^~~~~~~~~~~~~
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;file='/tmp/pip-tjiqw7tw-build/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-w0md3bfy-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-tjiqw7tw-build/
The command '/bin/sh -c pip3 install .' returned a non-zero code: 1

Yours failed because even though you pulled my commit to your own fork, in the dockerfile you didn't specify the git clone url to be your own fork. That is why it pulled the official repo. Change it to "RUN git clone --recursive https://github.com/AlbertoPimpo/Pyfhel", but after this commit is merged into the official repo this will be a moot point. I am currently running the test.py on the raspberry pi. Sorry for taking a while been busy this week and not active on personal github.

I tried to do it by copying the file of this repo and downloading submodules if absent (better implementation) or just changing the link with my repo but it returns always the same error.
I'm still confused on how you got this working 😅.


Consistent ARG-suffix for 'defaultSchemaName'-Parameter

Impact
Minimal, ensures consistent code in all CLI-Command classes.
Description
All but two CommandStep-classes employ the following naming scheme for the  'defaultSchemaName'-Parameter:
public static final CommandArgumentDefinition<String> DEFAULT_SCHEMA_NAME_ARG;
Except two classes, which used:
public static final CommandArgumentDefinition<String> DEFAULT_SCHEMA_NAME;
This PR fixes this.
Things to worry about
None 😉
Additional Context
I started to investigate what the root cause of #3587 could be and noticed this while code-reading 😉

Initial/Pre-Review Thoughts
Thanks for the fix, and keeping it separate.
In theory, other code may have referenced the old public static object. So it would be best to keep the old variable name but mark it as deprecated and just be a reference to the _ARG version. Eventually we can remove the old deprecated version.
Questions I have:

None

Potential risks:

Just the other code issue.

What could make the full review difficult:
(List what could trip us up and burn time during the review process)

Nothing

In theory, other code may have referenced the old public static object. So it would be best to keep the old variable name but mark it as deprecated and just be a reference to the _ARG version. Eventually we can remove the old deprecated version.

Building the code should reveal such issues but the CI is blocked because you have not marked it as safe (this whole PR from Fork is NOT safe to build-thingy).


Cannot convert from V1.x to V2.x due to spaces in name

The name has no spaces in it
Cannot determine what element requires no spaces

Hi @TameezAustell Can you please run Composer using debug setting and then reproduce the error and send us the output form the terminal? Here are the steps:

Go to Composer's install location (mine is at C:\Users{username}\AppData\Local\Programs\Bot Framework Composer)
Open a terminal here
run set DEBUG=composer*
run the executable from the terminal Ex. "Bot Framework Composer.exe"

Hi
Cannot get debug to work
From: Dana V @.>
Sent: Friday, 06 May 2022 22:38
To: microsoft/BotFramework-Composer @.>
Cc: Tameez Moosa @.>; Mention @.>
Subject: Re: [microsoft/BotFramework-Composer] Cannot convert from V1.x to V2.x due to spaces in name (Issue #9152)
Hi @TameezAustellhttps://github.com/TameezAustell Can you please run Composer using debug setting and then reproduce the error and send us the output form the terminal? Here are the steps:

Go to Composer's install location (mine is at C:\Users{username}\AppData\Local\Programs\Bot Framework Composer)
Open a terminal here
run set DEBUG=composer*
run the executable from the terminal Ex. "Bot Framework Composer.exe"

Reply to this email directly, view it on GitHubhttps://github.com/microsoft/BotFramework-Composer/issues/9152#issuecomment-1119991273, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APPYE2LOTNE6R2QMGEOCON3VIV7IJANCNFSM5VECZZCA.
You are receiving this because you were mentioned.Message ID: @.***>

cannot get the debug to work

Please share errors or behavior on how it is not working.

Closing due to inactivity.


Chrome Button seems to be conflicting with Feedly

User reached out on Twitter on March 8th stating that the Chrome button was interfering with Feedly.

Duplicate of #790


Display dismissable banner warning user of non-Production environment

For "dev", "integration" and "staging" we should have a popup banner on the Data Portal home page warning the user "This is a test environment and periodically may be unavailable".
This should not be present in the Production environment.
The user shoudl be able to dismiss the warning so it's doesn't appear during future usage.

@theathorn this is ready to review on https://dev.data.humancellatlas.org/
Cheers,
D

Please chnage the banner text to read:
This is a test environment and periodically may be unavailable and/or may contain test data.
Can you also change the background color to be a reddish/warning color that stands out more?
The font of the text could be a little larger too..

Approved.
Does this apply automatically to all environments except Production?

yes should only be on lower environments.


The instability problem of mouse operations in 'Fly Mode'

In the Fly Mode the mouse_wheel operation still works but become very slow and sometimes it will give an IndexError: list index out of range. So maybe we could just remove the mouse_wheel operation and expect users to use just keyboard to control (actually there is no need for them to use mouse under this mode).

We have got rid of fly mode, so no longer relevant


supporting querying graph node version

Signed-off-by: Joseph Livesey<EMAIL_ADDRESS>

@Theodus, does this look like it's fixing your issue?


Issue #126 - Guest Lecture from RyanSB

Fixed Issue #126 - Guest Lecture from RyanSB on the Syllabus

LGTM :+1:

What, am I not special?

:racehorse:

More like :late horse:

:clock11: :horse_racing: :clock1130: :clock12: :clock1230: :horse: :crying_cat_face: :glue:


Security problem in Jackson libraries

https://nvd.nist.gov/vuln/detail/CVE-2022-42003
Unfortunately there is not yet a stable version of Jackson which does not have this problem.

looks like there is a release-candidate hotfix https://github.com/FasterXML/jackson-databind/issues/3590

There are now Maven versions without the security problem: https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind
And also 2.14 seems to have just been released.


Error when running yarn cdn-bundle

Describe the bug
Error when running yarn cdn-bundle

To Reproduce
Steps to reproduce the behavior:

Run yarn cdn-bundle

The error is coming from the addCDNVersionToPageTemplate function in prepare-templates-for-zip.js but I've not investigated any further

This isn't really an issue. It's jyst no env var is being provided for that variable. In ci this would be provided.


Rpi0w config

Many thanks for the contribution. That is merged.
FYI, most of the focus now is on the Orange Pi Zero 2W, which we will add to this
repository soon, because it has more ports, and is MUCH faster.
The original Pi Zero is a bit sluggish in the menu system, although it works well.


Adapter-specific target information

Describe the feature
For Snowflake as well as BigQuery target specific information is available in the Jinja context.
See for example: https://docs.getdbt.com/reference/dbt-jinja-functions/target
Similar information would also be desirable for the dbt-databricks adapter, especially the catalog.
Describe alternatives you've considered
The alternative would be to build a workaround using the available environment variables like target.name.
Additional context
{% macro generate_schema_name(custom_schema_name, node) -%}

    {%- set default_schema = target.schema -%}
    {%- if custom_schema_name is none -%}

        {{ default_schema }}

    {%- elif target.catalog == 'prep' -%}

        {{ custom_schema_name | trim }}

    {%- else -%}

        {{ default_schema }}_{{ custom_schema_name | trim }}

    {%- endif -%}

{%- endmacro %}

Who will this benefit?
See Additional context. This would allow more granular control of behavior within the Unity Catalog for individual models.

I think target.catalog is available if it's set in the profile.yml.
I defined the macro like:
{% macro databricks__generate_schema_name(custom_schema_name, node) -%}
    {%- set default_database = target.catalog -%}
    {%- set default_schema = target.schema -%}
    {%- if custom_schema_name is none -%}

        {{ default_database }}_{{ default_schema }}

    {%- else -%}

        {{ default_database }}_{{ default_schema }}_{{ custom_schema_name | trim }}

    {%- endif -%}

{%- endmacro %}

then it generated the schama name prefixed with the target.catalog value.


Use absolute directory names in pkg-config files for CMake builds.

Fixes #567.

Any progress here?

fyi, I have put in a separate / different PR that injects the ${prefix} variables as is common style in the pkg-config files

Hey, I've gone ahead and merged in the version where we inject the prefix variable, as that seems to be more what other pkg-config files look like, so that seemed more consistent. Thanks for tracking this down and suggesting a fix, it is much appreciated!

Thanks for improving on my lazy fix! :-)


mergeResults for CodeCoveragePublisher.publish

Is it possible to provide a mergeResults option for CodeCoveragePublisher.publish (similar the TestPublisher.publish)?
Use Case
I have a simple Web Application using Asp.Net Core & React
I am using xUnit, OpenCover & OpenCoverToCoberturaConverter to produce a Cobertura coverage report for the Asp.Net code.
I am using Jest to produce a Cobertura coverage report for React.
I can publish both (using separate build steps) to VSTS, but the Code Coverage widget are only based on one of the reports.
I would like VSTS to display Code Coverage for the combined results

@nigurr do you know about the status of these commands? are these still used by the in-the-box tasks or are the agent ## commands used now instead?

@ericsciple publishing is still an agent command similar to test reports.
@Red-Folder currently we don't have plans for this.


evaluator can not support multi core !

The evaluator.py just use single core of cpu, causing excessively long computation time.
Do you have some method to speed up this process?

We unfortunately have no schedule to support this acceleration recent. But I will let you know if we do this.


why restrict multisig operations to REV transfers?

why restrict multisig operations to REV transfers?
Surely there are many other interesting use cases, and the general case is that of collectively deciding to send some message to some shared power.
This is the design in WorkingGroup.rho
https://github.com/rchain-community/rgov/blob/master/WorkingGroup.rho
Or if you just want to do REV transfers, why not the existing MultiSigRevVault.rho ?
https://github.com/rchain/rchain/blob/dev/casper/src/main/resources/MultiSigRevVault.rho

Currently two operations can be performed TRANSFER_REV and ACCEPT this is in the readme at the end.
Yes we very much plan to support other operations such as APPLY which will allow multisigs to participate in other multisigs (resucrusion described in the youtube video).
And then the goal is for a multisig to also be able to manage tokens, which means allowing the RChain token operations.
Sending a message is also a good idea, do you mean sending a message to an arbitrary rholang channel, or just having a log of issues/messages that have been stated/voted at 66% by the multisig contract.

do you mean sending a message to an arbitrary rholang channel

Yes, since that subsumes all other possibilities. The others can be layered on top  The REV channel in question can be one that makes REV transfers.
(Changing membership needs to be in the same layer. But note that WorkingGroup.rho lets the proposer supply any function to modify the membership. The function can empty the membership to shut down the group, for example.)


List ressource handling

Hi,
This is a more a question rather than an issue.
In my App, we display a list of comments ( about a user ) as well as a component allowing you to submit your own comment.
The comment resource is almost identical to the one in your stackblitz example.
In the List component I use : useResource(CommentResource.listRequest(), { id });
In the AddComment component i use :  useFetcher(CommentResource.createRequest());
However when I add the comment, the ListComponent does not rerender with the added comment.
I can see the new Comment  is added to the entities of the state context, but not in the results.

What is your recommended way of handling this kind of behaviour ? Should i refetch the Comments List entirely after posting? Is there something I'm missing ?
Thank you :)

The plan is to allow you to specify requests you want to insert the response into like the list request you mentioned. However the interface for this isn't 100% obvious so I hadn't built it yet. For now refetching would probably be the best workaround but rest assured this will be fixed soon

Okay! Thank you :)

I'm super new to this library which I'm really enjoying so far. What's the preferred method for performing a manual refetch you're referring to?
Simply calling the static fetch method on resource before the listRequest doesn't seem to do the trick for me
OrganizationResource.fetch('get', 'http://localhost:3000/organizations/');
const orgs = useResource(OrganizationResource.listRequest(), {});

https://resthooks.io/docs/api/useFetcher should work. It returns a function and that function will always issue the call even if the cache is considered valid - so no need for useInvalidator() if you call that function yourself.
The difference with OrganizationResource.fetch is that the method just mentioned only does the fetch - but it doesn't update the cache. The function returned by useFetcher() will update the cache, and thus update the resource you are using with useResource().

Thanks for quick response!
The function returned by useFetcher is a promise so, as I understand it, in order to throw that promise and make use of suspense like useResource does (which is awesome btw), I'd have to replicate some kind of caching functionality to avoid re-throwing on render?
I think useInvalidator is a fine solution that seems in line with suspense patterns https://medium.com/@Charles_Stover/react-suspense-with-the-fetch-api-a1b7369b0469. The terminology "refetch" had me looking for a specific method to call
As you state above, it might be nice to directly update the cache after requests as desired. I'm starting to get more familiar with the library source, hope to contribute in the future

@cif glad you figured it out tho TBH I'm not sure I completely understand your use case. invalidation definitely allows new fetch triggers to happen so I guess that's all you needed. Don't hesitate to open new issues with any use cases!


msGraph - post|update requests

$msal works great for me with Graph connections to get data from Sharepoint.
But is there a way how to send a Graph post request or at least to use client for Graph post and update request?
Thanks.

I ran into the same problem and overcome it by making a my own post request, in my case by using the Axios library.
I needed to check if a user was a member of a group and achieved this using the onToken callback parameter.
Below is a simplified example
Vue.use(msal,
    {

        auth: {
            authority: `https://login.microsoftonline.com/${process.env.VUE_APP_AZURE_ACTIVE_DIRECTORY_TENANT_ID}`,
            clientId: process.env.VUE_APP_AZURE_STORE_CLIENT_APPLICATION_ID,
            redirectUri: `${window.location.origin}/login`,

            onToken: (ctx) => {
                        const groupIds = {groupIds: []}//Group Id's retrieved from config
                        axios.post(`https://graph.microsoft.com/v1.0/directoryObjects/${ctx.account.accountIdentifier}/checkMemberGroups`,
                            { groupIds },
                            { headers: {
                                authorization: `bearer ${ctx.data.accessToken}`,
                                "access-control-allow-methods": "[POST]",
                                Accept: "application/json",
                                "Content-Type": "application/json"
                            }
                            }).then(response => {
                                const groups = response.data.value;
                                //Add the groups to the user stored in Vuex
                            });
                    }
                }
            })

$msal works great for me with Graph connections to get data from Sharepoint.
But is there a way how to send a Graph post request or at least to use client for Graph post and update request?
Thanks.

Actually you can add the configurations in your request .Like this:
$msal.msGraph({url:'https://graph.microsoft.com/v1.0/me/events',method:'POST',data:getters.getItem}) I use Vuex store here ,dont be confused


Enable: warning if no git root, custom types and scopes, custom failure messages and succeeded message

This PR introduce:

A warning is raised if no git root is found, instead raise an exception
The warning above could be suppressed if warnIfNoGitRoot is set to false
Add custom types and scopes
Add custom succeesMessage and failureMessage, are optional so that if empty no message is shown

Close #59

:tada: This PR is included in version 3.0.0 :tada:
The release is available on:

3.0.0
3.0.0
GitHub release

Your semantic-release bot :package::rocket:


Use a cached threadpool for execution of connect. To avoid failing co…

…nnect blocking other connects.
@havardpe PR

We should consider having a max limit on connector threads to avoid self-dosing.

I added a max limit of 8.


_sendMotionBegan was removed from iOS13.6

uiapplication's private selector _sendMotionBegan was gone in iOS13.6
I don't test earlier iOS system, maybe it was removed eailier

Hey @supergithuber, where are you seeing this call? It doesn't seem to be part of EG 2.

Hey @supergithuber, where are you seeing this call? It doesn't seem to be part of EG 2.

sorry, I saw it in branch master. well, it was removed in branch earlgrey2


Adds Negative Prompts

Adds a negativePrompt parameter to generateImages and produces a prompt embedding by concatenating the negative and positive prompt encodings.

@JustinMeans I've taken the liberty of fixing the conflicts and also added a CLI option for the negative prompt here: https://github.com/mfellner/ml-stable-diffusion/pull/2 Feel free to pull the changes into this PR.

Hello @JustinMeans, thank you for your interest in contributing to Core ML Stable Diffusion! Please review CONTRIBUTING.md. If you would like to proceed with this pull request, please indicate your agreement to the terms outlined in CONTRIBUTING.md by checking the box below.
We appreciate your interest in the project!

[ ] I agree to the terms outlined in CONTRIBUTING.md

Please note that a later PR (#76) implements the same feature in fewer line changes but we wanted to see if you would want to revise your PR to minimize the line changes as you submitted earlier (FIFO). I will be on standby for 48 hours to hear from you and then merge #76 instead if I don't hear back. Thank you again!

[x]  I agree to the terms outlined in CONTRIBUTING.md

Hi @atiorh, thanks for the note. I've gone ahead and re-synced this PR and re-implemented to minimize line changes.

Hi @mfellner thanks for cleaning things up. I wasn't able to find your CLI code in the repo you linked but if you want to add the changes here that would be awesome!

Cool, this is very similar to #76 now so I will manually add @Wanaldino as a co-author in the merge commit. Thanks for the contribution both!

When I --negative-prompt option for several cases, only one word were able. is there way to use various word for this?


[Docs] Noscript best practice?

Currently, the docs don't address how to cater to noscript users. Out of the box, all the content is js, so it seems visitors would just see a blank page on e-readers or with bad connections. What are good ways to add some semantic HTML or noscript content for visitors on less common devices?

Well it runs on react mostly, as the name indicates so you are just going to see the react box "you need to enable javascript to see javascript"
I'm not sure this is a use-case which has ever been supported by RS or frankly can be supported.
You can simply add a noscript tag in the HTML template of your site and that can give your users some indication as to why the site isn't doing much. But I'm not certain it's fully possible to turn react pages into a noscript variation

If the CSS is extracted, the site will work as a non-react site if JavaScript is disabled. There will be no interactivity, but the site links will work. There will be no preloading, but the links should link to a new static HTML file.
Here is an example:
https://agingrelative.com/senior-housing
The menu (Tabbar) is not progressively enhanced and does not work without JavaScript; but every other link on the page does. I've done nothing special to make this work.


⚠ GitLab Server has degraded performance

In 310d2d0, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 14106 ms

Resolved: GitLab Server performance has improved in 55ef3f4.


Updated Dynatrace description and link to doc.

Hi John,
we'd be glad if you could merge that update on description and doc-link about Dynatrace.
Thanks,
Martin

@MartinGoodwell,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

@johnkemnetz - Please review these proposed changes. Thanks.


feat(table): add optional footer row

Adds an optional footer row to the table. Since header row has similar logic, a refactoring of the table code was necessary to avoid duplicating work.
Note that the table.spec.ts was reworked as well to remove a lot of boilerplate (most tests begin by setting up a fixture, component, table element, etc.). Added a utility function at the top of the file to handle this.
Closes #7548

You should sync your client as well

Synced

Ready for review

Will need to be rebased after the native <table> change goes in; let me know when it's ready

Rebased

Cool thanks for the review -- good suggestions

@andrewseguin needs rebase, re-apply merge ready when done


[YBUG.IO] How do I connect my Nifty Wallet...

How do I connect my Nifty Wallet now, you have taken away the icon on the 'Select browser wallet type' page!!  How do I buy SOV or interact with your site if my rBTC are in my Nifty wallet???  Please advise soonest.
#1. Where has Nifty gone?? I have my rBTC in Nifty.  How do I connect it now???\
Source url: https://live.sovryn.app/
Reported by<EMAIL_ADDRESS>Reported at: 14 Apr at 20:29 UTC
Location: GB, England, London
Browser: Chrome 89.0.4389.114
OS: macOS 11.2.3
Screen: 1280x800
Viewport: 1280x721
Screenshot:

For more details please visit report page on Ybug:
https://ybug.io/dashboard/reports/detail/xggz7269w8m26hm9ac2x

Nifty wallet must be installed and enabled in the browser to be visible here


kube-apiserver cannot see its configured basic-auth file

This is a...

[ ] Feature Request
[X] Bug Report

Problem:
kube-apiserver can't see a basic auth file that clearly exists.
Reproduction:

Deploy a new cluster with kubeadm
Shut down the apiserver container
Create a file /etc/kubernetes/kubepasswd.csv with the contents: password,user,user
Chmod this file 777
Edit /etc/kubernetes/manifests/kube-apiserver.yaml
Add a new line under command reading: - --basic-auth-file=/etc/kubernetes/kubepasswd.csv
Save the file
Note that the container is boot looping.
Grab the output of docker ps -a | grep apiserver and note which container died most recently.
Run docker logs against that container
Note the output:

invalid authentication config: open /etc/kubernetes/kubepasswd.csv: no such file or directory

# ls -l /etc/kubernetes/kubepasswd.csv
-rwxrwxrwx 1 root root 13 Oct  4 22:23 /etc/kubernetes/kubepasswd.csv

The file exists, has open permissions, and a valid format, yet the error persists. This is an Ubuntu 16.04 machine, so SELinux is off the table, neither am I getting any Apparmor AVC messages in the syslog.
Proposed Solution:
kube-apiserver should read the file that very definitely exists
Page to Update:
n/a
Kubernetes Version:
1.8

Thanks for the report @Karunamon!
As I'm reading this, I looks more like an issue with Kubernetes than with the documentation on Kubernetes. If that's the case, could open an issue at https://github.com/kubernetes/kubernetes, as it likely won't get the attention you're desiring when filed against the documentation.

D'oh! Wrong repo. Thanks :)

Still may be a documentation issue as
https://stackoverflow.com/questions/46618383/how-to-config-simple-login-pass-authentication-for-kubernetes-desktop-ui
solved the problem for me. There seems to be a change in k8s 1.8


Remove Plan conformity from Gesturable type

Gesturable likely doesn't need to conform to Plan because it doesn't do much on its own.
In general we should be conservative about which objects conform to Plan.

No longer applicable as of 5813d0d79fe9a5b5ff212ddac1f353cb8d354cec.


Method and Status constant names

Method names are as they appear on the wire: uppercase.
Status constants are not as they appear on the wire.  Numeric constants would be ugly, and reason phrases would need to be quoted.  So they're generally CamelCase of their canonical reason phrases.

We inherited this inconsistency from Spray, and it feels okay, but it's inconsistent.
Possible solutions bleed into #1667.
Discuss.

I'm actually ok with this at the moment. That said, we could make all of them camelcase if consistency is wanted.

Yeah.  As I see it, the three obvious solutions are:

camel case everything
be faithful to the wire until it requires backticks
stare decisis

be faithful to the wire until it requires backticks

No :disappointed: . I don't want to use
`200`(messageBody)

stare decisis

Up to vote. I'm neutral

camel case everything

Also neutral

I said "until it requires backticks."  What you quoted would fall under "radically faithful to the wire," which isn't proposed. :)

This is being addressed in #4611.


Enable irmin-fsck for tezos stores

Set by default the cli of irmin-pack for tezos stores. This is more convenient for debugging than using the ./tezos-node storage command.

Codecov Report

Merging #1797 (4ff468d) into main (021a6a5) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1797      +/-   ##
==========================================
- Coverage   64.75%   64.73%   -0.03%
==========================================
  Files         118      118
  Lines       14381    14381
==========================================
- Hits         9312     9309       -3
- Misses       5069     5072       +3

Impacted Files
Coverage Δ

src/irmin-git/atomic_write.ml
82.11% <0.00%> (-1.33%)
:arrow_down:

src/irmin-unix/fs.ml
67.74% <0.00%> (-0.65%)
:arrow_down:

src/irmin/commit.ml
63.66% <0.00%> (-0.33%)
:arrow_down:

src/irmin-test/store.ml
94.99% <0.00%> (+0.05%)
:arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Add ability to develop multiple template types

This changes the index.ron template structures and how templates
are selected. The Template enum can be used in the higher level
command calls and templates.rs should be taken care of the rest,
granted that the template type is implemented.
Closes #83

Codecov Report

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

@@           Coverage Diff           @@
##           master      #88   +/-   ##
=======================================
  Coverage   97.05%   97.05%
=======================================
  Files           3        3
  Lines          34       34
=======================================
  Hits           33       33
  Misses          1        1

Continue to review full report at Codecov.

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

The gdpu extension's only purpose is to notify the parser that it should parse the content of that file. If you are setting up "template plans" files, you might as well put that parsing thing there instead.

you might as well put that parsing thing there instead

Can you elaborate on this? Or give an example?

{
    "project": [
        ("project/.gitignore", Text),
        ("project/Cargo.toml", Text),
        ("project/src/main.rs", Text),
        ("project/resources/display_config.ron", Text),
        ("project/assets/image.png", Binary),
    ]
}

Things annotated with "text" are parsed, things annotated with "binary" are just copied over.

👋 I'm closing all PRs and Issues since amethyst_tools is being end-of-life'd.  Please see this forum post for a place to respond and/or discuss the situation rather than here on the repo.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-1.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 622

Questions ?
Please refer to the Backport tool documentation


[android] fix crash due to old class ref

this fixes crash introduced in
https://github.com/frostwire/frostwire/commit/4ceac17a8e6bc5d21f0be5be3420bd2007b128bb
due to renaming of ButtonActionPreference2 to ButtonActionPreference

Thanks


Fix example issues

Hardening examples based on some feedback from new Spectral ruleset.
Some other issues spotted and resolved too.

Thanks for doing this, helps a lot with some of the work we are going

similar fixes in here to one of the examples maybe worth combining? https://github.com/OAI/Arazzo-Specification/pull/214/files


Enhance Docs on Routing

Describe the problem
Routing documentation on using the error, redirect, and json methods does not link off to the other documentation on those, making it more difficult to find and figure out how to handle them.
Describe the proposed solution
This section:
https://kit.svelte.dev/docs/routing#server
This line:
You can use the error, redirect and json methods from @sveltejs/kit for convenience (but you don't have to).

Update the error, redirect, and json to have links to the appropriate documentation.
Alternatives considered
Other examples listed there to show how to use each method.
Importance
nice to have
Additional Information
No response

Happy to work on this one.


Get position/index

Hi everybody and thanks a lot for your work on this plugin.
I use the DND plugin but I can not get the position or index of the element that is changed. I saw a lot of post about the index but despite my research I did not find how to get it.
Can you help me ?
Best regards
Grégory.

Here is the position (both old and new) in the move event (works the same for copy):
https://www.jstree.com/api/#/?q=move_node&f=move_node.jstree
If you need it some other time (besides the event) get the node and check its position among its siblings (by getting the parent and inspecting the parent's children array).


No description displayed in showHelp

I noticed that there was no exclamation mark at line 104 of Command.java
        if (description.equals(""))
            sb.append(": ").append(description);

to
        if (!description.equals(""))
            sb.append(": ").append(description);

PR merged, will make a release later.


Compact view

Hi!
I would like to have a compact view mode for NERDTree. It could look like this:
" Press ? for help    |
                      |~
.. (up a dir)         |~
</tmp/nerdtree/       |~
▾autoload/            |~
 ▾nerdtree/           |~
   ui_glue.vim        |~
  nerdtree.vim        |~
▸doc/                 |~
▾lib/nerdtree/        |~
  bookmark.vim        |~
  creator.vim         |~
  event.vim           |~
  flag_set.vim        |~
  key_map.vim         |~
  menu_controller.vim |~
  menu_item.vim       |~
  nerdtree.vim        |~
  notifier.vim        |~
  opener.vim          |~
  path.vim            |~
  tree_dir_node.vim   |~
  tree_file_node.vim  |~
  ui.vim              |~
▸nerdtree_plugin/     |~
▸plugin/              |~
▸syntax/              |~
 CHANGELOG            |~
 LICENCE              |~
 README.markdown      |~
 screenshot.png       |~

so that there are no spaces after g:NERDTreeDirArrowExpandable/g:NERDTreeDirArrowCollapsible and reduced number of spaces for nested nodes.
I tried to remove space here, but it seems to break actions on files, also it doesn't address the space for files.
What would be the easiest way to achieve the appearance I want?

Put this file in your vim configuration. As stated in the comment, name it ~/.vim/after/syntax/nerdtree.vim.
" This syntax file changes the indentation of NERDTree to appear as 1 space
" per level instead of the normal 2 spaces. It works only if your vim has the
" +conceal feature turned on, and it must be put saved as
" ~/.vim/after/syntax/nerdtree.vim to work properly.

if has("conceal")
    syntax clear NERDTreeOpenable
    syntax clear NERDTreeClosable
    let s:dirArrows = escape(g:NERDTreeDirArrowCollapsible, '~]\-').escape(g:NERDTreeDirArrowExpandable, '~]\-')
    exec 'syntax match CompressSpaces #['.s:dirArrows.' ]\zs \ze# containedin=ALL conceal'
endif

Here's an improved version that doesn't squash filenames with double spaces in them, however unlikely that is.
" This syntax file changes the indentation of NERDTree to appear as 1 space
" per level instead of the normal 2 spaces. It works only if your vim has the
" +conceal feature turned on, and it must be saved as
" ~/.vim/after/syntax/nerdtree.vim to work properly.

if has("conceal")
    syntax clear NERDTreeOpenable
    syntax clear NERDTreeClosable
    let s:dirArrows = escape(g:NERDTreeDirArrowCollapsible, '~]\-').escape(g:NERDTreeDirArrowExpandable, '~]\-')
    exec 'syntax match CompressSpaces #['.s:dirArrows.' ]\zs \ze.*' . g:NERDTreeNodeDelimiter . '# containedin=ALL conceal'
endif

@PhilRunninger Thank you! It works perfectly.


Implement RFC0017: Paketo Community Go HTTP Function Buildpack

RFC
Summary
A Go buildpack that wraps an http.HandlerFunc in appropriate scaffolding to serve HTTP, and composes nicely with the existing go-build buildpacks.

@mattmoor Doing some house keeping and ran across this issue. What is the status of this work and the state of the world? Can we do something to help you complete this task?

I was pushing on this as part of my work at VMware (which I left 2 months before this issue was even opened), so I'm definitely the wrong person to poke about this.

I was pushing on this as part of my work at VMware (which I left 2 months before this issue was even opened), so I'm definitely the wrong person to poke about this.

Well that is good to know. I will start digging for some relevant parties.


v122 launches significantly slower than v121 on Windows XP

Describe the bug
122 version launches much slower than 121 version on Windows XP.
To Reproduce
Steps to reproduce the behavior:

Double click chrome.exe
Check how long it takes on 121 and 122

Expected behavior
Launches faster like in 121
Screenshots
Desktop (please complete the following information):

OS: Windows XP SP3 (MCE 2004)
Bitness of browser: ?

Not sure if this can be a duplicate of #358

You need to be more specific. How long does it take for the browser to open? "fast/not fast" is not a meaningful measure of time. More importantly, what hardware are you testing this on? Please be as descriptive as you can with these issues.

CPU - Intel i5-2450M, RAM 8 GB (PAE Enabled)
121: 19 secs / 122: 57 secs

This is true, I've got a Dell laptop with an Intel Centrino Duo running @ 1.83Ghz and 4 gigs of RAM, and of course Microsoft Windows XP. The browser takes more than one minute to load, compared to versions 119 & 121, which were much quicker (even after trying to optimize it through the various settings and flags).

@bluedragon-cairo Does this slowness only happen on the first startup of the browser in a Windows session, or is the slowness happening also on 2nd, 3rd, 4th start and so on?
@win32ss is there any way for the affected people to deliver some trace-like-debug so that we can see where the time is consumed? I am sure, that this is not just missing caching.

Perhaps there are race conditions occurring that are causing the delayed startup of the browser. If there's a lot of CPU cycles being consumed or lots of disk I/O, a tool like Process Hacker or Process Explorer will indicate where the problem may lie, but I cannot think of an existing tool that would single out threads with a disproportionately high level of disk I/O or CPU usage and provide call stacks for it, with minimal intervention from the user.
In any event I have been tweaking the synchronization primitives used in progwrp. The handle leak in condition variables could not be fixed without reducing the stability of the browser, although performance may be improved over the earlier implementation.
progwrp_32.zip

This progwrp.dll is different than the other one.

@bluedragon-cairo please retest with "Supermium 122.0.6261.152 (R4)" 32bit and with the following file:
https://github.com/IDA-RE-things/Chrome-xp-api-adapter/releases v<IP_ADDRESS>31
Extract the dll, rename it to progwrp.dll and copy it over the existing one in the Supermium folder.
Does that help you against the slow startup? If yes, please close this ticket.

I think it starts fast.


Upgrade turbolinks 5.0.1

Coverage remained the same at 100.0% when pulling 9cef6ab072e278f9015df07ecfe81a6604ffc25b on fix/upgrade-turbolinks-5.0.1 into 5e2bb12ae06908b1e361e4311c3d2a0350fb8d5d on master.


Fix injection: prefer jaeger in the same namespace

Resolves https://issues.redhat.com/browse/TRACING-3722

Which problem is this PR solving?

With this patch the agent injection code prefers Jaeger in the same namespace.
Before if jaeger production (with a separate jaeger-query pod that injects agent) was created in multiple namespaces the jaeger-agent injected into the query pod was overridden to the Jaeger that was return as first from the API server.
docker image: docker.io/pavolloffay/jaeger-operator:agent-issue-PR2383-1
Description of the changes
See the comment in the code
How was this change tested?

Checklist

[ ] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md
[ ] I have signed all commits
[ ] I have added unit tests for the new functionality
[ ] I have run lint and test steps successfully

for jaeger: make lint test
for jaeger-ui: yarn lint and yarn test

I will wait for @IshwarKanse confirmation on tests before merging

@pavolloffay Verified the bug fix and left a comment in the jira. We can proceed to merge this PR.


Can not sign in

Subject: Can not sign in
Description:
can not log in with just new account
<EMAIL_ADDRESS>Results:
can not log in with just new account
<EMAIL_ADDRESS>how to get in my account?
regards
Gunta
Backend version: develop-0023fa73
Frontend version:
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Page: https://couchers.org/signup
User:

dupe #3520


fix: Make filename relative to sys.path

Raven behavior for comparison: https://github.com/getsentry/raven-python/blob/719be9afae528962e683d086f9c2ceeda07f881b/raven/utils/stacks.py#L275-L282

Codecov Report

Merging #121 into master will decrease coverage by 11.34%.
The diff coverage is 50%.

@@             Coverage Diff             @@
##           master     #121       +/-   ##
===========================================
- Coverage   66.91%   55.57%   -11.35%
===========================================
  Files          25       25
  Lines        2457     2235      -222
  Branches      352      316       -36
===========================================
- Hits         1644     1242      -402
- Misses        680      863      +183
+ Partials      133      130        -3

Impacted Files
Coverage Δ

sentry_sdk/utils.py
58.07% <50%> (-8.74%)
:arrow_down:

sentry_sdk/integrations/django/__init__.py
0% <0%> (-71.12%)
:arrow_down:

sentry_sdk/integrations/django/transactions.py
0% <0%> (-67.75%)
:arrow_down:

sentry_sdk/_compat.py
50% <0%> (-30.77%)
:arrow_down:

sentry_sdk/integrations/aws_lambda.py
0% <0%> (-12.83%)
:arrow_down:

sentry_sdk/api.py
51.61% <0%> (-7.3%)
:arrow_down:

sentry_sdk/integrations/__init__.py
48.97% <0%> (-7.09%)
:arrow_down:

sentry_sdk/integrations/excepthook.py
71.42% <0%> (-6.84%)
:arrow_down:

sentry_sdk/client.py
51.14% <0%> (-6.36%)
:arrow_down:

... and 11 more

Continue to review full report at Codecov.

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


New startup error

It's been a little while since I've played this Master Duel mod (one of my favorite games of all time) and this new error message started appearing. Normally, my issues are resolved either by allowing Master Duel to update and or clearing the cache and allowing it to redownload, but I'm not having any luck this time. Does anyone have a clue?

Your mod version is out of date download it again from here and overwrite.
https://github.com/pixeltris/YgoMaster/releases

Your mod version is out of date download it again from here and overwrite.
https://github.com/pixeltris/YgoMaster/releases

That did get the game started, but while I have my profile, unlocked cards, and decks, my progression seems to have been wiped. I'm okay with starting over at LOB again, but the packs I'm being offered are all for the most recent sets. What I loved about the game was the progression and the grind. Am I missing something?

As mentioned in the readme when you update you want to copy over your old /YgoMaster/Data/Players/ folder as this contains your save data.

When I update the game, it runs beautifully with all my same cards and decks.

My accessories are all there, as is my currency. However, the shop is no longer offering the real TCG packs.

Is there something in the settings I must enable, or is there a way I can reset my set progress? I'm totally fine with starting over as long as I get to play the game starting from LOB and progressing as before, but when I removed my player file to start a new save, I was still being given the very newest cards from the TCG in the sets.

You're after the download from #1, the download in the regular releases page is for the regular master duel content.

IT'S WORKING! Oh man, thank you so much! Everything is as it should be, and I can get back to grinding one of my most favorite games ever. You've really done a killer job on this. Thanks a million for everything you do.


Localize Datepicker

As of writing, both month names and day abbreviations of the Datepicker widget are hardcoded str arrays corresponding to the English values. It would be great if one could easily (or even automatically) replace them with translated values.

Thank you for pointing this out. I've opened a PR with a fix for this. It allows localizing the months/days by adding the appropriate key/value pairs to a user translation (ftl) file. For example, in French:
January = Janvier

The datepicker will now use the translation if the locale is set to do so. To see this in action, add the following to the datepicker.rs example within the application closure (on the datepicker-localize branch till merged):
cx.add_translation(langid!("fr"), include_str!("../resources/translations/fr/hello.ftl"));
cx.set_language(langid!("fr"));

Localization will now fallback to the key if no translation could be found, so if no translation is provided the datepicker will fallback to English.

Should be closed by #353 (haven't tested it yet, but one can always reopen)


file adapter runs out of memory on a very large write

Here's a simple scenario that leads to the OOM:
./bin/juttle -e "read stochastic -source 'logs' -from :2014-01-01: -nhosts 100 -lpm 1000 | write file -file 'test.json'"

From a quick look at the code its waiting to accumulate all of the data points before writing them out to the underlying file instead of writing out each point or batches of points in order to avoid running out of memory.

@demmer may interest you.


ADF Paging support update

removed<EMAIL_ADDRESS>prefix in responses (this is safe as we never used the Paging before) and it's behind a breaking new api-version 2015-07-01-preview for next release.

Created two list parameter types for Slice and Slice Runs for better future forward-compatibility.

Updated and rerun all the HTTP mock tests.

Hi @yitao-zhang, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (yitzhang). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

There are still 3-4 changes on the way for this Sdk release so we will update sdk version once we start merging from DataFactoriesDev branch into Main branch.


texlive.combine: package 'combine' from CTAN not usable

The attribute texlive.combine masks the package combine from TeX Live, which is thus not accessible for normal use. In the future, TeX Live could at any time ship bin, combined, tlpdb, which would also be masked by the current texlive implementation.
If anybody can think of a clever, non-breaking fix for 23.05...
For 23.11, I am working on a new interface (like texlive.withPackages, or texlive.scheme-*.withPackages, or something else of the sort) and since it would be a breaking change, we will be free to resolve the issue properly by e.g. moving the packages under texlive.packages.
Steps To Reproduce
According to the docs, to get the combine package, one should use
texlive.combine {
  inherit (texlive) scheme-infraonly combine;
}

which does not work as intended, because texlive.combine is not a TeX Live package but a special Nixpkgs builder.
Notify maintainers
@veprbl
Cc @apfelkuchen6

Some work for this has been done in #120578.

This now works using with texliveSmall.withPackages.


Update umadbro

count=$(($count+1)) results in a loop that never ends.
As $RANDOM gives a number between 0 - 32767 this could result in a quite small fake volume

schweeeetSiOn 26 August 2016 at 16:18 int0x80<EMAIL_ADDRESS>wrote:Merged #1.—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for the diff :)
On Aug 26, 2016 11:55, "SecuritySense"<EMAIL_ADDRESS>wrote:

schweeeetSiOn 26 August 2016 at 16:18 int0x80<EMAIL_ADDRESS>wrote:Merged #1.—You are receiving this because you authored the
thread.Reply to this email directly, view it on GitHub, or mute the
thread.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/int0x80/anti-forensics/pull/1#issuecomment-242790223,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABAwqHSVs8qOrAQ2k40g0REaeB8jalL0ks5qjxqYgaJpZM4Jtf24
.


[File Connector] Java 21 warning for DirectoryChangesSource

[warn] /home/runner/work/pekko-connectors/pekko-connectors/file/src/main/java/org/apache/pekko/stream/connectors/file/impl/DirectoryChangesSource.java:103:1: com.sun.nio.file.SensitivityWatchEventModifier in com.sun.nio.file has been deprecated and marked for removal

duplicate of #296


Waybar not displayed in Sway after upgraded to 23.11

Describe the bug
After I upgraded from 23.05 to 23.11, my configured waybar in sway does not launch automatically untill I reload sway several times.
Steps To Reproduce
Steps to reproduce the behavior:

With home-manager config wayland.windowManager.sway.config.bars = [{ command = "${pkgs.waybar}/bin/waybar"; }];
Upgrade to 23.11 from 23.05
Reboot found that waybar is not displayed.

Expected behavior
Waybar is not displayed.
Screenshots
Under 23.11

Under 23.05

Additional context
Related configuration.nix
{
  programs.sway.enable = true;
  services.greetd.enable = true;
  services.greetd.settings.default_session = {
    user = "xinyifly";
    command = "sway";
  };
}

I didn't see any waybar process running on startup while it exists under 23.05
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.69, NixOS, 23.11 (Tapir), 23.11.20231225.d02d818`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(root): `"nixos-23.11"`
 - channels(xinyifly): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

Can you try launching waybar in a terminal to see if there are any errors?

This looks like a home-manager issue, probably caused by some kind of race condition between waybar and sway. Since there is no further information, I will close this issue first.

@Aleksanaa Thank you for your clue of race condition, which inspired me checked failed systemd user units, I found that systemctl --user status xdg-desktop-portal-wlr.service is complaining:
Mar 12 23:57:13 t8 systemd[2511]: Starting Portal service (wlroots implementation)...
Mar 12 23:57:13 t8 xdg-desktop-portal-wlr[25131]: 2024/03/12 23:57:13 [ERROR] - pipewire: couldn't connect to context
Mar 12 23:57:13 t8 xdg-desktop-portal-wlr[25131]: 2024/03/12 23:57:13 [ERROR] - xdpw: failed to initialize screencast
Mar 12 23:57:13 t8 xdg-desktop-portal-wlr[25131]: 'impl->enter_count > 0' failed at ../spa/plugins/support/loop.c:362 loop_leave()

And finally found adding services.pipewire.enable = true; to configuration.nix solved this issue.


Spanner client lib API changes

Moved to newer version of Spanner client lib for new functionality of structs.
It involved some API changes for us, and also support for reading Struct columns as Structs. Added new unit tests to cover this case.
Note that these changes were necessary when going to 0.53.0-alpha BOM for the GCP client libs, which we have already done for the 1.0.x branch.

@meltsufin PTAL


Linux?

this repo serve as a example by add more gpu on windows , while linux has more easier way .
which has less steps than this repo on windows .and Ollama official supported it , by override thing to get running on everything . Their easier approach is using HSA_OVERRIDE_GFX_VERSION eg, export HSA_OVERRIDE_GFX_VERSION=11.0.0 override with support gpu. then running Ollama run llama3 . more support information ,you will find in the Ollama official discord .try search your answer from the discord history chat , there has many solution over there.


[RFC][AUTOTVM] Counting FLOPs vs. OPs

AutoTVM has a handy floating point operation counter that has fit most use cases to this point, as almost all tuned workloads have been floating point. However, the recent introduction of the quantization pass means that we may be seeing non-floating point templates in the near-future. The current counter enforces that the data type at the bottom of every computation is some kind of a float, which breaks on tasks extracted from quantized graphs.
Should we ignore this for now (e.g., manually add "FLOP"s in this case), migrate to just counting "OPs", or something else like maintaining more than one counter?
CC @merrymercy @tqchen @ZihengJiang

I prefer ops, since we only need a metric for evaluating the computation overhead

counting ops, or more specifically, MOPS(number of multiplications) is usually a good proxy for perf

Yes, we should move to OPS.
The reason I used FLOP is to discard the integer multiplications in index expressions.
If we want to count integer OPs, should we discard them?

seems we are converging to OPS, maybe we can summarize the decision and conclude by closing the RFC @eqy

Okay, the question is should we implement this change---@merrymercy has a point about whether we want to count index expressions. Is there an easy way to discard them?

This came up in some of my int8 work, so I put together a pretty minimal PR at #2776 which I believe addresses this (modulo renaming compute_flops to something more general). To @eqy's point, it's pretty straightforward to ignore indexing expressions, and IMO ignoring them is the correct thing to do for essentially all the use-cases we have. If we were looking at extending this functionality, analytically computing the total amount of memory traffic (i.e. loads/stores) would be pretty useful, then we can essentially compute the roofline position of a given AutoTVM candidate which would be very helpful for stuff like e.g. early stopping.


Unable to use likeBy() method

When I try to use $model->likeBy($user->id) the following is returned:
Call to undefined method App\Product::likeBy() {"exception":"[object] (BadMethodCallException(code: 0): Call to undefined method App\\Product::likeBy() at /home/vagrant/sites/site-server/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:50)
In order to trigger a like action (or at least see data land in the love_reactions table), I have to use this pretty verbose code:
$reactionType = ReactionType::fromName('Like');
$reacter = $user->getLoveReacter();
$reactant = $product->getLoveReactant();
$reaction = $reacter->reactTo($reactant, $reactionType);

Yet when I dd($reaction) it is empty.
What am I missing here? The readme or documentation doesn't really explain how to explicitly set a like/dislike, so I'm really grabbing what I can from closed tickets and a lot of trail and error.

Hey @zachisit! getLoveReacter() and getLoveReactant() is a low level methods, you can use facades to make your code cleaner.

https://laravel-love.readme.io/docs/reacter-facade
https://laravel-love.readme.io/docs/reactant-facade

$user->viaLoveReacter()->reactTo($product, 'Like');

Hey @zachisit! getLoveReacter() and getLoveReactant() is a low level methods, you can use facades to make your code cleaner.

https://laravel-love.readme.io/docs/reacter-facade
https://laravel-love.readme.io/docs/reactant-facade

$user->viaLoveReacter()->reactTo($product, 'Like');

$model->likeBy($user->id) this is an old legacy API that had limited functionality and was replaced with a new architectural solution.

$model->likeBy($user->id) this is an old legacy API that had limited functionality and was replaced with a new architectural solution.

@antonkomarev Using your code $user->viaLoveReacter()->reactTo($product, 'Like'), can you explain why $product->getLikesCount() returns 0 yet I can see entries in the love_reactions table attached to this Product?

@antonkomarev Using your code $user->viaLoveReacter()->reactTo($product, 'Like'), can you explain why $product->getLikesCount() returns 0 yet I can see entries in the love_reactions table attached to this Product?

Take a look in love_reactant_reaction_totals and love_reactant_reaction_counters tables. If there are values with valid counts?
Those values updates asynchronously: https://laravel-love.readme.io/v8/docs/aggregation-queue

Take a look in love_reactant_reaction_totals and love_reactant_reaction_counters tables. If there are values with valid counts?
Those values updates asynchronously: https://laravel-love.readme.io/v8/docs/aggregation-queue

Yes exactly, that is what I'm referring to above. I'm seeing a valid count of "2" in the love_reactant_reaction_counters table, and I see count of "2" in the love_reactant_reaction_counters tables. So I see the data there. Yet the code I run directly after initiating the likes returns a "0" value:
$user->viaLoveReacter()->reactTo($product, 'Like');
$product->viaLoveReactant()->getReactionCounterOfType('Like')->getCount(); // returns 0!

This logic is triggered from a unit test, which reaches out to the codebase to interact with the Models.
If I see data in these two tables that we're referencing, then shouldn't that count be returned from the getCount() method? What could I be missing here?

Yes exactly, that is what I'm referring to above. I'm seeing a valid count of "2" in the love_reactant_reaction_counters table, and I see count of "2" in the love_reactant_reaction_counters tables. So I see the data there. Yet the code I run directly after initiating the likes returns a "0" value:
$user->viaLoveReacter()->reactTo($product, 'Like');
$product->viaLoveReactant()->getReactionCounterOfType('Like')->getCount(); // returns 0!

This logic is triggered from a unit test, which reaches out to the codebase to interact with the Models.
If I see data in these two tables that we're referencing, then shouldn't that count be returned from the getCount() method? What could I be missing here?

That seems really strange for me.
Have you tried to receive all counters and check them out?
$reactionCounters = $reactantFacade->getReactionCounters();
dd($reactionCounters);

And check the reaction total?
$reactionTotal = $reactantFacade->getReactionTotal();
dd($reactionTotal);

That seems really strange for me.
Have you tried to receive all counters and check them out?
$reactionCounters = $reactantFacade->getReactionCounters();
dd($reactionCounters);

And check the reaction total?
$reactionTotal = $reactantFacade->getReactionTotal();
dd($reactionTotal);

Here is the output from the full process:
$user = User::findOrFail(33);
$product = Product::findOrFail(5);

$user->viaLoveReacter()->reactTo($product, 'Like');
Log::info($product->getLikesCount()); // returns 0
Log::info($product->viaLoveReactant()->getReactionCounterOfType('Like')->getCount()); // returns 0
$reactionCounters = $product->viaLoveReactant()->getReactionCounters();
Log::info($reactionCounters); // returns empty array []
$reactionTotal = $product->viaLoveReactant()->getReactionTotal();
dd($reactionTotal); // see below:

The dd($reactionTotal) will return:
Cog\Laravel\Love\Reactant\ReactionTotal\Models\NullReactionTotal^ {#4589
  -reactant: Cog\Laravel\Love\Reactant\Models\Reactant^ {#4538
    #table: "love_reactants"
    #fillable: array:1 [
      0 => "type"
    ]
    #casts: array:1 [
      "id" => "string"
    ]
    #connection: "mysql"
    #primaryKey: "id"
    #keyType: "int"
    +incrementing: true
    #with: []
    #withCount: []
    #perPage: 15
    +exists: true
    +wasRecentlyCreated: false
    #attributes: array:4 [
      "id" => 5
      "type" => "App\Product"
      "created_at" => "2021-01-19 19:56:04"
      "updated_at" => "2021-01-19 19:56:04"
    ]
    #original: array:4 [
      "id" => 5
      "type" => "App\Product"
      "created_at" => "2021-01-19 19:56:04"
      "updated_at" => "2021-01-19 19:56:04"
    ]
    #changes: []
    #classCastCache: []
    #dates: []
    #dateFormat: null
    #appends: []
    #dispatchesEvents: []
    #observables: []
    #relations: array:2 [
      "reactionCounters" => Illuminate\Database\Eloquent\Collection^ {#4591
        #items: []
      }
      "reactionTotal" => null
    ]
    #touches: []
    +timestamps: true
    #hidden: []
    #visible: []
    #guarded: array:1 [
      0 => "*"
    ]
  }
}

Here is the output from the full process:
$user = User::findOrFail(33);
$product = Product::findOrFail(5);

$user->viaLoveReacter()->reactTo($product, 'Like');
Log::info($product->getLikesCount()); // returns 0
Log::info($product->viaLoveReactant()->getReactionCounterOfType('Like')->getCount()); // returns 0
$reactionCounters = $product->viaLoveReactant()->getReactionCounters();
Log::info($reactionCounters); // returns empty array []
$reactionTotal = $product->viaLoveReactant()->getReactionTotal();
dd($reactionTotal); // see below:

The dd($reactionTotal) will return:
Cog\Laravel\Love\Reactant\ReactionTotal\Models\NullReactionTotal^ {#4589
  -reactant: Cog\Laravel\Love\Reactant\Models\Reactant^ {#4538
    #table: "love_reactants"
    #fillable: array:1 [
      0 => "type"
    ]
    #casts: array:1 [
      "id" => "string"
    ]
    #connection: "mysql"
    #primaryKey: "id"
    #keyType: "int"
    +incrementing: true
    #with: []
    #withCount: []
    #perPage: 15
    +exists: true
    +wasRecentlyCreated: false
    #attributes: array:4 [
      "id" => 5
      "type" => "App\Product"
      "created_at" => "2021-01-19 19:56:04"
      "updated_at" => "2021-01-19 19:56:04"
    ]
    #original: array:4 [
      "id" => 5
      "type" => "App\Product"
      "created_at" => "2021-01-19 19:56:04"
      "updated_at" => "2021-01-19 19:56:04"
    ]
    #changes: []
    #classCastCache: []
    #dates: []
    #dateFormat: null
    #appends: []
    #dispatchesEvents: []
    #observables: []
    #relations: array:2 [
      "reactionCounters" => Illuminate\Database\Eloquent\Collection^ {#4591
        #items: []
      }
      "reactionTotal" => null
    ]
    #touches: []
    +timestamps: true
    #hidden: []
    #visible: []
    #guarded: array:1 [
      0 => "*"
    ]
  }
}

What queue driver you have in .env file? If it is not sync, have you launched queue worker?
You can try to recount stats manually:
php artisan love:recount

After then check for the counters and total.

What queue driver you have in .env file? If it is not sync, have you launched queue worker?
You can try to recount stats manually:
php artisan love:recount

After then check for the counters and total.

Closing this issue due to inactivity. Feel free to continue conversation here if issue is still unresolved.


Golang1.12

Use golang 1.12.x. Ditch submodules in favor of modules. Some Makefile simplification.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@bf5ccdd). Click here to learn what that means.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   54.39%
=========================================
  Files             ?      110
  Lines             ?     8278
  Branches          ?        0
=========================================
  Hits              ?     4503
  Misses            ?     3335
  Partials          ?      440

Impacted Files
Coverage Δ

bazel/execution/service.go
40.6% <0%> (ø)

scootapi/server/server.go
0% <0%> (ø)

common/dialer/dialer.go
0% <0%> (ø)

workerapi/server/server.go
0% <0%> (ø)

Continue to review full report at Codecov.

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


Documentation restructured

Coverage remained the same at 98.256% when pulling 695b42022383a5d1cdc77ca78a205e43cc87c910 on hotfix/more-documentation into b22bf35179192175006eea67b1bd1a55884e25dd on master.

Coverage remained the same at 98.256% when pulling 4a097626806d144ab16fb893ccf385d3d05415db on hotfix/more-documentation into b22bf35179192175006eea67b1bd1a55884e25dd on master.


Stay connected on refresh without auto-popupping Sequence

Resolves #9
Context: https://github.com/Glo-Foundation/glo-wallet/issues/9#issuecomment-1573423901
I think less = more in this case unless I'm missing something 😬

Why is the useEffect removed?

useEffect was only used before to trigger auto-opening of the Sequence auth. We don't want that. No need to keep it around empty, right?


merge last changes

Sorry it took so long. Had to solve few conflicts, will check tomorrow if everything is merged right.


fix: prevent sending unexpected headers to gRPC backend

Issue
https://gravitee.atlassian.net/browse/APIM-3675
Description
gRPC APIs were sending unexpected headers to gRPC backend:

a duplicated Content-Type header
the Host header

Additional context

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 3.0.2-apim3675-SNAPSHOT
download it from Artifactory here

:tada: This PR is included in version 3.0.2 :tada:
The release is available on:

3.0.2
GitHub release

Your semantic-release bot :package::rocket: