error running sh make.sh

Hi There. I have make a new environment in anaconda and install all the requirements in it.
# packages in environment at /home/hisham/anaconda3/envs/py36:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main
blas                      1.0                         mkl
bzip2                     1.0.8                h516909a_1    conda-forge
ca-certificates           2019.9.11            hecc5488_0    conda-forge
cairo                     1.16.0            hfb77d84_1002    conda-forge
certifi                   2019.9.11                py36_0
cffi                      1.12.3           py36h2e261b9_0    anaconda
cuda90                    1.0                  h6433d27_0    pytorch
cudatoolkit               9.2                           0
cycler                    0.10.0                     py_1    conda-forge
cython                    0.29.13          py36he6710b0_0    anaconda
dbus                      1.13.6               he372182_0    conda-forge
easydict                  1.9                        py_0    conda-forge
expat                     2.2.5             he1b5a44_1003    conda-forge
ffmpeg                    4.1.3                h167e202_0    conda-forge
fontconfig                2.13.1            h86ecdb6_1001    conda-forge
freetype                  2.10.0               he983fc9_1    conda-forge
gettext                   <IP_ADDRESS>          hc5be6a0_1002    conda-forge
giflib                    5.1.9                h516909a_0    conda-forge
glib                      2.58.3            h6f030ca_1002    conda-forge
gmp                       6.1.2             hf484d3e_1000    conda-forge
gnutls                    3.6.5             hd3a4fd2_1002    conda-forge
graphite2                 1.3.13            hf484d3e_1000    conda-forge
gst-plugins-base          1.14.5               h0935bb2_0    conda-forge
gstreamer                 1.14.5               h36ae1b5_0    conda-forge
harfbuzz                  2.4.0                h9f30f68_3    conda-forge
hdf5                      1.10.5          nompi_h3c11f04_1103    conda-forge
icu                       64.2                 he1b5a44_1    conda-forge
intel-openmp              2019.4                      243
jasper                    1.900.1           h07fcdf6_1006    conda-forge
jpeg                      9c                h14c3975_1001    conda-forge
kiwisolver                1.1.0            py36hc9558a2_0    conda-forge
lame                      3.100             h14c3975_1001    conda-forge
libblas                   3.8.0                    12_mkl    conda-forge
libcblas                  3.8.0                    12_mkl    conda-forge
libclang                  9.0.0                hc9558a2_0    conda-forge
libedit                   3.1.20181209         hc058e9b_0
libffi                    3.2.1                hd88cf55_4
libgcc-ng                 9.1.0                hdf63c60_0
libgfortran-ng            7.3.0                hdf63c60_0
libiconv                  1.15              h516909a_1005    conda-forge
liblapack                 3.8.0                    12_mkl    conda-forge
liblapacke                3.8.0                    12_mkl    conda-forge
libllvm9                  9.0.0                hc9558a2_2    conda-forge
libpng                    1.6.37               hed695b0_0    conda-forge
libprotobuf               3.9.2                h8b12597_0    conda-forge
libstdcxx-ng              9.1.0                hdf63c60_0
libtiff                   4.0.10            h57b8799_1003    conda-forge
libuuid                   2.32.1            h14c3975_1000    conda-forge
libwebp                   1.0.2                h576950b_1    conda-forge
libxcb                    1.13              h14c3975_1002    conda-forge
libxkbcommon              0.8.4                h516909a_0    conda-forge
libxml2                   2.9.9                hee79883_5    conda-forge
lz4-c                     1.8.3             he1b5a44_1001    conda-forge
matplotlib                3.1.1                    py36_1    conda-forge
matplotlib-base           3.1.1            py36he7580a8_1    conda-forge
mkl                       2019.4                      243
mkl-service               2.3.0            py36he904b0f_0
mkl_fft                   1.0.14           py36ha843d7b_0
mkl_random                1.1.0            py36hd6b4f25_0
msgpack-python            0.6.1            py36hfd86e86_1    anaconda
ncurses                   6.1                  he6710b0_1
nettle                    3.4.1             h1bed415_1002    conda-forge
ninja                     1.9.0            py36hfd86e86_0
nspr                      4.20              hf484d3e_1000    conda-forge
nss                       3.46                 he751ad9_0    conda-forge
numpy                     1.17.2           py36haad9e8e_0
numpy-base                1.17.2           py36hde5b4d6_0
olefile                   0.46                     py36_0
opencv                    4.1.1            py36ha799480_1    conda-forge
openh264                  1.8.0             hdbcaa40_1000    conda-forge
openssl                   1.1.1d               h7b6447c_2
pcre                      8.41              hf484d3e_1003    conda-forge
pillow                    6.1.0            py36h34e0f95_0
pip                       19.2.3                   py36_0
pixman                    0.38.0            h516909a_1003    conda-forge
protobuf                  3.9.2            py36he1b5a44_1    conda-forge
pthread-stubs             0.4               h14c3975_1001    conda-forge
pycparser                 2.19                     py36_0
pyparsing                 2.4.2                      py_0    conda-forge
pyqt                      5.9.2            py36hcca6a23_4    conda-forge
python                    3.6.9                h265db76_0
python-dateutil           2.8.0                      py_0    conda-forge
pytorch                   0.4.0           py36_cuda9.0.176_cudnn7.1.2_1  [cuda90]  pytorch
pyyaml                    5.1.2            py36h7b6447c_0    anaconda
qt                        5.9.7                h0c104cb_3    conda-forge
readline                  7.0                  h7b6447c_5
scipy                     1.3.1            py36h7c811a0_0    anaconda
setuptools                41.2.0                   py36_0
sip                       4.19.8          py36hf484d3e_1000    conda-forge
six                       1.12.0                   py36_0
sqlite                    3.29.0               h7b6447c_0
tensorboardx              1.8                        py_0    conda-forge
tk                        8.6.9             hed695b0_1003    conda-forge
torchvision               0.2.1                      py_2    pytorch
tornado                   6.0.3            py36h516909a_0    conda-forge
tqdm                      4.36.1                     py_0    conda-forge
wheel                     0.33.6                   py36_0
x264                      1!152.20180806       h14c3975_0    conda-forge
xorg-kbproto              1.0.7             h14c3975_1002    conda-forge
xorg-libice               1.0.10               h516909a_0    conda-forge
xorg-libsm                1.2.3             h84519dc_1000    conda-forge
xorg-libx11               1.6.8                h516909a_0    conda-forge
xorg-libxau               1.0.9                h14c3975_0    conda-forge
xorg-libxdmcp             1.1.3                h516909a_0    conda-forge
xorg-libxext              1.3.4                h516909a_0    conda-forge
xorg-libxrender           0.9.10            h516909a_1002    conda-forge
xorg-renderproto          0.11.1            h14c3975_1002    conda-forge
xorg-xextproto            7.3.0             h14c3975_1002    conda-forge
xorg-xproto               7.0.31            h14c3975_1007    conda-forge
xz                        5.2.4                h14c3975_4
yaml                      0.1.7                h96e3832_1    anaconda
zlib                      1.2.11               h7b6447c_3
zstd                      1.4.0                h3b9ef0a_0    conda-forge

But when i run sh make.sh it gives this error
running build_ext
skipping 'model/utils/bbox.c' Cython extension (up-to-date)
skipping 'pycocotools/_mask.c' Cython extension (up-to-date)
skipping 'numpy_nms/cpu_nms.c' Cython extension (up-to-date)
Compiling nms kernels by nvcc...
make.sh: 26: make.sh: nvcc: not found
Traceback (most recent call last):
  File "build.py", line 3, in <module>
    import torch
  File "/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/__init__.py", line 78, in <module>
    from torch._C import *
ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory
Compiling roi pooling kernels by nvcc...
make.sh: 36: make.sh: nvcc: not found
Traceback (most recent call last):
  File "build.py", line 3, in <module>
    import torch
  File "/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/__init__.py", line 78, in <module>
    from torch._C import *
ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory
Compiling roi align kernels by nvcc...
make.sh: 45: make.sh: nvcc: not found
Traceback (most recent call last):
  File "build.py", line 3, in <module>
    import torch
  File "/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/__init__.py", line 78, in <module>
    from torch._C import *
ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory
Compiling roi crop kernels by nvcc...
make.sh: 54: make.sh: nvcc: not found
Traceback (most recent call last):
  File "build.py", line 3, in <module>
    import torch
  File "/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/__init__.py", line 78, in <module>
    from torch._C import *
ImportError: libcudart.so.9.0: cannot open shared object file: No such file or directory

I am tried many things to resolve this but it doesn't work for me. can you please help me?

Hi, do you have cuda 9.0 installed in /usr/local/cuda-9.0/? I see you have cudatoolkit 9.2 package which is not supported.

@violetteshev I think i haven't installed cuda in  /usr/local/. Now i have and i think i have run the make file successfully. but now when i run python extract_features.py --image_dir /Downloads/bottom-up-features/abc.jpg --out_dir features it gives this error
Traceback (most recent call last):
  File "extract_features.py", line 10, in <module>
    from model.faster_rcnn.resnet import resnet
  File "/home/hisham/Downloads/bottom-up-features/lib/model/faster_rcnn/resnet.py", line 6, in <module>
    from model.faster_rcnn.faster_rcnn import _fasterRCNN
  File "/home/hisham/Downloads/bottom-up-features/lib/model/faster_rcnn/faster_rcnn.py", line 10, in <module>
    from model.rpn.rpn import _RPN
  File "/home/hisham/Downloads/bottom-up-features/lib/model/rpn/rpn.py", line 8, in <module>
    from .proposal_layer import _ProposalLayer
  File "/home/hisham/Downloads/bottom-up-features/lib/model/rpn/proposal_layer.py", line 20, in <module>
    from numpy_nms.cpu_nms import cpu_nms
ModuleNotFoundError: No module named 'numpy_nms.cpu_nms'

@violetteshev i think i haven't installed cuda in /usr/local/. Now i have and i think i have run make file successfully.
running build_ext
skipping 'model/utils/bbox.c' Cython extension (up-to-date)
skipping 'pycocotools/_mask.c' Cython extension (up-to-date)
skipping 'numpy_nms/cpu_nms.c' Cython extension (up-to-date)
Compiling nms kernels by nvcc...
/home/hisham/Downloads/bottom-up-features/lib/model/nms
['/home/hisham/Downloads/bottom-up-features/lib/model/nms/src/nms_cuda_kernel.cu.o']
generating /tmp/tmpr6fh0k_v/_nms.c
setting the current directory to '/tmp/tmpr6fh0k_v'
running build_ext
building '_nms' extension
gcc -pthread -B /home/hisham/anaconda3/envs/py36/compiler_compat -Wl,--sysroot=/ -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c99 -fPIC -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH -I/home/hisham/anaconda3/envs/py36/include/python3.6m -c _nms.c -o ./_nms.o
gcc -pthread -shared -B /home/hisham/anaconda3/envs/py36/compiler_compat -L/home/hisham/anaconda3/envs/py36/lib -Wl,-rpath=/home/hisham/anaconda3/envs/py36/lib -Wl,--no-as-needed -Wl,--sysroot=/ -std=c99 ./_nms.o /home/hisham/Downloads/bottom-up-features/lib/model/nms/src/nms_cuda_kernel.cu.o -o ./_nms.so
Compiling roi pooling kernels by nvcc...
/home/hisham/Downloads/bottom-up-features/lib/model/roi_pooling
generating /tmp/tmpj1xj01mq/_roi_pooling.c
setting the current directory to '/tmp/tmpj1xj01mq'
running build_ext
building '_roi_pooling' extension
creating home
creating home/hisham
creating home/hisham/Downloads
creating home/hisham/Downloads/bottom-up-features
creating home/hisham/Downloads/bottom-up-features/lib
creating home/hisham/Downloads/bottom-up-features/lib/model
creating home/hisham/Downloads/bottom-up-features/lib/model/roi_pooling
creating home/hisham/Downloads/bottom-up-features/lib/model/roi_pooling/src
gcc -pthread -B /home/hisham/anaconda3/envs/py36/compiler_compat -Wl,--sysroot=/ -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c99 -fPIC -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH -I/home/hisham/anaconda3/envs/py36/include/python3.6m -c _roi_pooling.c -o ./_roi_pooling.o
gcc -pthread -B /home/hisham/anaconda3/envs/py36/compiler_compat -Wl,--sysroot=/ -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c99 -fPIC -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH -I/home/hisham/anaconda3/envs/py36/include/python3.6m -c /home/hisham/Downloads/bottom-up-features/lib/model/roi_pooling/src/roi_pooling.c -o ./home/hisham/Downloads/bottom-up-features/lib/model/roi_pooling/src/roi_pooling.o
gcc -pthread -shared -B /home/hisham/anaconda3/envs/py36/compiler_compat -L/home/hisham/anaconda3/envs/py36/lib -Wl,-rpath=/home/hisham/anaconda3/envs/py36/lib -Wl,--no-as-needed -Wl,--sysroot=/ -std=c99 ./_roi_pooling.o ./home/hisham/Downloads/bottom-up-features/lib/model/roi_pooling/src/roi_pooling.o -o ./_roi_pooling.so
Compiling roi align kernels by nvcc...
/home/hisham/Downloads/bottom-up-features/lib/model/roi_align
generating /tmp/tmpl3c9zs2s/_roi_align.c
setting the current directory to '/tmp/tmpl3c9zs2s'
running build_ext
building '_roi_align' extension
creating home
creating home/hisham
creating home/hisham/Downloads
creating home/hisham/Downloads/bottom-up-features
creating home/hisham/Downloads/bottom-up-features/lib
creating home/hisham/Downloads/bottom-up-features/lib/model
creating home/hisham/Downloads/bottom-up-features/lib/model/roi_align
creating home/hisham/Downloads/bottom-up-features/lib/model/roi_align/src
gcc -pthread -B /home/hisham/anaconda3/envs/py36/compiler_compat -Wl,--sysroot=/ -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c99 -fPIC -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH -I/home/hisham/anaconda3/envs/py36/include/python3.6m -c _roi_align.c -o ./_roi_align.o
gcc -pthread -B /home/hisham/anaconda3/envs/py36/compiler_compat -Wl,--sysroot=/ -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c99 -fPIC -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH -I/home/hisham/anaconda3/envs/py36/include/python3.6m -c /home/hisham/Downloads/bottom-up-features/lib/model/roi_align/src/roi_align.c -o ./home/hisham/Downloads/bottom-up-features/lib/model/roi_align/src/roi_align.o
gcc -pthread -shared -B /home/hisham/anaconda3/envs/py36/compiler_compat -L/home/hisham/anaconda3/envs/py36/lib -Wl,-rpath=/home/hisham/anaconda3/envs/py36/lib -Wl,--no-as-needed -Wl,--sysroot=/ -std=c99 ./_roi_align.o ./home/hisham/Downloads/bottom-up-features/lib/model/roi_align/src/roi_align.o -o ./_roi_align.so
Compiling roi crop kernels by nvcc...
/home/hisham/Downloads/bottom-up-features/lib/model/roi_crop
generating /tmp/tmpowmxh77b/_roi_crop.c
setting the current directory to '/tmp/tmpowmxh77b'
running build_ext
building '_roi_crop' extension
creating home
creating home/hisham
creating home/hisham/Downloads
creating home/hisham/Downloads/bottom-up-features
creating home/hisham/Downloads/bottom-up-features/lib
creating home/hisham/Downloads/bottom-up-features/lib/model
creating home/hisham/Downloads/bottom-up-features/lib/model/roi_crop
creating home/hisham/Downloads/bottom-up-features/lib/model/roi_crop/src
gcc -pthread -B /home/hisham/anaconda3/envs/py36/compiler_compat -Wl,--sysroot=/ -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c99 -fPIC -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH -I/home/hisham/anaconda3/envs/py36/include/python3.6m -c _roi_crop.c -o ./_roi_crop.o
gcc -pthread -B /home/hisham/anaconda3/envs/py36/compiler_compat -Wl,--sysroot=/ -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -std=c99 -fPIC -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include -I/home/hisham/anaconda3/envs/py36/lib/python3.6/site-packages/torch/utils/ffi/../../lib/include/TH -I/home/hisham/anaconda3/envs/py36/include/python3.6m -c /home/hisham/Downloads/bottom-up-features/lib/model/roi_crop/src/roi_crop.c -o ./home/hisham/Downloads/bottom-up-features/lib/model/roi_crop/src/roi_crop.o
gcc -pthread -shared -B /home/hisham/anaconda3/envs/py36/compiler_compat -L/home/hisham/anaconda3/envs/py36/lib -Wl,-rpath=/home/hisham/anaconda3/envs/py36/lib -Wl,--no-as-needed -Wl,--sysroot=/ -std=c99 ./_roi_crop.o ./home/hisham/Downloads/bottom-up-features/lib/model/roi_crop/src/roi_crop.o /home/hisham/Downloads/bottom-up-features/lib/model/roi_crop/src/roi_crop_cuda_kernel.cu.o -o ./_roi_crop.so

But Now when i run the command "python extract_features.py --image_dir /Downloads/bottom-up-features/abc.jpg --out_dir features" it gives this error.
/home/hisham/Downloads/bottom-up-features/lib/model/utils/config.py:374: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  yaml_cfg = edict(yaml.load(f))
Traceback (most recent call last):
  File "extract_features.py", line 51, in <module>
    assert use_cuda, 'Works only with CUDA'
AssertionError: Works only with CUDA

can you help me with that?

It means pytorch doesn't see cuda installed. Can you verify that cuda is installed properly by following this guide?

@violetteshev Thank you so much for your help its working now.


Documentation of maskers

This is rather a question than an issue. But I thought this might be the best place to ask, since there is no doc on maskers (yet) and I can't find any information on what would be best practice to use maskers in my case.
Let's assume I've got a sklearn-model which I evaluate using shap exact explainer.
This model is trained with a dataframe like this:
X_train = pd.DataFrame(
    data={
        'x1': np.arange(10) / 2.,
        'x2': np.arange(10)**2,
        'x3': [0, 1, 2, 0, 1, 2, 0, 0, 1, 2],
        'x4': [0, 1, 1, 0, 2, 2, 0, 0, 0, 0],
    }
)

The important variables here are x3 and x4. Both are categoric variables, which are transformed using a One-Hot-Encoder within the pipeline of sklearn-model.
When x3 in (1, 2), then x4 can be element of [0, 1, 2], BUT for x3 == 0, only x4 == 0 is valid. Is there any way to use maskers to mask out this "forbidden" combination? I guess tabular masker would be correct, but I didn't manage to use it in this case.
Thanks in advance!

Did you find an answer @JoElfner  ?
There is now a bit of documentation around maskers on ReadTheDocs.
For example https://shap.readthedocs.io/en/latest/example_notebooks/api_examples/maskers/custom.html

A little surprising tabular data utility generates invalid perturbations by default for categorical features. Perhaps we can do it with invariants or masker, but it is a really inefficient way to represent the idea - it should be just constrained by the feature_map, I think... Does anyone know how to do it in a readable way?

Still an issue, if it's possible a small reference would be nice (nicer than implementing it from scratch).


[Feature Request] A better 404 page ... ?

Is your feature request related to a problem? Please describe
We could have a better 404 page.
Something with an image could help, or the opensearch logo could help.
Describe the solution you'd like to see

Describe alternatives you've considered
No response
Additional context
No response

[Catch All Triage - 1, 2]

Backlogging.


CASR: use short demo survey

With https://github.com/e-mission/e-mission-phone/pull/982, we can now use the shorter form of the demographics survey for CASR.

Will merge this once we go live with 1.3.1


Revert "Fix specialist topic tagging in design system pages"

⚠ This repo is Continuously Deployed: make sure you follow the guidance ⚠
Follow these steps if you are doing a Rails upgrade.

reviewed and closed reinstate the king ww2 is now ww3 we must never give min as I have learnt


WIP: fix: scm tree need refresh to show when isReady

Types

[x] 🐛 Bug Fixes

Background or solution

🤖 Generated by Copilot at 4708980

Move the model setting and event subscription outside of the useEffect hook and into the fetchRepositories function to avoid race conditions and improve UI responsiveness (link)
Remove the dependency array from the useEffect hook that fetches the repositories to prevent unnecessary and redundant fetches and improve performance (link)

fix: #2938
Changelog

🤖 Generated by Copilot at 4708980
This pull request optimizes the SCM resource tree component by initializing and updating it more efficiently, and by reducing unnecessary repository requests.

看起来可以关了

@pipiiiiii 冲突了

https://github.com/opensumi/core/pull/2945
这个 PR 已经改了，这个就关了


Implement the triangular solver

This PR implements the triangular solver in Ginkgo.
The reference and omp versions use a very simple serial version of the solver.
The CUDA version will use the level based solver.
A separate generate kernel is used to setup the matrix and explicitly check if the given matrix is a CSR matrix, if not convert to CSR. The executor specific generate kernels will setup the analysis phase if required( currently only for CUDA, but maybe in the future for OMP as well.)
Unfortunately, this means that the reference and OMP kernels will not be doing the same as the CUDA kernels, so testing the CUDA kernel with the reference will not be possible (I am not really sure how to test the CUDA generate kernel as well, but I guess that will be part of another PR).
Things to discuss:

Currently, it only accepts a lower triangular matrix. So, this may need to be updated, either with a new solver altogether for the upper triangular matrix, or using a transpose to move the lower triangular to a upper triangular (the cost is low as this would be done within the generate which should ideally be called only once), or using a parameter which sets the type of the matrix (L or U) and have two separate solve kernels for L and for U separately.

When you do a triangular solve, I think in general, you would in most cases do a L solve (forward substitution) followed by a U solve(backward substitution) for example, when you have a factorized matrix as in the case of PARILU: L (Ux) = b. First solve Ly=b for y and then solve Ux = y for x.

So, maybe we should have something that does both solves in one apply. Maybe something that takes in a Composition<LinOp> and uses it to solve for both doing consecutive trs applies. We could call it a full_apply or something like that.

@pratikvn We will have a preconditioner that does both solves in one apply. I am almost done with it, and I am working on it now. I is in the branch ilu_preconditioner. Currently, it can set the solvers of both L and U separately with template parameters, and I intended to use an alias for a version with the triangular solvers set.
As far as I know, a complete solver might only be useful for dense matrices since we will not have the actual (not just the partial) L and U of a sparse matrix.

@thoasm , a complete solver can be used for a general triangular matrix as well. Currently, I guess we do not have something to get the complete factorization of a matrix. But I think it should be possible for the user to pass in a triangular matrix (or a composition of L and U) to the trs solver and be able to get the full solution. For example, if you are dealing with SPD matrices, then you would just have a Cholesky factor (one triangular system) which you could use to solve the full matrix.

For example, if you are dealing with SPD matrices, then you would just have a Cholesky factor (one triangular system) which you could use to solve the full matrix.
We would then duplicate the triangular factor, to have separate L-solve and U-solve.

When reviewing @yhmtsai's code, I saw that he also included his part into the install test.
It is the correct thing to do, but I completely forgot about that. You also need to add a small snippet into test_install/test_install.cpp to test if it was installed properly.

@yhmtsai , the CanBeCopied and others in reference/test/solver/trs.cpp cannot be moved to core because they need the generate method to create the solve which needs the executor. And hence this will not work when you build with no executor (As we do in some of the CI containers).

Excellent! @thoasm, I count on you soon finishing the ParILU preconditioner and providing an example on how to use it.


Add Fire-fighting remote for Fire-doors (+ bolts refactor)

About the PR

Air Technicians will find a new fire-fighting door remote in their locker.

 It can bolt, unbolt them and open, close them.

Command, engineering and security remotes (for department heads) can also interact with fire doors.

The code controlling bolting / unbolting has been split out of AirlockDoorComponent into DoorBoltComponent

AirlockDoorSystem has also been split

FireDoor logic shows bolt lights

The Door bolt split could break something I haven't tested.

Media

https://user-images.githubusercontent.com/5285589/236648545-82a0d0fe-66c9-4db6-b10e-d5e07f3b148c.mp4

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

add: Air Technicians will find a new fire-fighting door remote in their locker. It controls FireDoors. Let space in and fire out using a handy remote from a safe distance!
add: FireDoors can be bolted and unbolted by fire-fighting, security, engineering and command door remotes

At about the 10-second mark on the video, you closed a bolted door with the remote. How is that possible?

At about the 10-second mark on the video, you closed a bolted door with the remote. How is that possible?

There are some known bugs with closing fire doors with either the remote or air alarms. I need to resolve that.

could probably use a resprite to not look like the sec remote

could probably use a resprite to not look like the sec remote

Well they kind of all look the same

At about the 10-second mark on the video, you closed a bolted door with the remote. How is that possible?

This is now resolved.

@tom-leys you coming back to this?

@tom-leys you coming back to this?

To be honest, I'd forgotten about it. Is it worthwhile?

@tom-leys you coming back to this?

To be honest, I'd forgotten about it. Is it worthwhile?

I think it would be useful for atmos, the only thing that's odd is that the remote sprites suck, but that isnt a problem with the pr

i am interested in this for atmos techs

oop


Unable to find properties when using profile files

When using application.properties per profile:
application-dev.properties
application-test.properties
application-prod.properties
As indicated here --> https://quarkus.io/guides/config-reference#profile-aware-files
The specific properties required for this plugin are not found, returning:
Caused by: io.quarkus.runtime.configuration.ConfigurationException: One or more configuration errors have prevented the application from starting. The errors are:

SRCFG00014: The config property quarkus.log.cloudwatch.access-key-id is required but it could not be found in any config source
SRCFG00014: The config property quarkus.log.cloudwatch.access-key-secret is required but it could not be found in any config source
SRCFG00014: The config property quarkus.log.cloudwatch.region is required but it could not be found in any config source
SRCFG00014: The config property quarkus.log.cloudwatch.log-group is required but it could not be found in any config source
SRCFG00014: The config property quarkus.log.cloudwatch.log-stream-name is required but it could not be found in any config source

@svemis Thanks for your PR. We are working in a different way to solve environment specific entries, but I will reproduce it and fix your issue as soon as I have got time. Thanks for raising it :)

hey @svemis,
I just found this issue: https://github.com/quarkusio/quarkus/issues/18375
I would say this is not an issue with the extension, rather an issue with Quarkus itself.

I would like to close this issue as Quarkus has been designed with a single profile in mind.

Quarkus does support multiple profiles and the use case mentioned in this issue is completely valid.
@svemis I did a quick test with a setup similar to what you described. The extension started normally and picked the config values from the separate profile file. Could you please check that Quarkus starts with the correct profile while the extension is disabled at first, before trying again with the extension enabled? The active profile will be showed at startup in the following log line:
2023-01-17 09:15:50,189 INFO  [io.quarkus] (main) Profile gwenneg activated.

It is possible that your app started with the wrong one, preventing this extension from loading its config values.

Let's reopen it until we get a response.


many bridges

Will it be possible to connect multiple Discord rooms to the same matrix room so everyone can chat in the same chat?

Wouldn't that send replies to every Discord room too? Discord rooms which wouldn't necessarily have the original message they're replying to. Sounds like it would get confusing.

Yes, that's exactly what I need.  the goal is to connect 5+ channels of discord with telegrams

Running one bridge per channel is possible and may give you the experience you're looking for.

Running one bridge per channel is possible and may give you the experience you're looking for.

on one bridge does not suit me.  I need a lot of bridges in the matrix and the connection between them


feat: add support for docker secrets

Allow users to provide environment variables as a path to a file via XXX_FILE. This allows the use of Docker secrets for passing sensitive info (like passwords, api keys, etc.) when running the containers.

I've updated to the rev 27821a9

@krumware what do we do with this PR?

we'll solve this differently


Can't work on path that have Unicode character

Common issues before reporting
Have you modified the save files
No
Have you tried the latest release
Yes
Describe the bug
Can't work on path that have Unicode character
D:\Git_Playground\palworld-save-tools>py convert.py "D:\Git_Playground\palworld-save-tools\新建文件夹\Level.sav"
D:\Git_Playground\palworld-save-tools\新建文件夹\Level.sav does not exist

D:\Git_Playground\palworld-save-tools>py convert.py "D:\Git_Playground\palworld-save-tools\sav\Level.sav"
Converting D:\Git_Playground\palworld-save-tools\sav\Level.sav to JSON, saving to D:\Git_Playground\palworld-save-tools\sav\Level.sav.json
Decompressing sav file
Loading GVAS file
Writing JSON to D:\Git_Playground\palworld-save-tools\sav\Level.sav.json

"新建文件夹(New Folder)" is the default name when creating a new folder using the Chinese Windows system, similar to "Untitled"
Copy of .sav or .sav.json files
No save data related

Because this Issue does not involve the core functions of the converter, if you don't have time to fix it, just suggest users to use pure ASCII character paths in the README.

Hey, not sure if you've tested this since the bug report was made, but I just tested it with no issues (other than my terminal rendering the path with ?s :stuck_out_tongue_closed_eyes:)


set_shader_param do not ignore capitalization

I recently discovered that the inspector auto-capitalizes all property labels (thanks @eons), but my shader variable was simply "normal". This led to scripting issues when I tried to reference the variable by what I saw in the inspector - get_material().set_shader_param("Normal", load(normal_map_png_path)). I had to use the string "normal" instead.
To fix this, inspector capitalization could match parameter capitalization, or variants could ignore capitalization and make all reference strings lowercase before searching. I doubt someone would be using "Normal" and "normal" params on the same object, they certainly shouldn't be.

Is ok to not ignore, the languages (GDScript and shader language) are case sensitive, and the tooltip shows the real variable name.
But I think custom properties (uniforms and exported variables) should have an (editor) option to let them have their original names in the inspector to help programmers (designers may prefer pretty formatting).
This could be related to #4222 .

Yeah same thing, it can be confusing

But I think custom properties (uniforms and exported variables) should have an (editor) option to let them have their original names in the inspector to help programmers (designers may prefer pretty formatting).

This option exists since 3.1, but doesn't work on Resources in the new inspector (so shader params are still capitalized even with capitalization disabled).

The set_shader_param()
method no longer exists in the 3.2 and master branches, closing.


Doc/subcmd: Fix options table in prepare and run

Fix broken links to k8s/design/resources.
Restore docker port name convention doc from
https://github.com/coreos/rkt/commit/443073354c7d2bb40a3f69d520f4f45f69f2f31d
(eaten in https://github.com/coreos/rkt/commit/96f65b362258cef064ab3a660faa891bc7366cba)

/cc @robszumski

LGTM, you da best for fixing my mistakes


[bytecode verifier] Enable control flow verifier

Enabled control flow checks in the bytecode verifier
The control flow verifier has been running over the stdlib for months with no hiccups. Should be safe to turn on
See #3499 for more details

Test Plan

cargo test

Blocked by #4860

@bors-libra r=dariorussi

:pushpin: Commit 8535361 has been approved by dariorussi

:hourglass: Testing commit<PHONE_NUMBER>8068e0dd20c687e8fb1c1e4171388e with merge 9994cbc02d3a6ffa77b63ab2e0e30dffeb0e512f...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: dariorussi
Pushing 9994cbc02d3a6ffa77b63ab2e0e30dffeb0e512f to master...


[Bug]: Prod/beta flavor messages may be nonsense for users

Summary
A recent feedback came about messages like "Achievements are only available in the prod flavor." and "The leaderboard is only available in the prod flavor." may be nonsense for some of our users. The strings refers to the beta and prod flavor should better be changed with something else which is more understandable for all.
Steps to reproduce
Try to see achievements or leaderboard in beta flavor
Expected behaviour
An explanatory message
Actual behaviour
a message which means something only to user who know about beta
Device name
No response
Android version
All versions
Commons app version
master
Device logs
No response
Screen-shots
No response
Would you like to work on the issue?
No response

Sorry, just to clarify - these messages are only shown when a beta build is used, right? Not if a prod build is used? I haven't been able to reproduce this on prod.
If that is the case, surely if someone is using the beta build, they would be a developer and not a regular user, and should be aware of the prod and beta builds (or should be made aware of them, at least).

I would like to work on this issue but am unable to understand what actually I have to do here, If the required message and response is specified by the mentors here then I will implement them on the app

These messages are not shown in prod, they are only shown to developers who have built the beta flavor by themselves (as we do not distribute any binary for beta). Even if they do not know yet what flavors are, I am willing to think they will search for the text of the tooltip message in the source code.
That being said, any better wording is very welcome :-) How about adding Please check the developer documentation. at the end, for instance?

okay got it , you can assign me the issue now

These messages are not shown in prod, they are only shown to developers who have built the beta flavor by themselves (as we do not distribute any binary for beta). Even if they do not know yet what flavors are, I am willing to think they will search for the text of the tooltip message in the source code.
That being said, any better wording is very welcome :-) How about adding Please check the developer documentation. at the end, for instance?

okay got it , you can assign me the issue now

@Rishavgupta12345 My previous comment was mostly meant for Neslihan. As you can see in the discussion, there is no clear consensus yet. Let's wait until a consensus is reached :-)

That being said, any better wording is very welcome :-) How about adding "Please check the developer documentation" at the end [..]?

I'm good with implementing this. :)

@neslihanturan @nicolas-raoul so tell me the work I have to do in this issue and then please assign me this issue

Just find all occurrences of only available in the prod flavor (might be a bit different) and add Please check the developer documentation. at the end. Thanks! :-)


opendevin:INFO: agent_controller.py:135 OBSERVATION Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}

LLM_MODEL="azure/gpt35exploration"
LLM_API_KEY="0b1dxxxxxxxxxxxxxf2ae9c23"
LLM_EMBEDDING_MODEL="azureopenai"
LLM_BASE_URL="https://explorxxxxxxx.azure.com"
LLM_DEPLOYMENT_NAME="gpt35exploration"
LLM_API_VERSION="2023-03-15-preview"
WORKSPACE_DIR="/Users/nancyedelmary/Desktop/devin/OpenDevin"
SANDBOX_TYPE="exec"

Error :
21:44:56 - opendevin:INFO: agent_controller.py:86
PLAN
hi
Traceback (most recent call last):
File "/Users/nancyedelmary/Desktop/devin/OpenDevin-main/opendevin/controller/agent_controller.py", line 101, in step
action = self.agent.step(self.state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Desktop/devin/OpenDevin-main/agenthub/monologue_agent/agent.py", line 204, in step
self._initialize(state.plan.main_goal)
File "/Users/nancyedelmary/Desktop/devin/OpenDevin-main/agenthub/monologue_agent/agent.py", line 191, in _initialize
self._add_event(action.to_dict())
File "/Users/nancyedelmary/Desktop/devin/OpenDevin-main/agenthub/monologue_agent/agent.py", line 122, in _add_event
self.memory.add_event(event)
File "/Users/nancyedelmary/Desktop/devin/OpenDevin-main/agenthub/monologue_agent/utils/memory.py", line 88, in add_event
self.index.insert(doc)
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/core/indices/base.py", line 242, in insert
self.insert_nodes(nodes, **insert_kwargs)
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/core/indices/vector_store/base.py", line 330, in insert_nodes
self._insert(nodes, **insert_kwargs)
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/core/indices/vector_store/base.py", line 312, in _insert
self._add_nodes_to_index(self._index_struct, nodes, **insert_kwargs)
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/core/indices/vector_store/base.py", line 233, in _add_nodes_to_index
nodes_batch = self._get_node_with_embedding(nodes_batch, show_progress)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/core/indices/vector_store/base.py", line 141, in _get_node_with_embedding
id_to_embed_map = embed_nodes(
^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/core/indices/utils.py", line 138, in embed_nodes
new_embeddings = embed_model.get_text_embedding_batch(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/core/instrumentation/dispatcher.py", line 274, in wrapper
result = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/core/base/embeddings/base.py", line 326, in get_text_embedding_batch
embeddings = self._get_text_embeddings(cur_batch)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/embeddings/openai/base.py", line 427, in _get_text_embeddings
return get_embeddings(
^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/tenacity/init.py", line 289, in wrapped_f
return self(f, *args, **kw)
^^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/tenacity/init.py", line 379, in call
do = self.iter(retry_state=retry_state)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/tenacity/init.py", line 325, in iter
raise retry_exc.reraise()
^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/tenacity/init.py", line 158, in reraise
raise self.last_attempt.result()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
File "/opt/anaconda3/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/tenacity/init.py", line 382, in call
result = fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/llama_index/embeddings/openai/base.py", line 180, in get_embeddings
data = client.embeddings.create(input=list_of_text, model=engine, **kwargs).data
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/openai/resources/embeddings.py", line 113, in create
return self._post(
^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1233, in post
return cast(ResponseT, self.request(cast_to, opts, stream=stream, stream_cls=stream_cls))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 922, in request
return self._request(
^^^^^^^^^^^^^^
File "/Users/nancyedelmary/Library/Caches/pypoetry/virtualenvs/opendevin-ZOAIK5Vs-py3.11/lib/python3.11/site-packages/openai/_base_client.py", line 1013, in _request
raise self._make_status_error_from_response(err.response) from None
openai.NotFoundError: Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}
21:45:12 - opendevin:ERROR: agent_controller.py:108 - Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}
21:45:12 - opendevin:INFO: agent_controller.py:135
OBSERVATION
Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}

@NancyEdelMary The LLM_DEPLOYMENT_NAME value needs to be an embeddings deployment you have in your Azure account. Please take a look at this picture in this comment:
It's not a chat model, like GPT, it's the name for an embedding model deployment.
https://github.com/OpenDevin/OpenDevin/issues/1033#issuecomment-2051240054

The issue is not fixed even after changing the embedding name
Updated Details :
LLM_MODEL="azure/gpt35exploration"
LLM_API_KEY="0b1dxxxxxxxxxxxxxxxxxae9c23"
LLM_EMBEDDING_MODEL="azureopenai" ===>> Modified to "text-xxx-xxx-xxx"
LLM_BASE_URL="https://exploregenaiworkspace.openai.azure.com"
LLM_DEPLOYMENT_NAME="text-emb-ada-002"
LLM_API_VERSION="2023-03-15-preview"
WORKSPACE_DIR="/Users/nancyedelmary/Desktop/devin/OpenDevin"
SANDBOX_TYPE="exec"

Can you please do git log -n1 in console, and tell what you get?
Also, how exactly are you starting opendevin, what is the command, in full?

make run is the command

Just as a stopgap, so we can see if the rest is running fine, can you please change LLM_EMBEDDING_MODEL to "local" ? Does opendevin work for you with this as "local"?

@NancyEdelMary I don't think your LLM_MODEL is a valid one.
The valid ones are here: https://docs.litellm.ai/docs/providers/azure
I would expect to see LLM_MODEL=azure/gpt-4 or LLM_MODEL=azure/gpt-3.5-turbo-16k. Where did you see gpt35exploration?

I tried updating it to LLM_MODEL='azure/gpt-35-turbo' , but now facing
Oops. Something went wrong: LLM Provider NOT provided. Pass in the LLM provider you are trying to call. You passed model=gpt-35-turbo Pass model as E.g. For 'Huggingface' inference endpoints pass in completion(model='huggingface/starcoder',..) Learn more: https://docs.litellm.ai/docs/providersOops. Something went wrong: LLM Provider NOT provided. Pass in the LLM provi

s opendevin work for you with this as "local

==============
STEP 16
21:21:50 - PLAN
hi
Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new
LiteLLM.Info: If you need to debug this error, use `litellm.set_verbose=True'.
21:21:51 - opendevin:ERROR: agent_controller.py:175 - OpenAIException - Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}
21:21:51 - OBSERVATION
OpenAIException - Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}
==============
STEP 17
21:21:51 - PLAN
hi
Give Feedback / Get Help: https://github.com/BerriAI/litellm/issues/new
LiteLLM.Info: If you need to debug this error, use `litellm.set_verbose=True'.
21:21:52 - opendevin:ERROR: agent_controller.py:175 - OpenAIException - Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}
21:21:52 - OBSERVATION
OpenAIException - Error code: 404 - {'error': {'code': '404', 'message': 'Resource not found'}}

where did the string gpt-35-turbo come from? Why is that in the logs?

I tried updating it to LLM_MODEL='azure/gpt-3.5-turbo' ,

@rbren she maybe mistakenly deleted the dot.
--
@NancyEdelMary
Run this to check whether LLM is working properly.
import tomllib as toml
from litellm import completion
from datetime import datetime
file_path=r'config.toml'
config = toml.load(open(file_path,'rb'))

messages = [{ "content": "If there are 10 books in a room and I read 2, how many books are still in the room?","role": "user"}]
dt = datetime.now()
response = completion(model=config['LLM_MODEL'],
                        api_key=config['LLM_API_KEY'],
                        base_url=config.get('LLM_BASE_URL'),
                      messages=messages)

print(response.choices[0].message.content)

dt2 = datetime.now()
print('Used model:',config['LLM_MODEL'])
print(f"Time taken: {(dt2-dt).total_seconds():.1f}s")

I tried updating it to LLM_MODEL='azure/gpt-3.5-turbo' ,

@rbren she maybe mistakenly deleted the dot.
-- @NancyEdelMary Run this to check whether LLM is working properly.
import tomllib as toml
from litellm import completion
from datetime import datetime
file_path=r'config.toml'
config = toml.load(open(file_path,'rb'))

messages = [{ "content": "If there are 10 books in a room and I read 2, how many books are still in the room?","role": "user"}]
dt = datetime.now()
response = completion(model=config['LLM_MODEL'],
                        api_key=config['LLM_API_KEY'],
                        base_url=config.get('LLM_BASE_URL'),
                      messages=messages)

print(response.choices[0].message.content)

dt2 = datetime.now()
print('Used model:',config['LLM_MODEL'])
print(f"Time taken: {(dt2-dt).total_seconds():.1f}s")

@SmartManoj Works fine .Able to get response

Config.toml:

@rben azure/gpt35exploration is a valid one.
@rbren From where did you get this model name?

@rbren Seems azure/gpt35exploration is a valid one. @NancyEdelMary From where did you get this model name?

@SmartManoj  FYR

https://github.com/langchain-ai/langchain/issues/13284#issuecomment-1812873075

Set like this
LLM_MODEL= azure/gpt-35-turbo
LLM_DEPLOYMENT_NAME=gpt35exploration in LLM_MODEL

LLM_MODEL="azure/gpt-35-turbo"
LLM_DEPLOYMENT_NAME="gpt35exploration"

I'm afraid this won't work because Opendevin uses LLM_DEPLOYMENT_NAME only for embeddings, and it needs a deployment for embeddings, not a chat model. (The second "deployment name" in @NancyEdelMary  screenshot).
I seem to see in that langchain comment that they're using it for a (chat) model.

@SmartManoj does not work
@enyst

Let me know what to exactly modify in config.toml file , if any bug exists , let me know that as well, ill refrain from proceeding further.

Seems, LLM_EMBEDDING_DEPLOYMENT_NAME needs to be set.
Detailed info on https://github.com/OpenDevin/OpenDevin/issues/1027#issuecomment-2050443706

Good point, I'll definitely be fixing the reason for a lot of this confusion. But it shouldn't influence you except that it confuses us. The other thing is the api version...
@NancyEdelMary Please set LLM_DEPLOYMENT_NAME to 'text-emb-ada-002', LLM_MODEL='azure/gpt35exploration'.
make build
make run
If you get an error, what exactly is the error you get in console or logs/opendevin.log, if possible?

Seems, LLM_EMBEDDING_DEPLOYMENT_NAME needs to be set. Detailed info on #1027 (comment)

I think it doesn't, the code doesn't use that, it uses LLM_DEPLOYMENT_NAME. But I think we should rename it, because it only refers to embeddings. It really is the "embedding deployment name".
That comment is helpful because it shows the reason why we need to look at deployments on Azure and maybe version, but it also suggests a lot of edits to the code that aren't necessary afaict, and will be a maintenance burden as people upgrade.

Good point, I'll definitely be fixing the reason for a lot of this confusion. But it shouldn't influence you except that it confuses us. The other thing is the api version...
@NancyEdelMary Please set LLM_DEPLOYMENT_NAME to 'text-emb-ada-002', LLM_MODEL='azure/gpt35exploration'. make build make run
If you get an error, what exactly is the error you get in console or logs/opendevin.log, if possible?

and AZURE_API_VERSION instead of LLM_API_VERSION?

Oh, thanks for taking this up! You're fast ❤
I'm just thinking that if we add another "embedding deployment" var, then the var we have becomes unused. 😅 To me that suggests we should rename the existing one, doesn't it?

@enyst Passing AZURE_API_VERSION to LLM call is not needed?

Thanks to your test script in comments above, I see it wasn't necessary in the completion call, isn't that right? The llm.py completion call worked as is.
To be sure, I did assume it may be necessary, too! But so far we suggested to pass in an env var instead, and litellm is reading it if it exists. I don't think Nancy had it set though... so the minimum necessary for completion call on Azure doesn't actually include it. Am I missing something?
This is the documentation on Azure that we have, and it's using the comment you linked as a guideline and help of what works. You may want to see follow-ups on that here: https://github.com/OpenDevin/OpenDevin/issues/1033#issuecomment-2051396745
The next comment suggests renaming the deployment var, and IMHO that is a really good idea. 😅

Thanks to your test script in comments above, I see it wasn't necessary in the completion call, isn't that right? The llm.py completion call worked as is. To be sure, I did assume it may be necessary, too! But so far we suggested to pass in an env var instead, and litellm is reading it if it exists. I don't think Nancy had it set though... so the minimum necessary for completion call on Azure doesn't actually include it. Am I missing something?

Or maybe Nancy did have it in the environment, as our guide does state that. Either way, it's not a strict necessity to send it explicitly in the completion call.

Or maybe Nancy did have it in the environment, as our guide does state that

I think so.
@NancyEdelMary, Could you confirm by running this?
import tomllib as toml
from litellm import completion
from datetime import datetime
file_path=r'config.toml'
config = toml.load(open(file_path,'rb'))

messages = [{ "content": "If there are 10 books in a room and I read 2, how many books are still in the room?","role": "user"}]
dt = datetime.now()
response = completion(model=config['LLM_MODEL'],
                        api_key=config['LLM_API_KEY'],
                        base_url=config.get('LLM_BASE_URL'),
                      messages=messages)

content = response.choices[0].message.content
print(content)

if '8' in content:
    print('There are still 10 books in the room; reading them does not reduce the count. Consider exploring more accurate models for better results.')

dt2 = datetime.now()
print('Used model:',config['LLM_MODEL'])
import os; print('AZURE_API_VERSION',os.environ.get('AZURE_API_VERSION'))
print(f"Time taken: {(dt2-dt).total_seconds():.1f}s")

Same issue here. The env vars look like this:
LLM_MODEL=azure/gpt-4

And still is showing resource not found. After debugging a bit further and printing the value of the model received in the LiteLLM initialization (opendevin-lXH3Xh61-py3.11/lib/python3.11/site-packages/litellm/main.py", line 981) I noticed that it is taking a hardcoded value gpt-3.5-turbo despite no mention of this model on my env vars
It is not correctly reading the value of LLM_MODEL and assign its value to the right var.

Found the error:
https://github.com/OpenDevin/OpenDevin/blob/0e572c3e415dd11eb9b3fa0a286c17edb4051f06/opendevin/server/agent/agent.py#L138
This line is executing this:
        model = self.get_arg_or_default(args, ConfigType.LLM_MODEL)

It is taking the default value from the args. This should be rather replaced to:
        model = config.get(ConfigType.LLM_MODEL)

I created this PR to address this:
https://github.com/OpenDevin/OpenDevin/pull/1271

It is taking the default value from the args.

config.get(ConfigType.LLM_MODEL) is the default value.

When using azure, and when we change the LLM_MODEL environment variable to replace the LLM version, you will notice that the highlighted piece of code, uses the args default value which currently is gpt-3.5-turbo rather than the env var.
This is why it is throwing a resource not found exception. Not every model deployment on Azure follows a standard name, such as @NancyEdelMary example, or my own setup.
My proposed change it will take the actual value from the environment variable, rather than the default written in OpenDevin. I spent a couple hours researching this issue, reproducing it, and finally implementing the fix.

Btw, it is hardcoded here, when launching the monologe agent https://github.com/OpenDevin/OpenDevin/blob/2242702cf94eab7275f2cb148859135018d9b280/frontend/src/services/settingsService.ts#L30

@SmartManoj

So, without the api_version argument, it is failed. right?

I got OpenDevin to work locally with the suggested change. The API version is required in the environment, and the nor the change did cover this. As it is, with the line change of the PR, it works as expected

I try many times, the blow command works.
docker run
-e LLM_API_KEY=XXXXX
-e LLM_BASE_URL=https://XXX-west-us.openai.azure.com/
-e LLM_MODEL=azure/gpt-4-turbo
-e LLM_DEPLOYMENT_NAME=text-embedding-ada-002
-e LLM_API_VERSION=2024-02-15-preview
-e OPENAI_API_VERSION=2024-02-15-preview
-e LLM_EMBEDDING_MODEL=azureopenai
-e LLM_EMBEDDING_DEPLOYMENT_NAME=text-embedding-ada-002
-e WORKSPACE_MOUNT_PATH=/Users/huqianghui/Downloads/OpenDevin-ws
-v /Users/huqianghui/Downloads/OpenDevin-ws:/opt/workspace_base
-v /var/run/docker.sock:/var/run/docker.sock
-p 3000:3000
--add-host host.docker.internal=host-gateway
ghcr.io/opendevin/opendevin:0.3.1
LLM_MODEL : azure/deployment
not
azure/model name.

No
Remove the first LLM_BASE_URL in your config.toml file

@ayanjiushishuai you are absolutely correct. We have now the choices in the UI always overwrite the plain toml, if you run with an UI at all. So you need to set it there. I just tried too, to set a value that is not necessarily in the list, since it's account-specific, and it worked. Thank you for sharing!

@enyst No thanks~
I believe that it will be much more friendly for whoever don't know much about liteLLM and OpenDevin, if we can add more details in Readme.md/development.md

@ayanjiushishuai Added this detail here: https://github.com/OpenDevin/OpenDevin/pull/1386/files
Please feel free to review these docs, PRs most welcome with any other misses!

I got OpenDevin to work locally with the suggested change. The API version is required in the environment, and the nor the change did cover this. As it is, with the line change of the PR, it works as expected

This hits an old issue (you can find old topics here if you wish), and we have tried the approach "toml/env overrides UI, except for that case, wait, the other case too". It worked, then it broke, then it worked, then it broke again. Our features became heavier on it, too. So we changed it, or should I say, we recently changed the first things about it and were in the process of changing the rest. I'm really sorry about the time it took you, @ayanjiushishuai and @NancyEdelMary .
The way it should work now is:

if you run with the UI, then the UI rules. The UI settings are applied, whatever they are from (you set it now, or you set it before and it was saved in local storage, or you didn't set but there's a fallback value the UI sends).
if a setting is not in the UI (some aren't yet but will be, some from env will not be I believe), then config/env is applied.
and if you run headless, of course config/env is applied.

@NancyEdelMary please upgrade to 0.4.0, start the app, and set "azure/gpt35exploration" in the UI settings. You can set it, even though it's not in the list, just type it and save it.

Hi Nancy! Please follow enyst's instructions in order to resolve your issue. Feel free to reopen this if it did not resolve your issue or open a new issue if you encounter a new problem.


fix for #271

But this is a test specifically for the /zuul path. I still don't understand why we would change it.

Hi Dave,
I don't know how to explain this better.
The route is actually /simple/**, and the prefix comes from ZuulProperties.
So when a request is made to /zuul/simple/**, /zuul is not part of the routing settings, it's just a prefixed introduced by the special code for handling big file requests.
You normally can have requests directly to ```/simple/**`` and still work with the Dispatcher Servlet.

You normally can have requests directly to /simple/** and still work with the Dispatcher Servlet.

I know, but if we changed the test to go to that path it would not be testing the ZuulServlet route would it?

Hi,
A route /simple/** is expected to work using in 2 cases:

the normal flow by making requesting host:port/simple/**
the Zuul flow by making requests to host:port/zuul/simple**

Bot of the above use the same routes configuration, basically the same ProxyRouteLocator instance.
My assumption is that zuul.routes.simple:/zuul/simple/** configures a route: anything that comes on /zuul/simple/** is routed to simple.
Now, I wonder how does this work in the other scenario described above where requests to /simple should also work.
So, in my opinion the route is: /simple/** and /zuul is the Zuul servlet context path which needs to be added as a prefix, but should not affect the actual routing table.

I don't follow you, sorry. My understanding is that /simple/** is a route that is served by 2 paths (so /simple/ and /zuul/simple/ are basically aliases and where they are routed to depends on the configuration). Please can you carefully explain what you have configured for zuul.routes.*, what you expected to happen, and what happened instead?

zuul:
  ignored-services: "*"
  prefix: /api
  routes:
    upload-sample:
      path: /upload/**
      stripPrefix: false

Upload-Sample  is the origin service for uploading files.
Requests do work to http://localhost:8765/api/upload, but getting OOME for big files, see #254.
Requests to http://localhost:8765/zuul/api/upload are supposed to work, but getting the error No route found for uri: /zuul/api/upload
The reason this is happening is that config property ZuulProperties.servletPath is not injected in the ProxyRouteLocator.
My pull request handles exactly this:
if (StringUtils.hasText(servletPath)) { // a servletPath is passed explicitly
this.servletPath = servletPath;
} else {
//set Zuul servlet path
this.servletPath = properties.getServletPath() != null? properties.getServletPath() : "";
}

I think I understand now.  The route shouldn't have /zuul in it because that comes from the servletPath.  The test still tries /zuul/* to test the servlet and large files.

yes

OK, I see now. Did you fill in the contributors agreement (link in README)?

@aivans thanks for being patient with us.

:) no worries, glad I can help.
I will fill in the agreement in a few hours.

Filled in the agreement.


Hoverfly hangs with Netty HttpProxyHandler

Cross-referencing issue raised by @ttiurani here

@ttiurani, as I mentioned in your original issue, the Netty proxy always use CONNECT method even it is an HTTP request, hence the error from Go:
2017/09/08 17:57:04 [001] WARN: Cannot handshake client time.jsontest.com:80 tls: first record does not look like a TLS handshake

If I understand correctly, it seems to me that Hoverfly (via Go) here is in the wrong and shouldn't mandate TLS after CONNECT? Is this fixable in Hoverfly?

The issue at:
https://github.com/reactor/reactor-netty/issues/159
was closed with info about this. Netty's proxy handler does CONNECT always and is not wrong to do so.
I ran into this when using Spring Webflux, which is a big part of Spring 5.0.0, which is now at the last RC before release. So I would guess that a significant number of Spring users will run into this problem when using Hoverfly.
If Hoverfly wants to support Spring, I would guess this should be fixed here?

You are right, Netty proxy does the right thing according to this: https://tools.ietf.org/html/rfc7231#section-4.3.6. A proxy should be able to handle CONNECT regardless the HTTP scheme.

The RFC also says:

There are significant risks in establishing a tunnel to arbitrary servers ...  Proxies that support CONNECT SHOULD restrict its use to a limited set of known port or a configurable whitelist of safe request targets.

There are implications to changing this that we need to understand.

At least for my use case this could be a configuration setting or startup parameter in Hoverfly, and the current behaviour the default?

@tommysitu How are you able to produce this error:
2017/09/08 17:57:04 [001] WARN: Cannot handshake client time.jsontest.com:80 tls: first record does not look like a TLS handshake

I've tried this which reproduces the timeout (I think), but the logs are empty when I check:
url -v -X CONNECT http://www.test.com --proxy localhost:8500 -v
* Rebuilt URL to: http://www.test.com/
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8500 (#0)
> CONNECT http://www.test.com/ HTTP/1.1
> Host: www.test.com
> User-Agent: curl/7.54.0
> Accept: */*
> Proxy-Connection: Keep-Alive
>
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
<

@mogronalol you can have a look at the original https://github.com/reactor/reactor-netty/issues/159, and run the test from the reactor-netty project, but it is not straight forward. I will try sharing what I've got with you later.

Any progress to report? Would a better Hoverfly-specific test case speed this? I'd be happy to try to hack some "skipSslForConnect=true" thingy together myself, as this is blocking quite a lot of things for me.
Spring 5.0.0 has been released and v0.7.0 of reactor-netty that comes with this, has this problem.

For some reason GitHub isn't showing the link to the other issue:
https://github.com/elazarl/goproxy/issues/246
I've isolated the problem in an upstream library (GoProxy), but it has made me more skeptical about Netty's CONNECT only approach to using a proxy.
As a CONNECT request is the same regardless of HTTP or HTTPS there is no way of a proxy knowing what to do. The only way of figuring it out is to peek the first few bytes of the request and figure out whether they are encrypted or not.
Whilst this is possible I personally feel that this approach is very hacky. Until this every other client I have worked with used CONNECT for HTTPS only meaning it is simple for a Proxy to know whether the traffic is TLS or not.
The other option is for the client (Hoverctl) to instruct Hoverfly whether it should do HTTP or HTTPS with CONNECT on a specific port, again feeling brittle.

I think a byte peeking solution is probably the best route over changing the client, but this will need to be a contribution to the GoProxy library. I'm not sure when we will be able to implement this, but PR's will be welcome if you want to try and do it.

"The other option is for the client (Hoverctl) to instruct Hoverfly whether it should do HTTP or HTTPS with CONNECT on a specific port"
I would be delighted about something like this. Anything that allows me to use Hoverfly anywhich way is better than the current.
Could there be even in the simulation.json some sort of "disableTlsOnConnect" custom flag, next to Hoverfly version? Even just "disableTls" would work for me?

That is: the goproxy peek byte route is of course "better", but if it will be slow to get merged and still unsatisfactory even if it does work, having at least some way to get netty support, is better than nothing.
Also a "tlsOnlyForPort443" woumd be just fine for me.

Unfortunately I haven't had time to look at this further, any news?
It might be a good idea to change the heading of this to something like "Hoverfly hangs with Netty HttpProxyHandler", so that other Netty users find this issue.

@tommysitu awesome, thank you! I'll try my best to find time to test this asap (also I can try to do a PR for hoverfly-java for this).

I can verify that using the -plain-http-tunneling patch I can, with the latest reactor-netty, I can get my test to work, whereas without it or with using an older hoverfly version, the test fails.

Nice, we will do a minor release at some point.

@tommysitu Unfortunately with better debugging I found out, that although I can get around the ssl problem with -plain-http-tunneling, hoverfly fails with:
Error dialing to host-to-simulate:80: dial tcp: lookup host-to-simulate: no such host

when host-to-simulate can't isn't present. My test at reactor-netty also fails, if I just turn off the network on my machine.
Now for hoverfly to be useful, it of course shouldn't be mandatory that the host that is simulated, needs to actually resolve before the mocking? Am I missing something here?

I did some digging, and the problem is that the -plain-http-tunneling ends up here:
https://github.com/elazarl/goproxy/blob/master/https.go#L130
which then fails, because it does a normal go Transport.Dial. But it might be possible to override that functionality by implementing a custom ConnectDial function, as is specified here:
https://github.com/elazarl/goproxy/blob/master/proxy.go#L27
Would it be possible to create such a dummy ConnectDial override in hoverfly for this -plain-http-tunneling @tommysitu ?

@ttiurani When I ran your test with this new flag, it passed.  So I don't quite understand what the new problem is. Could you let me know how to reproduce the error using this example: https://github.com/ttiurani/reactor-netty/commit/790b82d59e1b9f31cb5db9c553a3906a5f2cfb9e

The problem is that it works only if it can actually connect to time.jsontest.com, as it does a go "Transport.Dial". The test does not work, if you disconnect your wifi or unplug your ethernet cable.
Now as I'm using Hoverfly as a mock server to debug Kubernetes paths, such as my-not-ready-host:8300 it fails because my-not-ready-host isn't actually resovable. As it's not ready.
If I understand the codebase, this should be fixed, by just implementing like here:
https://github.com/SpectoLabs/hoverfly/blob/aa3655e95d1eaf2a1b8b6677abb9d343a442a442/core/proxy.go#L42
for this -plain-http-tunneling case a custom ConnectDial function, that just returns success always.

We hit that issue today and we struggled a little bit because of an issue on our side:
We did:
hoverfly start -plain-http-tunneling

which actually should be:
hoverfly -plain-http-tunneling start

Would be nice if the hoverfly command could return an error if it doesn't recognised a parameter or just say it is ignoring it.
Anyway, the main idea of my comment was if someone else is stuck and hit that thread, remember to verify you put '-plain-http-tunneling' after the 'hoverfly' command.


Framework JAR as DEX not handled

Framework files that have the extension JAR but are actually DEX are not currently handled (Kindle FireOS).
I'll handle these later, but not in 1.3.
11:27:24 /DevTesting/Fire$ file framework/*.jar|grep zip |wc -l
64
11:29:00 /DevTesting/Fire$ file framework/*.jar|grep dex |wc -l
2
11:29:05 /DevTesting/Fire$

Added: https://github.com/jakev/dtfmods-core/commit/ecf3b00f66c5a98a4761d9162f30a0579ede6f5e


test for #3920 (improper caching of tarballs in build)

See https://github.com/containers/buildah/pull/1955
I've confirmed that this test fails under podman-1.6.2-2.fc30
and passes under current master.
Signed-off-by: Ed Santiago<EMAIL_ADDRESS>

Ping, can I get some love for this? I know there's already a test for this in buildah, but podman build often works differently than buildah.

LGTM
@mheon @giuseppe @baude @jwhonce @TomSweeneyRedHat @QiWang19 @vrothberg PTAL

LGTM

/approve


fix(sdk): handle 0 price when showPerMonthPrice flag is set

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 9.471%

Totals

Change from base Build<PHONE_NUMBER>6:
0.0%

Covered Lines:
10263

Relevant Lines:
108363

💛  - Coveralls


⚠ Bofrost.at has degraded performance

In af6fbc2, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2006 ms

Resolved: Bofrost.at performance has improved in c534c71.


Question about the darpa dataset

Hi how did you get the documentation on the darpa dataset n order to know which file  contains the malicious or benign activity

Three ways:

Traverse every file and find those activities.
Traverse the head of each file, extract the timestamp and see if it is inside the time range of an attack campaign.
See which file(s) did previous works use via their papers/github repos.

Thank you for you guidance.
Where Can I find the planning of the attack campaign

There is ground truth document officially provided with the data release. It contains when the attack campaigns took place.

Thank You!


Automatic create Docker image and push it to docker hub when tag is created

Currently there is only one repository: https://hub.docker.com/r/zcoinofficial/zcoind

We need this to prevent this issue in the future: https://github.com/zcoinofficial/zcoin/issues/306

@ultimaweapon is it actual?

Yes.

@ultimaweapon to work on this after finishing ZTM


Fix format specifier for size_t.

Fix format specifier for sizeof result.
Rename base.hpp to object.hpp
Do not try to convert raw pointer to shared_ptr

This change is

Codecov Report

Merging #12 (4620519) into main (52ab37c) will decrease coverage by 1.69%.
The diff coverage is 40.00%.

@@            Coverage Diff             @@
##             main      #12      +/-   ##
==========================================
- Coverage   84.91%   83.22%   -1.69%
==========================================
  Files           7        7
  Lines         464      471       +7
==========================================
- Hits          394      392       -2
- Misses         70       79       +9

Files
Coverage Δ

include/luabind/bind.hpp
92.51% <ø> (ø)

include/luabind/exception.hpp
90.90% <100.00%> (ø)

include/luabind/object.hpp
100.00% <ø> (ø)

include/luabind/user_data.hpp
95.58% <ø> (ø)

include/luabind/wrapper.hpp
70.52% <0.00%> (ø)

include/luabind/mirror.hpp
60.00% <50.00%> (-9.12%)
:arrow_down:


Add license attribute

https://docs.npmjs.com/files/package.json#license
http://npm1k.org/

makes sense, thanks! @legastero let's try to add this to to all the deps gradually


[3.0]optimize some code of URLItemCache

optimize some code of URLItemCache

Codecov Report

Merging #9835 (e9a3c28) into 3.0 (2843eaf) will decrease coverage by 0.54%.
The diff coverage is 62.50%.

@@             Coverage Diff              @@
##                3.0    #9835      +/-   ##
============================================
- Coverage     65.44%   64.90%   -0.55%
+ Complexity      320      295      -25
============================================
  Files          1209     1209
  Lines         52588    52588
  Branches       7972     7950      -22
============================================
- Hits          34418    34131     -287
- Misses        14426    14701     +275
- Partials       3744     3756      +12

Impacted Files
Coverage Δ

...pache/dubbo/common/url/component/URLItemCache.java
62.16% <62.50%> (ø)

...luster/router/script/ScriptStateRouterFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...zookeeper/curator/CuratorZookeeperTransporter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...pc/cluster/router/file/FileStateRouterFactory.java
0.00% <0.00%> (-80.96%)
:arrow_down:

...o/rpc/cluster/router/script/ScriptStateRouter.java
0.00% <0.00%> (-67.31%)
:arrow_down:

...ting/zookeeper/curator/CuratorZookeeperClient.java
16.34% <0.00%> (-53.85%)
:arrow_down:

...dubbo/remoting/zookeeper/ZookeeperTransporter.java
55.55% <0.00%> (-33.34%)
:arrow_down:

...ache/dubbo/rpc/proxy/InvokerInvocationHandler.java
68.00% <0.00%> (-16.00%)
:arrow_down:

...dubbo/common/status/support/LoadStatusChecker.java
46.15% <0.00%> (-15.39%)
:arrow_down:

...mmon/threadpool/support/AbortPolicyWithReport.java
70.17% <0.00%> (-14.04%)
:arrow_down:

... and 52 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 2843eaf...e9a3c28. Read the comment docs.


Recommended package stevenmaguire/oauth2-microsoft seems abandoned

Documentation recommends to use third party package.
How ever, stevenmaguire/oauth2-microsoft  looks abandoned and deprecated.
As far as I known, this package use old Microsoft endpoints. Pull requests are not accepted
From my experiences thenetworg/oauth2-azure should be used instead.
Shouldn’t stevenmaguire/oauth2-microsoft  be removed from the documentation or display some warning to avoid confusion ?

@magrigry

From my experiences thenetworg/oauth2-azure should be used instead.

Unless something significant has changed, the oauth2-azure package and the oauth2-microsoft packages do not serve the same providers maintained by Microsoft. That is - Azure OAuth services and Microsoft consumer identity (like Outlook.com) OAuth services were not interoperable when the packages were set up.
You are welcome to help maintain the package. Are you interested?

Hi,
Thanks for your answer.
Just a note about the abandoned thing, I though that the package was not maintained anymore because some interesting issues or pull request are old and not answered (e.g. https://github.com/stevenmaguire/oauth2-microsoft/issues). It looks like you are still active. It might be helpful to explain why they are not merged since it’s pretty hard to understand the difference between Microsoft providers (I can’t find any documentation that clarify this) and I am actually pretty confused.
I understand that both providers are not interoperable. I guess the fact that the scope separator has changed is an example ?
However today a new and fresh application shouldn’t chose thenetworg/oauth2-azure in favor of your package ? Both providers serve the same purpose, right?

IMO it should not be handled in this repository, in case the repository that you mentioned is abandoned, you could create a new provider or fork it and maintain.

thenetworg/oauth2-azure already provide what is needed to use Microsoft OAuth2 services, and is documented in the Third Party Provider page. However in the Third Party Provider, If I want to use Microsoft as an OAuth2 provider, I will proably search for the microsoft keyword and come across the stevenmaguire/oauth2-microsoft package which will probably not be appropriate for the use case.
My report is just a documentation issue that could confuse and waste time of people.

I see, Well as this issue there isn't anything to do here, I would say it can be close, right @magrigry

If there is a repository related to the documentation where I can move this issue, I guess I can.

as this repository is not maintained we could remove this from here then
https://github.com/thephpleague/oauth2-client/blob/master/docs/providers/thirdparty.md

I guess it could, or at least display a warning because stevenmaguire/oauth2-microsoft could fill some rare use case as stevenmaguire said.

If @stevenmaguire is no longer maintaining stevenmaguire/oauth2-microsoft, he can archive his repo and mark the package as abandoned then submit a PR to remove it from docs/providers/thirdparty.md.
However, it sounds like the package is still active and maintained, so I don't think it needs to be removed from our list of third-party packages. 😄


How to set the path

Hi
I don't know how to set the path to php-cs-fixer file
following this suggestion:
Open settings.json file (Ctrl + Shift + P) and add the following setting:
"php-cs-fixer.toolPath": "path\php-cs-fixer.phar",
if I push (Ctrl + Shift + P) I cannot set this line (llok at the image)
"php-cs-fixer.toolPath": "/usr/local/bin/php-cs-fixer",

I've used the globally solution on my local debian server (I use sftp)
https://cs.symfony.com/doc/installation.html
wget https://cs.symfony.com/download/php-cs-fixer-v3.phar -O php-cs-fixer
sudo chmod a+x php-cs-fixer
sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer

I tried to set /usr/local/bin/php-cs-fixer  here but I get an error during the formatting
can you help me how to use your extension?
thanks

I've seen that the 3.15.1 is used inside the extension but If I select it to do the "format document" nothing happens

Ctrl + Shift + P or Cmd + Shift + P opens up command palette. Then you need to type settings.json in prompt input and it would show suggestions. Click on settings.json file and it should open it.

Another option would be open the extension page, click on Cog icon and then click on Extension settings option.
Once you are on extension settings page, you should be able to see a config to set the path.


[feature] Specifying User-Agent or Headers field for Chrome/Playwright

Version and OS
v39.14.1 on Ubuntu 22 using docker compose
Is your feature request related to a problem? Please describe.
Tried to set a User-Agent string but using Chrome fetch method it's not possible.
Describe the solution you'd like
Add Request Headers field also to Chrome/Playwright fetch method.
Describe the use-case and give concrete real-world examples
Tried to add watch for adidas.sk but it did not work. Resulted in 403 Forbidden (bot detected). I guess setting real world User Agent may help (but may not).
403 Returned

I feel like I remember that this used to work, that it's actually wired up but somehow the UI is being weird, i'll look into it


Additional fixes to multi-line TSV entry parsing

This is a follow up to PR #1 with extra fixes to our TSV entry parsing
logic:

We resolve an off-by-one error introduced in PR #1 where the last
line of a TSV file would be skipped (since the multi-line support
read ahead for nextLine but would stop processing entries as soon
as nextLine = null. We have fixed this here so that the loop stops
only after entry is null)
We account for multi-line entries that might have empty lines
(nextLine.equals("")) which don't technically start with
whitespace.
We reintroduce line breaks into the message field of an Error
object if those line breaks are present in the MESSAGE column
of the TSV.
We fix incorrect indexing in tsvValues.

@lazaroclapp Thank you very much for the fix, Looked good to me and merged it.


How to use debounce validations correctly?

Versions:

VueJs: 2.3.0
Vee-Validate: 2.0.0.rc5

I am new to JS, so maybe I am missing a more simple solution.
A custom rule with an expensive validation. I want to debounce  the function.

If I debounce on trailing, which makes most sense, on the first call I get the following error since there is no prior result to return and the validation is "one check behind":

TypeError: Cannot read property 'then' of undefined"

If I debounce on leading, then I miss checks.

https://jsfiddle.net/5yux9mvq/6/
I don't want to use .lazy, since I want to tell the user while she is possibly still in the field.
Many thanks for creating such a great utility. If I can just figure this out.

Have you found some solution to this issue?

@alexeycrystal You can refer to this example:
https://baianat.github.io/vee-validate/examples/debounce.html


Bug fixes for recent notification changes

Description
Fixes #293, also forgot brackets in Lending.py causing notification amount to be 0 BTC sometimes. Removed unnecessary import statement left by my previous commits.
TESTING STAGE
Tested with many different combinations of notification configs.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have read CONTRIBUTING.md
[x] I fully understand Github Flow.
[x] My code adheres to the code style of this project.
[N/A] I have updated the documentation in /docs if I have changed the config, arguments, logic in how the bot works, or anything that understandably needs a documentation change.
[N/A] I have updated the config file accordingly if my change requires a new configuration setting or changes an existing one.
[N/A] I have tested the bot with no issues for 24 continuous hours. If issues were experienced, they have been patched and tested again.

Great, thanks!


Snap has non-configurable lvm.conf . Server settings does not apply to snap.

Required information

Distribution: Ubuntu Server
Distribution version: 20.04
The output of "lxc info" or if that fails:

Issue description
I have a rather custom configuration for filter = and global_filter in my /etc/lvm/lvm.conf file. Since lxd is installed via a snap I am unable to make those settings available for lxd at runtime, which makes lxd init fail since it can see a physical volume two times. No issues detected when running the same lvm commands on the non-snap command line.
Steps to reproduce

change the filter or global_filter variables in /etc/lvm/lvm.conf
Run lxd init and watch the warnings still be there
run lvm commands as normal and watch them succeed.

Dup of https://github.com/lxc/lxd-pkg-snap/issues/41

(well, not failing for the same reason, but same root of the issue)

Yes, the root of the issue is that you think like developers and create unmanageable containerized software. Pretty normal stuff. If you absolutely NEED to not package the software so it integrates properly with the OS it runs on you should at least have a very good plan on how to customize that container package in a way that survives updates.
How can I change the settings in the lvm.conf file that is included in the snap in a way that survives the next update without the user having to figure out how to manually unpack and repack the entire snap every time?

Please pardon the snarkyness. I really love LXD, but then I wish nobody would distribute their programs in their completely own ecosystem. It's often a nightmare for sysadmins.
Sorry. And thanks for making such great software.


Error with update.sh when used by build-client-win script

Strange error.
I launch build-client-win.sh, which launches the script update.sh windows-latest. (WSL2 Ubuntu)
But the script gets stuck moving folders protobuf/* to dist/lib, it can't find the directory.
renamed 'grpc-server.exe' -> 'dist/anytypeHelper.exe'
mv: target 'dist/lib/' is not a directory
renamed 'json/internalRelations.json' -> 'dist/lib/json/generated/internalRelations.json'
renamed 'json/internalTypes.json' -> 'dist/lib/json/generated/internalTypes.json'
renamed 'json/systemRelations.json' -> 'dist/lib/json/generated/systemRelations.json'
renamed 'json/systemTypes.json' -> 'dist/lib/json/generated/systemTypes.json'
Done

I thought there might be a problem with this script, but if I run it manually, it works fine (under Windows/Powershell as well as on WSL2/Ubuntu).
renamed 'grpc-server.exe' -> 'dist/anytypeHelper.exe'
renamed 'protobuf/pb' -> 'dist/lib/pb'
renamed 'protobuf/pkg' -> 'dist/lib/pkg'
renamed 'protobuf/protos' -> 'dist/lib/protos'
renamed 'json/internalRelations.json' -> 'dist/lib/json/generated/internalRelations.json'
renamed 'json/internalTypes.json' -> 'dist/lib/json/generated/internalTypes.json'
renamed 'json/systemRelations.json' -> 'dist/lib/json/generated/systemRelations.json'
renamed 'json/systemTypes.json' -> 'dist/lib/json/generated/systemTypes.json'
Done

@Shampra Could you show from which dir you run build_heart_client_win.sh? The make command make build-client-win runs the build_heart_client_win.sh script and it assumes the dist folder is located at ~/any-docker/anytype-clients/anytype-ts/dist. If you run the build_heart_client_win.sh manually from any other dir, it should work the same as from the makefile command. The dist folder is created as part of pulling the anytype-ts repository, so I can't really think of any reason why the update.sh script has any trouble moving files into the dist folder that should be created as part of cloning the anytype-ts repo.

@Shampra ok, should be fixed with 83294c29eaeaf734bce78f4a5af3f6dc8eca6913, could you check? I did rm dist/* before, and that got rid of the lib folder, too. I've changed that to only delete the files in the dist folder as update.sh takes care of the rest.

Well done, it works


Insecure application bootup, information leakage

I believe there is an issue here:
"Also note that any configuration item can be specified on the command line when starting the Spring Boot application and is recommended if using token base authentication. For example:"
java -jar spring-boot-app.jar --vault.token=0c6c3fce-09ee-72aa-fd5e-4d6f1152b002
According to this serverfault post injecting the password through the command line will cause it show up in the process list (ps) thus exposing it to other local users.
The thread provides advice on how to recompile the program not to do this, but this seems extreme and in the case of the Java runtime I don't think we even have that option.
Perhaps we can brainstorm a new solution involving environment variables, similar to AWS: http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-environment

Actually, environment variables present the same issue, they are interpreted and show up in ps the same way regular command line arguments do. I also realized this feature is already present
AWS currently recommends the profile approach where you are reading secrets from a file. This similar to the bootstrap.yml approach.Putting the key into a file mitigates the risk of it showing up in ps, and protects it from other local users through the use of file permissions.
However, we still run into the problem of "secret zero" or "turtles all the way down". How do we manage that initial key/token which gives us access to everything else? We've added an extra step but it's really just a speedbump, not a wall.
I am currently testing a "process isolation" approach to mitigate this issue, I will keep everybody updated on progress

Firstly, I would recommend token based authentication for development purposes only. Setting the root token in the boostrap.yml file is a really bad idea for a number of reasons. Mainly, your root token potentially becomes part of your code base.
I would definitely suggest using the documented app-id authentication option in a production environment. This utilizes a static application identifier, as well as a generated user id to authenticate with vault. If the byte code changes, the generated user id is no longer valid, preventing unauthorized code from accessing your secret store. Additionally, if the app-id is compromised you can revoke that app-id combination, not a token or potentially root token, disabling all other services using the token.
As far as other alternatives, like environment variables, or distributing secrets to a file on the host or container. If you are comfortable with the level of security implemented on your hosts, then you could take that approach.
However, I do think that app-id authentication is a much better cloud native solution.

@aabashkin I'm going to go ahead and close this issue. If you feel like you have another solution, feel free to submit a pull request.

Sure Mark. I'll open another thread if needed. A few comments from me for now:
I took another look at the docs of the App ID option to understand it better. Could you give some more detail on the statement "Typically the user ID is only available to the host running the application"?
The threat model I had in mind involves things like code injection and command injection, dynamic attacks that do not alter code/bytecode. Basically if the app id + user id is in the application's disk or memory space, can it be compromised through such attack vectors?
Your comment was " If the byte code changes, the generated user id is no longer valid, preventing unauthorized code from accessing your secret store" which I definitely agree with. The HMAC solution works great for maintaining integrity here. Does it cover other scenarios like the one described above with no byte-code change, just a compromised application?
Thanks again for the reply and interesting solution!


Change in core differences with Java - Different to extra, more precise

These are extra keywords not different.

Please edit the PR description and commit message to something more descriptive.  Maybe something like "rename 'Different keywords' section to 'Extra keywords'".

Thanks!


"exec format error" after reboot. How to avoid reinstallation on Raspberry Pi?

That's really annoying. Is there a way to avoid this?

This is expected. You need to run the install command again after reboot. The best way for doing that depends on your distro etc.

I ended up making a systemd service for that.
Thanks.


Suggestion to stop linking to W3C specs for HTML/DOM

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details
As of today, the W3C and WHATWG will publishjoint standards and stop publishing conflicting standards for HTML and DOM.
It would be nice if MDN stopped linking to the HTML/DOM standards of W3C and link to the WHATWG Living Standard for the respective articles.
Example article: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe#Specifications

Agreed.

The example article listed above still shows the original behavior.
I guess there's a reason why you link to HTML (WHATWG), HTML5 (W3C) and HTML 4.01, but I don't understand it.
What else, besides a joint public statement from W3C & WHATWG is needed to make everyone converge on just one standard? :-)
Thanks for your time!

@mozfreddyb sorry, I should have explained this better. We have started a workstream to include spec urls for all the features covered on mdn over in the browser-compat-data. Once that is done, we'll automate generation of the spec tables from that data, so the tables will just list the one canonical URL that devs are interested in (1 should work in most cases), and not the confusing mess that you see in all too many cases.

Thanks @chrisdavidmills! Appreciate the quick response


Added a new option postDataFormat to process post data as FORM/JSON/RAW

Also updated the documentation.
If the changes in package.json are not desired, please drop that, those are just for my own environment.

Be aware that I tested the code manually, no coded unit tests were added. Also this is my first time contributing on GitHub, please forgive any process or technical mistakes, let me know what I done wrong and I will fix that.


Index help

I'm trying to prevent my queries from always scanning and I've added
global_secondary_index :hash_key => :owner

to my model.  I'm attempting to run
Model.find_all_by_secondary_index({
  'owner' => current_user
})

but receive Dynamoid::Errors::MissingIndex: attempted to find ["owner", nil]. It doesn't seem that the rake dynamoid:create_tables will create the index. Do I have to do this manually or can Dynamoid help?
Thankful for any help/insights you can offer.

If losing all your data is possible you can delete and recreate.  When recreated it will be created according to the current class definition, including indexes.
Dynamoid.adapter.delete_table(<DynamoidModelClassName>.table_name)
<DynamoidModelClassName>.create_table


Failed to connect to probe when local nework is allowed manually

Describe the bug
Sdk continuously fails to connect with setConnectCallback response Failed to connect to probe at <IP_ADDRESS>:5000 (networkID 0): Unreachable (Error connecting to TCP socket: No route to host) after permission to connect to devices on local nework is denied. The error persists even after allowing the permission manually as seeing in the attached video.
https://github.com/user-attachments/assets/af24c7c2-9748-45f7-86bf-24519f6514e1
To Reproduce
Steps to reproduce the behavior:

Tap Download scanner info
Enable Bluetooth searching
Select probe
Tap Load Selected Scanner Details
Connect to probe's WiFi
Don't allow local nework permission
Tap Connect
Go to app settings and allow local nework
Tap Connect

Environment

SDK variant [e.g. python wrappers, iOS Framework]: iOS Framework
Development platform [e.g. Linux, Xcode]: Xcode
SDK version: 11.3.0
Clarius App version: -

Log
Downloaded 11 scanners total
Downloaded 11 scanners with certificates
WifiInfo received: state: connected
ap: true
ssid: "DIRECT-L7HD3032211A0980"
pw: "qepVmw@a"
ip4: "<IP_ADDRESS>"
ctl: 5000
cast: 41361
avail: available
channel: 36
mac: "20:d7:78:a8:78:37"

Solum is _CusConnection(rawValue: -1) at 0: Failed to connect to probe at <IP_ADDRESS>:5000 (networkID 0): Unreachable (Error connecting to TCP socket: No route to host)
Solum is _CusConnection(rawValue: 2) at 0: connection failed
Solum is _CusConnection(rawValue: -1) at 0: Failed to connect to probe at <IP_ADDRESS>:5000 (networkID 0): Unreachable (Error connecting to TCP socket: No route to host)
Solum is _CusConnection(rawValue: 2) at 0: connection failed
Solum is _CusConnection(rawValue: -1) at 0: Failed to connect to probe at <IP_ADDRESS>:5000 (networkID 0): Unreachable (Error connecting to TCP socket: No route to host)
Solum is _CusConnection(rawValue: 2) at 0: connection failed
Solum is _CusConnection(rawValue: -1) at 0: Failed to connect to probe at <IP_ADDRESS>:5000 (networkID 0): Unreachable (Error connecting to TCP socket: No route to host)
Solum is _CusConnection(rawValue: 2) at 0: connection failed
Solum is _CusConnection(rawValue: -1) at 0: Failed to connect to probe at <IP_ADDRESS>:5000 (networkID 0): Unreachable (Error connecting to TCP socket: No route to host)
Solum is _CusConnection(rawValue: 2) at 0: connection failed
Solum is _CusConnection(rawValue: -1) at 0: Failed to connect to probe at <IP_ADDRESS>:5000 (networkID 0): Unreachable (Error connecting to TCP socket: No route to host)
Solum is _CusConnection(rawValue: 2) at 0: connection failed

Hi does the connection still fail if you restart the app after allowing local network connection? (Kill and restart the app instead of moving it to the background.) We face the same difficulty in the Clarius app and there is no way to handle it programmatically. More generally, the SDK does not handle permissions.

Hello Julien, I'm still getting the same error after killing the app and restarting it. Would you know if there might be another reason for this to be happening? Maybe the local network permission is not the root issue of this error.

I know this LAN permission is tricky to fix. Our support usually advises users to grant the permission in the settings and power cycle the device.


chore(package): Make shrinkwrap npm@5 compatible

This updates the npm-shrinkwrap.json to work with npm@5
and removes the clean-shrinkwrap script, as it interferes
with how npm works now, and isn't needed anymore.
Change-Type: patch

Closing this, as npm@5 is not ready yet

Hey @jhermsmeier what specific npm5 problems did you have?

@emirotin see also #1487