Missing prepare_metadata_for_build_wheel attribute

Just observed this in a 32-bit Linux SciPy CI job (log):
Processing /scipy
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [42 lines of output]
      + meson setup --native-file=/scipy/.mesonpy-native-file.ini -Ddebug=false -Dstrip=true -Doptimization=2 --prefix=/usr /scipy /scipy/.mesonpy-n5dcevv3/build
      Traceback (most recent call last):
        File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 156, in prepare_metadata_for_build_wheel
          hook = backend.prepare_metadata_for_build_wheel
      AttributeError: module 'mesonpy' has no attribute 'prepare_metadata_for_build_wheel'

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 160, in prepare_metadata_for_build_wheel
          whl_basename = backend.build_wheel(metadata_directory, config_settings)
        File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 806, in build_wheel
          with _project(config_settings) as project:
        File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__
          return next(self.gen)
        File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 759, in _project
          with Project.with_temp_working_dir(
        File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__
          return next(self.gen)
        File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 478, in with_temp_working_dir
          yield cls(source_dir, tmpdir, build_dir)
        File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 422, in __init__
          self._configure(reconfigure=bool(build_dir) and not native_file_mismatch)
        File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 449, in _configure
          self._meson(
        File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 437, in _meson
          return self._proc('meson', *args)
        File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 433, in _proc
          subprocess.check_call(list(args))
        File "/usr/lib/python3.8/subprocess.py", line 359, in check_call
          retcode = call(*popenargs, **kwargs)
        File "/usr/lib/python3.8/subprocess.py", line 340, in call
          with Popen(*popenargs, **kwargs) as p:
        File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
          self._execute_child(args, executable, preexec_fn, close_fds,
        File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
          raise child_exception_type(errno_num, err_msg, err_filename)
      FileNotFoundError: [Errno 2] No such file or directory: 'meson'
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

PEP 517 says that this hook is optional, so it's not clear to me that this is a problem in meson-python, it may be in pep517 or in pip.
The command that triggered it is:
CC=gcc-5 CXX=g++-5 FC=gfortran pip3 install . --no-build-isolation

Other invocations of pip install . --no-build-isolation don't have that issue. It may be that we're using pip 22.1 though - I'll try to pin it to the same 22.0.4 version as in other jobs.

Some debugging:

pep517 has a fallback, which is calling build_wheel (to check: does that mean the wheel gets built twice?) here: https://github.com/pypa/pep517/blob/a942316305395f8f757f210e2b16f738af73f8b8/pep517/in_process/_in_process.py#L143-L150

answer: no the wheel isn't built twice, see https://github.com/pypa/pep517/blob/a942316305395f8f757f210e2b16f738af73f8b8/pep517/wrappers.py#L202-L205

pip calls that in generate_metadata here: https://github.com/pypa/pip/blob/106042f3df1bddcd8e53c2a9fab6cfaffb8e5cc3/src/pip/_internal/operations/build/metadata.py#L13
generate_metadata itself is called here (looks fine): https://github.com/pypa/pip/blob/cb24fb4052ca8ab8009866b0de61980c81a7e13c/src/pip/_internal/req/req_install.py#L526
something fishy is going on here in pep517, it tries to invoke pip to install dependencies into the build env: https://github.com/pypa/pep517/blob/a942316305395f8f757f210e2b16f738af73f8b8/pep517/meta.py#L28-L37. That seems to be irrelevant though, since it's connected to using pep517 as a CLI and not as a library.
The Preparing metadata (pyproject.toml) message at the start of the traceback comes from https://github.com/pypa/pip/blob/106042f3df1bddcd8e53c2a9fab6cfaffb8e5cc3/src/pip/_internal/operations/build/metadata.py#L26-L28. Note that that's using some subprocess runner, which can be brittle sometimes. That's probably why meson goes missing in the except AttributeError part of the traceback.

 It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
2022-05-17T08:30:06.1300291Z Collecting pip==22.0.4
2022-05-17T08:30:06.1632378Z   Downloading pip-22.0.4-py3-none-any.whl (2.1 MB)
2022-05-17T08:30:06.2182793Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 40.7 MB/s eta 0:00:00
2022-05-17T08:30:06.2720763Z Installing collected packages: pip
2022-05-17T08:30:06.2721510Z   Attempting uninstall: pip
2022-05-17T08:30:06.2727380Z     Found existing installation: pip 22.1
2022-05-17T08:30:06.4391519Z     Uninstalling pip-22.1:
2022-05-17T08:30:06.4480775Z       Successfully uninstalled pip-22.1
2022-05-17T08:30:07.5135703Z Successfully installed pip-22.0.4
2022-05-17T08:30:07.5137590Z WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
2022-05-17T08:30:07.8511225Z pip 22.0.4 from /usr/local/lib/python3.8/dist-packages/pip (python 3.8)
2022-05-17T08:30:08.5001714Z Collecting setuptools==59.6.0
2022-05-17T08:30:08.5267387Z   Downloading setuptools-59.6.0-py3-none-any.whl (952 kB)
2022-05-17T08:30:08.5608043Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 952.6/952.6 KB 31.1 MB/s eta 0:00:00
2022-05-17T08:30:08.5677063Z Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.37.1)
2022-05-17T08:30:08.8900457Z Collecting numpy==1.18.5
2022-05-17T08:30:09.2098837Z   Downloading numpy-1.18.5-cp38-cp38-manylinux1_i686.whl (17.8 MB)
2022-05-17T08:30:09.4001753Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.8/17.8 MB 85.5 MB/s eta 0:00:00
2022-05-17T08:30:09.5006196Z Collecting meson
2022-05-17T08:30:09.5093724Z   Downloading meson-0.62.1-py3-none-any.whl (863 kB)
2022-05-17T08:30:09.5222159Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 863.2/863.2 KB 86.0 MB/s eta 0:00:00
2022-05-17T08:30:09.5895411Z Collecting meson-python
2022-05-17T08:30:09.5951474Z   Downloading meson_python-0.4.0-py3-none-any.whl (14 kB)
2022-05-17T08:30:09.6513167Z Collecting ninja
2022-05-17T08:30:09.6568861Z   Downloading ninja-<IP_ADDRESS>-py2.py3-none-manylinux_2_5_i686.manylinux1_i686.whl (109 kB)
2022-05-17T08:30:09.6627287Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 109.6/109.6 KB 30.6 MB/s eta 0:00:00
2022-05-17T08:30:09.9757175Z Collecting cython==0.29.18
2022-05-17T08:30:10.0514283Z   Downloading Cython-0.29.18-cp38-cp38-manylinux1_i686.whl (1.8 MB)
2022-05-17T08:30:10.0725434Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 101.7 MB/s eta 0:00:00
2022-05-17T08:30:10.1157205Z Collecting pybind11
2022-05-17T08:30:10.1208511Z   Downloading pybind11-2.9.2-py2.py3-none-any.whl (213 kB)
2022-05-17T08:30:10.1274001Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 213.6/213.6 KB 50.9 MB/s eta 0:00:00
2022-05-17T08:30:10.2102268Z Collecting pytest
2022-05-17T08:30:10.2156679Z   Downloading pytest-7.1.2-py3-none-any.whl (297 kB)
2022-05-17T08:30:10.2231270Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 297.0/297.0 KB 63.5 MB/s eta 0:00:00
2022-05-17T08:30:10.2443386Z Collecting pytest-timeout
2022-05-17T08:30:10.2487084Z   Downloading pytest_timeout-2.1.0-py3-none-any.whl (12 kB)
2022-05-17T08:30:10.2880656Z Collecting pytest-xdist
2022-05-17T08:30:10.2925865Z   Downloading pytest_xdist-2.5.0-py3-none-any.whl (41 kB)
2022-05-17T08:30:10.2977728Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.7/41.7 KB 13.0 MB/s eta 0:00:00
2022-05-17T08:30:10.3119152Z Collecting pytest-env
2022-05-17T08:30:10.3166011Z   Downloading pytest-env-0.6.2.tar.gz (1.7 kB)
2022-05-17T08:30:10.3216821Z   Preparing metadata (setup.py): started
2022-05-17T08:30:11.4688439Z   Preparing metadata (setup.py): finished with status 'done'
2022-05-17T08:30:11.4970559Z Collecting pytest-cov
2022-05-17T08:30:11.5016001Z   Downloading pytest_cov-3.0.0-py3-none-any.whl (20 kB)
2022-05-17T08:30:11.7992039Z Collecting Pillow
2022-05-17T08:30:11.8961090Z   Downloading Pillow-9.1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (4.4 MB)
2022-05-17T08:30:11.9389557Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.4/4.4 MB 110.9 MB/s eta 0:00:00
2022-05-17T08:30:11.9763870Z Collecting mpmath
2022-05-17T08:30:11.9819928Z   Downloading mpmath-1.2.1-py3-none-any.whl (532 kB)
2022-05-17T08:30:11.9922257Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 532.6/532.6 KB 73.9 MB/s eta 0:00:00
2022-05-17T08:30:12.0150032Z Collecting pythran==0.10.0
2022-05-17T08:30:12.0243614Z   Downloading pythran-0.10.0-py3-none-any.whl (4.3 MB)
2022-05-17T08:30:12.0669924Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 108.2 MB/s eta 0:00:00
2022-05-17T08:30:12.1536945Z Collecting beniget~=0.4.0
2022-05-17T08:30:12.1582057Z   Downloading beniget-0.4.1-py3-none-any.whl (9.4 kB)
2022-05-17T08:30:12.1801209Z Collecting gast~=0.5.0
2022-05-17T08:30:12.1858327Z   Downloading gast-0.5.3-py3-none-any.whl (19 kB)
2022-05-17T08:30:12.2016439Z Collecting ply>=3.4
2022-05-17T08:30:12.2059985Z   Downloading ply-3.11-py2.py3-none-any.whl (49 kB)
2022-05-17T08:30:12.2120582Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 49.6/49.6 KB 12.8 MB/s eta 0:00:00
2022-05-17T08:30:12.2572764Z Collecting tomli>=1.0.0
2022-05-17T08:30:12.2615017Z   Downloading tomli-2.0.1-py3-none-any.whl (12 kB)
2022-05-17T08:30:12.2978611Z Collecting iniconfig
2022-05-17T08:30:12.3019325Z   Downloading iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)
2022-05-17T08:30:12.3319312Z Collecting py>=1.8.2
2022-05-17T08:30:12.3362508Z   Downloading py-1.11.0-py2.py3-none-any.whl (98 kB)
2022-05-17T08:30:12.3414577Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.7/98.7 KB 33.2 MB/s eta 0:00:00
2022-05-17T08:30:12.3657920Z Collecting attrs>=19.2.0
2022-05-17T08:30:12.3717796Z   Downloading attrs-21.4.0-py2.py3-none-any.whl (60 kB)
2022-05-17T08:30:12.3908842Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.6/60.6 KB 2.8 MB/s eta 0:00:00
2022-05-17T08:30:12.4381087Z Collecting packaging
2022-05-17T08:30:12.4425658Z   Downloading packaging-21.3-py3-none-any.whl (40 kB)
2022-05-17T08:30:12.4476403Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 KB 10.8 MB/s eta 0:00:00
2022-05-17T08:30:12.4718160Z Collecting pluggy<2.0,>=0.12
2022-05-17T08:30:12.4758304Z   Downloading pluggy-1.0.0-py2.py3-none-any.whl (13 kB)
2022-05-17T08:30:12.5172292Z Collecting pytest-forked
2022-05-17T08:30:12.5211983Z   Downloading pytest_forked-1.4.0-py3-none-any.whl (4.9 kB)
2022-05-17T08:30:12.5548585Z Collecting execnet>=1.1
2022-05-17T08:30:12.5588854Z   Downloading execnet-1.9.0-py2.py3-none-any.whl (39 kB)
2022-05-17T08:30:12.9157715Z Collecting coverage[toml]>=5.2.1
2022-05-17T08:30:12.9223058Z   Downloading coverage-6.3.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (210 kB)
2022-05-17T08:30:12.9287574Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.0/211.0 KB 50.1 MB/s eta 0:00:00
2022-05-17T08:30:13.0660796Z Collecting pyparsing!=3.0.5,>=2.0.2
2022-05-17T08:30:13.0706953Z   Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)
2022-05-17T08:30:13.0758171Z      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 KB 32.0 MB/s eta 0:00:00
2022-05-17T08:30:13.1351224Z Building wheels for collected packages: pytest-env
2022-05-17T08:30:13.1357243Z   Building wheel for pytest-env (setup.py): started
2022-05-17T08:30:14.6015616Z   Building wheel for pytest-env (setup.py): finished with status 'done'
2022-05-17T08:30:14.6021302Z   Created wheel for pytest-env: filename=pytest_env-0.6.2-py3-none-any.whl size=2351 sha256=216d0e25d90a4d6aa838a1779c6d2e2691af92c9224b4375bcfcdef38114ba7e
2022-05-17T08:30:14.6024464Z   Stored in directory: /root/.cache/pip/wheels/37/01/73/bbe6b92b251c90dbe27c15b8e5b57085b9b53dfe018e9b6cea
2022-05-17T08:30:14.6046373Z Successfully built pytest-env
2022-05-17T08:30:14.8319293Z Installing collected packages: ply, ninja, mpmath, iniconfig, tomli, setuptools, pyparsing, pybind11, py, pluggy, Pillow, numpy, meson, gast, execnet, cython, coverage, attrs, packaging, meson-python, beniget, pythran, pytest, pytest-timeout, pytest-forked, pytest-env, pytest-cov, pytest-xdist
2022-05-17T08:30:14.8766349Z   WARNING: The script ninja is installed in '/root/.local/bin' which is not on PATH.
2022-05-17T08:30:14.8767677Z   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
2022-05-17T08:30:15.6033998Z   WARNING: The script pybind11-config is installed in '/root/.local/bin' which is not on PATH.
2022-05-17T08:30:15.6035192Z   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
2022-05-17T08:30:17.4928625Z   WARNING: The scripts f2py, f2py3 and f2py3.8 are installed in '/root/.local/bin' which is not on PATH.
2022-05-17T08:30:17.4929982Z   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
2022-05-17T08:30:18.0685572Z   WARNING: The script meson is installed in '/root/.local/bin' which is not on PATH.
2022-05-17T08:30:18.0686807Z   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
2022-05-17T08:30:18.7075156Z   WARNING: The scripts cygdb, cython and cythonize are installed in '/root/.local/bin' which is not on PATH.
2022-05-17T08:30:18.7079361Z   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
2022-05-17T08:30:18.7883075Z   WARNING: The scripts coverage, coverage-3.8 and coverage3 are installed in '/root/.local/bin' which is not on PATH.
2022-05-17T08:30:18.7885792Z   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
2022-05-17T08:30:19.8111167Z   WARNING: The scripts pythran and pythran-config are installed in '/root/.local/bin' which is not on PATH.
2022-05-17T08:30:19.8125393Z   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
2022-05-17T08:30:20.0055089Z   WARNING: The scripts py.test and pytest are installed in '/root/.local/bin' which is not on PATH.
2022-05-17T08:30:20.0057731Z   Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
2022-05-17T08:30:20.0750578Z Successfully installed Pillow-9.1.0 attrs-21.4.0 beniget-0.4.1 coverage-6.3.3 cython-0.29.18 execnet-1.9.0 gast-0.5.3 iniconfig-1.1.1 meson-0.62.1 meson-python-0.4.0 mpmath-1.2.1 ninja-<IP_ADDRESS> numpy-1.18.5 packaging-21.3 pluggy-1.0.0 ply-3.11 py-1.11.0 pybind11-2.9.2 pyparsing-3.0.9 pytest-7.1.2 pytest-cov-3.0.0 pytest-env-0.6.2 pytest-forked-1.4.0 pytest-timeout-2.1.0 pytest-xdist-2.5.0 pythran-0.10.0 setuptools-59.6.0 tomli-2.0.1
2022-05-17T08:30:20.0753869Z WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager.  It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
2022-05-17T08:30:32.8270891Z WARNING: You are using pip version 22.0.4; however, version 22.1 is available.
2022-05-17T08:30:32.8272178Z You should consider upgrading via the '/usr/bin/python3.8 -m pip install --upgrade pip' command.
2022-05-17T08:30:33.2621736Z Processing /scipy
2022-05-17T08:30:33.2754883Z   Preparing metadata (pyproject.toml): started
2022-05-17T08:30:33.3346285Z   Preparing metadata (pyproject.toml): finished with status 'error'
2022-05-17T08:30:33.3424621Z   error: subprocess-exited-with-error
2022-05-17T08:30:33.3425300Z
2022-05-17T08:30:33.3425907Z   × Preparing metadata (pyproject.toml) did not run successfully.
2022-05-17T08:30:33.3426466Z   │ exit code: 1
2022-05-17T08:30:33.3426946Z   ╰─> [42 lines of output]
2022-05-17T08:30:33.3427803Z       + meson setup --native-file=/scipy/.mesonpy-native-file.ini -Ddebug=false -Dstrip=true -Doptimization=2 --prefix=/usr /scipy /scipy/.mesonpy-nxs87y2t/build
2022-05-17T08:30:33.3428431Z       Traceback (most recent call last):
2022-05-17T08:30:33.3429241Z         File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 156, in prepare_metadata_for_build_wheel
2022-05-17T08:30:33.3429875Z           hook = backend.prepare_metadata_for_build_wheel
2022-05-17T08:30:33.3430594Z       AttributeError: module 'mesonpy' has no attribute 'prepare_metadata_for_build_wheel'
2022-05-17T08:30:33.3431030Z
2022-05-17T08:30:33.3431426Z       During handling of the above exception, another exception occurred:
2022-05-17T08:30:33.3431810Z
2022-05-17T08:30:33.3432143Z       Traceback (most recent call last):
2022-05-17T08:30:33.3432893Z         File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
2022-05-17T08:30:33.3433610Z           main()
2022-05-17T08:30:33.3434334Z         File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
2022-05-17T08:30:33.3435067Z           json_out['return_val'] = hook(**hook_input['kwargs'])
2022-05-17T08:30:33.3435934Z         File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 160, in prepare_metadata_for_build_wheel
2022-05-17T08:30:33.3436725Z           whl_basename = backend.build_wheel(metadata_directory, config_settings)
2022-05-17T08:30:33.3437504Z         File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 806, in build_wheel
2022-05-17T08:30:33.3438046Z           with _project(config_settings) as project:
2022-05-17T08:30:33.3438500Z         File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__
2022-05-17T08:30:33.3438933Z           return next(self.gen)
2022-05-17T08:30:33.3439611Z         File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 759, in _project
2022-05-17T08:30:33.3440123Z           with Project.with_temp_working_dir(
2022-05-17T08:30:33.3440584Z         File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__
2022-05-17T08:30:33.3441000Z           return next(self.gen)
2022-05-17T08:30:33.3441710Z         File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 478, in with_temp_working_dir
2022-05-17T08:30:33.3442268Z           yield cls(source_dir, tmpdir, build_dir)
2022-05-17T08:30:33.3442966Z         File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 422, in __init__
2022-05-17T08:30:33.3443556Z           self._configure(reconfigure=bool(build_dir) and not native_file_mismatch)
2022-05-17T08:30:33.3444682Z         File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 449, in _configure
2022-05-17T08:30:33.3445191Z           self._meson(
2022-05-17T08:30:33.3445833Z         File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 437, in _meson
2022-05-17T08:30:33.3446499Z           return self._proc('meson', *args)
2022-05-17T08:30:33.3447201Z         File "/root/.local/lib/python3.8/site-packages/mesonpy/__init__.py", line 433, in _proc
2022-05-17T08:30:33.3447698Z           subprocess.check_call(list(args))
2022-05-17T08:30:33.3448153Z         File "/usr/lib/python3.8/subprocess.py", line 359, in check_call
2022-05-17T08:30:33.3448597Z           retcode = call(*popenargs, **kwargs)
2022-05-17T08:30:33.3449010Z         File "/usr/lib/python3.8/subprocess.py", line 340, in call
2022-05-17T08:30:33.3449415Z           with Popen(*popenargs, **kwargs) as p:
2022-05-17T08:30:33.3449816Z         File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
2022-05-17T08:30:33.3450272Z           self._execute_child(args, executable, preexec_fn, close_fds,
2022-05-17T08:30:33.3450726Z         File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
2022-05-17T08:30:33.3451196Z           raise child_exception_type(errno_num, err_msg, err_filename)
2022-05-17T08:30:33.3451829Z       FileNotFoundError: [Errno 2] No such file or directory: 'meson'
2022-05-17T08:30:33.3452242Z       [end of output]
2022-05-17T08:30:33.3452548Z
2022-05-17T08:30:33.3452932Z   note: This error originates from a subprocess, and is likely not a problem with pip.
2022-05-17T08:30:33.3455540Z error: metadata-generation-failed
2022-05-17T08:30:33.3456013Z
2022-05-17T08:30:33.3456656Z × Encountered error while generating package metadata.
2022-05-17T08:30:33.3457294Z ╰─> See above for output.
2022-05-17T08:30:33.3457567Z
2022-05-17T08:30:33.3457980Z note: This is an issue with the package mentioned above, not pip.
2022-05-17T08:30:33.3458457Z hint: See above for details.
2022-05-17T08:30:33.3502819Z WARNING: You are using pip version 22.0.4; however, version 22.1 is available.
2022-05-17T08:30:33.3504136Z You should consider upgrading via the '/usr/bin/python3.8 -m pip install --upgrade pip' command.
2022-05-17T08:30:35.9066510Z ##[error]Bash exited with code '1'.
2022-05-17T08:30:35.9156000Z ##[section]Finishing: Run 32-bit Ubuntu Docker Build / Tests

It looks like in the future pip is moving away from pep517.hooks (doesn't help now, but this comment and the diagram below were helpful for me): https://github.com/pypa/pip/issues/6607#issuecomment-1079903252

Ah, the last commit on https://github.com/scipy/scipy/pull/16187 is getting us somewhere: removing --user from the install command helped somehow. That's no longer recommended/useful, so that's fine to keep. The new traceback is:
Processing /scipy
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Preparing metadata (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [58 lines of output]
      The Meson build system
      Version: 0.62.1
      Source dir: /scipy
      Build dir: /scipy/.mesonpy-iv6b9d_k/build
      Build type: native build
      Project name: SciPy
      Project version: 1.9.0.dev0
      C compiler for the host machine: gcc-5 (gcc 5.5.0 "gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010")
      C linker for the host machine: gcc-5 ld.bfd 2.30
      C++ compiler for the host machine: g++-5 (gcc 5.5.0 "g++-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010")
      C++ linker for the host machine: g++-5 ld.bfd 2.30
      Host machine cpu family: x86
      Host machine cpu: i686
      Compiler for C supports arguments -Wno-unused-but-set-variable: YES
      Library m found: YES

      ../../meson.build:41:0: ERROR: Unknown compiler(s): [['gfortran']]
      The following exception(s) were encountered:
      Running "gfortran --version" gave "[Errno 2] No such file or directory: 'gfortran'"
      Running "gfortran -V" gave "[Errno 2] No such file or directory: 'gfortran'"

      A full log can be found at /scipy/.mesonpy-iv6b9d_k/build/meson-logs/meson-log.txt
      + meson setup --native-file=/scipy/.mesonpy-native-file.ini -Ddebug=false -Dstrip=true -Doptimization=2 --prefix=/usr /scipy /scipy/.mesonpy-iv6b9d_k/build
      Traceback (most recent call last):
        File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 156, in prepare_metadata_for_build_wheel
          hook = backend.prepare_metadata_for_build_wheel
      AttributeError: module 'mesonpy' has no attribute 'prepare_metadata_for_build_wheel'

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/usr/local/lib/python3.8/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
        File "/usr/local/lib/python3.8/dist-packages/mesonpy/__init__.py", line 759, in _project
          with Project.with_temp_working_dir(
        File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__
          return next(self.gen)
        File "/usr/local/lib/python3.8/dist-packages/mesonpy/__init__.py", line 478, in with_temp_working_dir
          yield cls(source_dir, tmpdir, build_dir)
        File "/usr/local/lib/python3.8/dist-packages/mesonpy/__init__.py", line 422, in __init__
          self._configure(reconfigure=bool(build_dir) and not native_file_mismatch)
        File "/usr/local/lib/python3.8/dist-packages/mesonpy/__init__.py", line 449, in _configure
          self._meson(
        File "/usr/local/lib/python3.8/dist-packages/mesonpy/__init__.py", line 437, in _meson
          return self._proc('meson', *args)
        File "/usr/local/lib/python3.8/dist-packages/mesonpy/__init__.py", line 433, in _proc
          subprocess.check_call(list(args))
        File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['meson', 'setup', '--native-file=/scipy/.mesonpy-native-file.ini', '-Ddebug=false', '-Dstrip=true', '-Doptimization=2', '--prefix=/usr', '/scipy', '/scipy/.mesonpy-iv6b9d_k/build']' returned non-zero exit status 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.

So now it starts build_wheel just fine, i.e. --user changes the behavior of pep517+pip and seems buggy.
The new error is:
../../meson.build:41:0: ERROR: Unknown compiler(s): [['gfortran']]

That's fine, that's either a Meson issue with handling of FC or a CI issue.
The module 'mesonpy' has no attribute 'prepare_metadata_for_build_wheel' line will show up prominently for every single issue during wheel build - not ideal I guess, will cause issues to be opened here ....

Yes, I agree it's unfortunate that the exceptions get chained like that, but the real problem is not the missing prepare_metadata_for_build_wheel, something else fails in the code path dealing with it not being present.
I am not sure what is causing gfortran to not be found, AFAIK Meson should be able to find it when it is present on the system. In fact, I think that mechanism is often too eager.

I am not sure what is causing gfortran to not be found,

Don't worry about that one, that was an issue in my build config. There is a real bug though in either pip or pep517, because the original problem went away when I dropped --user from the pip install . command. But I'm going to ignore that, because --user is basically obsolete by now. And either way, it's not a meson-python problem.

I had another occurance of this for dbus-python and it's not clear that this is related.  Same message but slightly different issue?
pip install --upgrade dbus-python
Collecting dbus-python
Using cached dbus-python-1.3.2.tar.gz (605 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
error: subprocess-exited-with-error
× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [293 lines of output]
The Meson build system
Version: 0.63.2
Source dir: /tmp/pip-install-gvi7qm7o/dbus-python_0c564a57bdc24fbfa23901ac436e5517
Build dir: /tmp/pip-install-gvi7qm7o/dbus-python_0c564a57bdc24fbfa23901ac436e5517/.mesonpy-7i_j33ss/build
Build type: native build
Project name: dbus-python
Project version: 1.3.2
C compiler for the host machine: cc (gcc 8.5.0 "cc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-10)")
C linker for the host machine: cc ld.bfd 2.30-113
Host machine cpu family: x86_64
Host machine cpu: x86_64
...
  [30/32] Linking target test/dbus_py_test.cpython-310-x86_64-linux-gnu.so
  [31/32] Linking target _dbus_glib_bindings.cpython-310-x86_64-linux-gnu.so
  [32/32] Linking target test/test-import-repeatedly
  FAILED: test/test-import-repeatedly
  cc  -o test/test-import-repeatedly test/test-import-repeatedly.p/import-repeatedly.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group /usr/local/lib/libpython3.10.a -Wl,--end-group

...
  collect2: error: ld returned 1 exit status
  ninja: build stopped: subcommand failed.
  + meson setup --native-file=/tmp/pip-install-gvi7qm7o/dbus-python_0c564a57bdc24fbfa23901ac436e5517/.mesonpy-native-file.ini -Ddebug=false -Doptimization=2 --prefix=/usr/local /tmp/pip-install-gvi7qm7o/dbus-python_0c564a57bdc24fbfa23901ac436e5517 /tmp/pip-install-gvi7qm7o/dbus-python_0c564a57bdc24fbfa23901ac436e5517/.mesonpy-7i_j33ss/build
  + meson compile
  Traceback (most recent call last):
    File "/home/pivotal/.venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 156, in prepare_metadata_for_build_wheel
      hook = backend.prepare_metadata_for_build_wheel
  AttributeError: module 'mesonpy' has no attribute 'prepare_metadata_for_build_wheel'

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/home/pivotal/.venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
      main()
    File "/home/pivotal/.venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/home/pivotal/.venv/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 160, in prepare_metadata_for_build_wheel
      whl_basename = backend.build_wheel(metadata_directory, config_settings)
    File "/tmp/pip-build-env-44ih9eum/overlay/lib/python3.10/site-packages/mesonpy/__init__.py", line 941, in build_wheel
      return project.wheel(out).name
    File "/tmp/pip-build-env-44ih9eum/overlay/lib/python3.10/site-packages/mesonpy/__init__.py", line 889, in wheel
      wheel = _WheelBuilder(self).build(self._install_plan, self._copy_files, self._build_dir)
    File "/tmp/pip-build-env-44ih9eum/overlay/lib/python3.10/site-packages/mesonpy/__init__.py", line 354, in build
      self._project.build()  # ensure project is built
    File "/tmp/pip-build-env-44ih9eum/overlay/lib/python3.10/site-packages/mesonpy/__init__.py", line 535, in build
      self._meson('compile')
    File "/tmp/pip-build-env-44ih9eum/overlay/lib/python3.10/site-packages/mesonpy/__init__.py", line 477, in _meson
      return self._proc('meson', *args)
    File "/tmp/pip-build-env-44ih9eum/overlay/lib/python3.10/site-packages/mesonpy/__init__.py", line 472, in _proc
      subprocess.check_call(list(args))
    File "/usr/local/lib/python3.10/subprocess.py", line 369, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['meson', 'compile']' returned non-zero exit status 1.
  [end of output]

Again this looks like a pip517 issue

@rh0dium this is a regular build error:
FAILED: test/test-import-repeatedly

the rest is just boilerplate.

@rh0dium I'm having the same issue just setting up python on a fresh setup of fedora 36 & pyenv with python 3.10.7. May file an issue over on https://gitlab.freedesktop.org/dbus/dbus-python/-/issues


API Level 26 - Runtime Permissions

The new google app publishing guidelines state that the location permissions needs to be handled at the UI side - https://developer.android.com/distribute/best-practices/develop/target-sdk
Also see https://facebook.github.io/react-native/docs/permissionsandroid.html
Is this going to be supported or WIP already ?

Permissions are handled outside the lib as far as I know: https://github.com/react-community/react-native-maps/blob/72b0f77e31d18959e91acb036d5f91ab46e11ef2/example/examples/MyLocationMapMarker.js#L55
Anyway, I'll close the issue as it doesn't respect the template.


Title not working - $slidev.configs.title is not parsing

Describe the bug
When using {{ $slidev.configs.title }} in the MD file, the title is not displayed.
It appears in embedded files (src: '../../pages/index.md') and directly in md.
It shows up in the latest 0.49.10, and was functional in the previous tested 0.48.9.
The other slidev.config tags are also functional.
I think it's caused by #1621
To Reproduce
Steps to reproduce the behavior:

Go to slides.md
Use the source:

---
#== Slide Info
...
title: "My title"
titleTemplate: "PRF %s by Me"
src: '../../pages/index.md' # no impact - it manifests itself in embedded and directly
...
---
# {{ $slidev.configs.title }}

run presentation and in slide is shown {{ $slidev.configs.title }} instead My title

Desktop (please complete the following information):

OS: Windows
Browser: Chrome
Slidev version: latest (0.49.10)

I can't reproduce the problem when running the following slides:
---
title: "My title"
titleTemplate: "PRF %s by Me"
---

# {{ $slidev.configs.title }}

Did I miss something?

You can check my repo https://github.com/OA-PVA2-Syllabus/pva2_prednasky or if you are interested in, i can prepare new one for testing purposes.


Experiment setting for semantic segmentation

Hi, thank you for the code.
I implemented CSwin-T with FPN for semantic segmentation in ADE20K but couldn't reach the mIoU value of 48.2 as mentioned by you in the table. The maximum I could get was 39.9 mIoU, it will be great if you could share the exact experiment settings you used?
Thanks

Hi, thank you for the code.
I implemented CSwin-T with FPN for semantic segmentation in ADE20K but couldn't reach the mIoU value of 48.2 as mentioned by you in the table. The maximum I could get was 39.9 mIoU, it will be great if you could share the exact experiment settings you used?
Thanks

Hi,
How do you solve the split size when the resolution of the input image is different? Can you take a look at the code?

Hi, thank you for the code.
I implemented CSwin-T with Uppernet for semantic segmentation in ADE20K but couldn't reach the mIoU value of 48.2 as mentioned by you in the table. The maximum I could get was 23.3mIoU, it will be great if you could share the exact experiment settings you used?
Thanks


Graphics settings not quite right

Need to check, should also fix the windows size

Run "Force Serial" to allow graphics changes to be saved


_c or console

I don't know WHY console.log() has not worked before, but now it seems to? so _c.js
seems unnecessary and overly complex -- also failure prone given the script injection. Finalize a better solution -- or just naively use console

Using console.log from here out


Update banner on aspnet-core docs

Our current banner

Make our banner custom like .NET

My proposed list of links:

API
ASP.NET
Azure
.NET Core
.NET
.NET Framework

@danroth27  please review banner links

We should chat. There are some changes coming to DOCS that will affect custom banners. We are also working on standardizing - initially between .NET Site and .NET Docs.

@mairaw See Rowan's message above. Sounds like your custom UHF L1 header for .NET docs may be impacted.

adding @cartermp who is the only one with access to our UHF


feat: Adds forwarded support for the ssh key

what

The underlying docker-build-push action has support for setting ssh key context as a list.

why

We would like to use that argument to setup some git pulls in our Dockerfiles.

This was added by Miller directly due to the build failures from an external PR. Thanks!


ingressgateway is not respecting service annotation

Bug description
I am installing istio ingress gateway using below annotation to use the IP address from the different resource-group but, it's not considering the change.
--set gateways.istio-ingressgateway.serviceAnnotations.service.beta.kubernetes.io/azure-load-balancer-resource-group=xx.xx.xx.xx

describe istio-ingressgateway
Name:                     istio-ingressgateway
Namespace:                istio-system
Labels:                   app=istio-ingressgateway
                          chart=gateways
                          heritage=Tiller
                          istio=ingressgateway
                          release=istio
Annotations:              kubectl.kubernetes.io/last-applied-configuration:
                            {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{"service":"map[beta:map[kubernetes:map[io/azure-load-balancer-resource-grou...
                          service: map[beta:map[kubernetes:map[io/azure-load-balancer-resource-group:mtes-static-pip]]]
Selector:                 app=istio-ingressgateway,istio=ingressgateway,release=istio
Type:                     LoadBalancer
IP:                       <IP_ADDRESS>
IP:                       xx.xx.xx.xx
Port:                     status-port  15020/TCP
TargetPort:               15020/TCP
NodePort:                 status-port  31901/TCP
Endpoints:                <IP_ADDRESS>:15020
Port:                     http2  80/TCP
TargetPort:               80/TCP
NodePort:                 http2  31380/TCP
Endpoints:                <IP_ADDRESS>:80
Port:                     https  443/TCP
TargetPort:               443/TCP
NodePort:                 https  31390/TCP
Endpoints:                <IP_ADDRESS>:443
Port:                     tcp  31400/TCP
TargetPort:               31400/TCP
NodePort:                 tcp  31400/TCP
Endpoints:                <IP_ADDRESS>:31400
Port:                     https-kiali  15029/TCP
TargetPort:               15029/TCP
NodePort:                 https-kiali  31733/TCP
Endpoints:                <IP_ADDRESS>:15029
Port:                     https-prometheus  15030/TCP
TargetPort:               15030/TCP
NodePort:                 https-prometheus  30840/TCP
Endpoints:                <IP_ADDRESS>:15030
Port:                     https-grafana  15031/TCP
TargetPort:               15031/TCP
NodePort:                 https-grafana  32503/TCP
Endpoints:                <IP_ADDRESS>:15031
Port:                     https-tracing  15032/TCP
TargetPort:               15032/TCP
NodePort:                 https-tracing  32422/TCP
Endpoints:                <IP_ADDRESS>:15032
Port:                     tls  15443/TCP
TargetPort:               15443/TCP
NodePort:                 tls  31089/TCP
Endpoints:                <IP_ADDRESS>:15443
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type     Reason                      Age                 From                Message
  ----     ------                      ----                ----                -------
  Normal   EnsuringLoadBalancer        28s (x5 over 104s)  service-controller  Ensuring load balancer
  Warning  CreatingLoadBalancerFailed  28s (x5 over 104s)  service-controller  Error creating load balancer (will retry): failed to ensure load balancer for service istio-system/istio-ingressgateway: user supplied IP Address xx.xx.xx.xx was not found in resource group mc_aks-dev_aks-dev_canadacentral

Expected behavior
It should look for the public IP in given resource group which is mtes-static-pip as you can see it in describe.
Version (include the output of istioctl version --remote and kubectl version)
1.2.6
How was Istio installed?
helm template
Environment where bug was observed (cloud vendor, OS, etc)
AKS

--set gateways.istio-ingressgateway.serviceAnnotations.service.beta.kubernetes.io/azure-load-balancer-resource-group=xx.xx.xx.xx is not correct, you need to somehow escape the annotation name. not 100% sure how to do that on helm, it might be something like --set gateways.istio-ingressgateway.serviceAnnotations."service.beta.kubernetes.io/azure-load-balancer-resource-group"=xx.xx.xx.xx. Or much easier is just to make a values file and pass with -f so you can do it as yaml

@howardjohn First I tried with the way you mentioned. But, I was getting the same error.

See https://stackoverflow.com/questions/49522776/helm-how-to-override-value-with-periods-in-name for how to do it, looks like you need to escape the dots. Or just use a values file, much simpler than dealing with the --set pain


State incompatibility with will_paginate due to kaminari in tutorial

If you have will_paginate in your Gemfile it will break the shoppe interface due to shoppe using kaminari.
Add the fact that happens to your tutorial/readme - or perhaps fix it somehow.
I'm mainly adding this issue because there wasn't one when I was trying to figure out what was causing the 500 and it might help other people.

I can't seem to replicate this in a new Rails 4.2 app with the latest version of Shoppe & will_paginate so I'm going to close it for now. Feel free to re-open it if the issue persists.


updated captcha generator

Adding of audio captcha and captcha history that will help to genarate new captcha's in captcha generator project. #217
Description
added audio captcha system and captcha hostory to access recent captcha's.
Fixes:  #(217.)

Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[x] I have made this from my own
[x] I have taken help from some online resourses
[x] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

please issue this to me @Sulagna-Dutta-Roy and merge this my new code. Thank you.


Feature request: support for left and right modifiers

I'd like to request support for distinctions of left and right modifiers such that if a hyper key is mapped to, say, right shift + right command + right control + right option, there is still the possibility of hyper + left shift to execute a command.

Please search for duplicates before reporting

Not sure how your comment was helpful to the issue aside from pointing me to https://github.com/nikitabobko/AeroSpace/issues/31 (and not even that, since you never linked anything).
Your comment in that post wasn't helpful at all either.
For those who landed here, the verdict seems to be that it'll this feature will not be supported natively.


Loading previous selections in order of selected preferences

Using the multiselect to allow an attendee to select their top 3 hotel preferences for a convention.  Data is saved in order of selection (keepOrder: true).  This works as expected during time of initial selection.
However, when the attendee returns to edit his/her record, even though the previous selections are loaded in the order they were originally selected, the "selected" hotels are always resorted alphabetically.   I need the multiselect to maintain the order or the previously selected hotels.  "keepOrder" does not seem to effect this at all as it seems to work only when items are being selected.
I am loading the previously selected hotels as an array of values in the order they were originally selected via the ".multiSelect('select', aHotels);  They load fine, just not in order.  Can this be done or should I give up hope and look for some other method of doing this?

Same issue here.

Same issue


OS.get_screen_size now returns the correct value on OSX

Hi, on OSX OS.get_screen_size was not returning the correct size, I tested the patch on Yosemite and now it's working properly.

Nice catch! :)


[Feature Request] Disable field data on "_id" field

Is your feature request related to a problem? Please describe
Right now , field data on "_id" field is enabled by default.
Users unaware of the implication of sorting on "_id" field , perform sorting on "_id" field on a large dataset and experience sudden increase in heap usage as field data of "_id" field will be cached to the default amount to 20% of heap. ( or based on the custom value )
 public static final Setting<Boolean> INDICES_ID_FIELD_DATA_ENABLED_SETTING = Setting.boolSetting(
        "indices.id_field_data.enabled",
        true,
        Property.Dynamic,
        Property.NodeScope
    );

"indices.fielddata.cache.size" is the setting which decides the cache size limit

Describe the solution you'd like
Make cluster setting default to 'false' , so that users take a conscious decision on enabling field data on "_id" field.
 public static final Setting<Boolean> INDICES_ID_FIELD_DATA_ENABLED_SETTING = Setting.boolSetting(
        "indices.id_field_data.enabled",
        false,
        Property.Dynamic,
        Property.NodeScope
    );

This will help the users continue using "_id" field for sorting and aggregations etc with just changing the cluster setting.
Related component
Search:Query Capabilities
Describe alternatives you've considered
No response
Additional context
No response

[Triage - attendees 1 2 3]
@bharath-techie Thanks for filing this issue.  As a triage team the proposed behavior change is breaking and could be controversial.
@reta @msfroh What are your thoughts on this issue, is there someone else that should be looped into to look at this proposal?

This would be a breaking change. To start with we can update the OpenSearch documentation to warn users about the implication of sorting on fields with high cardinality including _id. We can keep this issue open to gather feedback from users and can decide if we should do this in 3.0.

What are your thoughts on this issue, is there someone else that should be looped into to look at this proposal?

I agree that it would a) be breaking and b) be a good idea. Given the opportunity for users to harm their cluster with _id fielddata, IMO we should definitely disable it by default.
Sorting by _id seems like a good option for a sorting tie-breaker, but users may not anticipate the cost in terms of heap usage. (If you really need to sort by ids as a tie-breaker, I would suggest writing the ids to a field with doc_values:true, and sort on that.)


Add an accountStartIndex to AccountSyncOptions

Description
Balance finding algorithms could be improved if we can specify a starting index for the accounts in addition to the addresses. If we can only adjust the starting address index then it's possible that any new accounts searched will not start from address index zero, which may result in funds not found.
Motivation
See description.
Requirements
Write a list of what you want this feature to do.

Allow for a accountStartIndex parameter in the AccountSyncOptions

Are you planning to do it yourself in a pull request?
Maybe (@Tuditi and I would like to try and do this if not too difficult).

Hm, should rather be a parameter in https://github.com/iotaledger/wallet.rs/blob/66d94faf8b860f3287bed28e207fa7d688890340/src/account_manager/operations/account_recovery.rs#L19 and not AccountSyncOptions, because they are for every account and there the account index doesn't make sense

Maybe it makes sense to add the addressStartIndex as an argument as well. Then it's consistent with accountStartIndex.


#94 heroic game roots

Linking #94 for discoverability. Doesn't seem to want to link from the title.

Great, thank you for thoroughly looking into it!  I will work through the list of changes.

So far all seems to be done and is merged.  I kindly request another review round - the final one?


Cannot fit requested classes in a single dex file

This plugin used to work fine, but now I receive an error while building the Android app. No problems on iOS. Can someone help me with this?
Cannot fit requested classes in a single dex file (# methods: 120876 > 65536)
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForRelease'.

com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

cordova plugin add cordova-plugin-enable-multidex

A simple work around would be to add few lines in build.grade file app level.
Here is a link with further details:
[https://developer.android.com/studio/build/multidex]


'Invalid signature' after restarting node with InMem store

Steps to reproduce

Start two nodes with InMem store

λ babble run --datadir=d:\Temp\babble\datadir\1 --store=inmem
λ babble run --datadir=d:\temp\babble\datadir\2 --node_addr <IP_ADDRESS>:2337 --proxy_addr <IP_ADDRESS>:2338 --client_addr <IP_ADDRESS>:2339 --service_addr <IP_ADDRESS>:8001 --store inmem --no_client

Allow the two nodes to sync
Restart one of the nodes

λ babble.exe run --datadir=d:\Temp\babble\datadir\1 --store=inmem
DEBU[0000] RUN                                           cache_size=500 client_addr="<IP_ADDRESS>:1339" datadir="d:\\Temp\\babble\\datadir\\1" heartbeat=1000 max_pool=2 no_client=false node_addr="<IP_ADDRESS>:1337" proxy_addr="<IP_ADDRESS>:1338" service_addr="<IP_ADDRESS>:8000" store=inmem store_path="C:\\Users\\Stanislav Stoyanov\\AppData\\Roaming\\BABBLE\\badger_db" tcp_timeout=1000
DEBU[0000] PARTICIPANTS                                  id=1 pmap="map[0x043BD8FBBB47FC2C5885DA809769181C5C648460FEC1F04B9BDCEBB1A5B5C35B9C6DA6F4353673942878F050C7845614EA4E64C8D30303C8DFD1530BB89EAB2008:0 0x04DB3C17CCE6F68B6A78137B5A39D427D2E42A787AEC6EFA749446CB9E9E6EB4C1D486DE94CD5EEA2ABE21C54E59A31045A4BF389E2E9A585260B4BBDB3EDB4440:1]"
DEBU[0000] Init Node                                     peers="[<IP_ADDRESS>:2337]" this_id=1
DEBU[0000] Run loop                                      state=Babbling this_id=1
DEBU[0000] Service serving                               bind_address="<IP_ADDRESS>:8000"
DEBU[0001] Empty TxPool
DEBU[0001] Time to gossip!                               this_id=1
DEBU[0001] requestSync()                                 duration=4499900 this_id=1
DEBU[0001] SyncResponse                                  events=29 from_id=0 known="map[0:13 1:15]" sync_limit=false this_id=1
DEBU[0001] Sync                                          txPool=0 unknown=29
DEBU[0001] Processed Sync()                              duration=1000000 this_id=1
ERRO[0001] sync()                                        error="Invalid signature" this_id=1

Investigation

Stop one of the nodes and keep the other running
Modify cmd/babble/main.go

        var needBootstrap bool
	switch storeType {
	case "inmem":
		store = hg.NewInmemStore(pmap, conf.CacheSize)
                needBootstrap = true // <---
	case "badger":

Recompile, and start the node again

λ go build -v -i github.com/babbleio/babble/cmd/babble
λ babble.exe run --datadir=d:\Temp\babble\datadir\1 --store=inmem
DEBU[0000] RUN                                           cache_size=500 client_addr="<IP_ADDRESS>:1339" datadir="d:\\Temp\\babble\\datadir\\1" heartbeat=1000 max_pool=2 no_client=false node_addr="<IP_ADDRESS>:1337" proxy_addr="<IP_ADDRESS>:1338" service_addr="<IP_ADDRESS>:8000" store=inmem store_path="C:\\Users\\Stanislav Stoyanov\\AppData\\Roaming\\BABBLE\\badger_db" tcp_timeout=1000
DEBU[0000] PARTICIPANTS                                  id=1 pmap="map[0x043BD8FBBB47FC2C5885DA809769181C5C648460FEC1F04B9BDCEBB1A5B5C35B9C6DA6F4353673942878F050C7845614EA4E64C8D30303C8DFD1530BB89EAB2008:0 0x04DB3C17CCE6F68B6A78137B5A39D427D2E42A787AEC6EFA749446CB9E9E6EB4C1D486DE94CD5EEA2ABE21C54E59A31045A4BF389E2E9A585260B4BBDB3EDB4440:1]"
DEBU[0000] Init Node                                     peers="[<IP_ADDRESS>:2337]" this_id=1
DEBU[0000] Run loop                                      state=Babbling this_id=1
DEBU[0000] Service serving                               bind_address="<IP_ADDRESS>:8000"
DEBU[0001] Empty TxPool
DEBU[0001] Time to gossip!                               this_id=1
DEBU[0001] requestSync()                                 duration=6004500 this_id=1
DEBU[0001] SyncResponse                                  events=30 from_id=0 known="map[0:13 1:15]" sync_limit=false this_id=1
DEBU[0001] Sync                                          txPool=0 unknown=30
DEBU[0001] Processed Sync()                              duration=9515600 this_id=1
DEBU[0001] DivideRounds()                                duration=1359300
DEBU[0001] DecideFame()                                  duration=0
DEBU[0001] FindOrder()                                   duration=0
DEBU[0001] Processed RunConsensus()                      duration=2358400 this_id=1
DEBU[0001] Committing Block                              block="{6 [[58 32] [58 32] [58 32] [58 32]] [] }" this_id=1
DEBU[0001] Diff()                                        duration=0 this_id=1
DEBU[0001] Committing Block                              block="{8 [[58 32 49 50 51]] [] }" this_id=1
DEBU[0001] requestEagerSync()                            duration=5002600 this_id=1
DEBU[0001] EagerSyncResponse                             from_id=0 success=true this_id=1
DEBU[0001] Stats                                         consensus_events=23 consensus_transactions=6 events/s=0.00 id=1 last_consensus_round=10 num_peers=1 round_events=2 rounds/s=0.00 state=Babbling sync_rate=1.00 this_id=1 transaction_pool=0 undetermined_events=8
DEBU[0001] Committing Block                              block="{9 [[58 32 49 50 51 52 53]] [] }" this_id=1

Node is able to sync

Fix suggestion
For InMem store always set needBootstrap = true. In node.Init(needBootstrap) only bootstrap if there are blocks in the hashgraph.

Thank you for the detailed post.
The source of the problem is that when a node is started with inmem store, it initializes its Hashgraph with a first Event; this Event is different each time because it contains a timestamp. So when a node is restarted, it will initialize its Hahsgraph with a different Event (at index 0) than the other nodes are aware of.
The method of bootstrapping with inmem store only works by chance here. It fails to load a first Event for the node when it is restarted. Instead, it receives its own first Event from other peers that push syncs to it. It is not possible to rely on this solution even if it works in this specific case.
This is related to #10 and there is no trivial solution. Check my last post on that issue for further details.

@devvcat
I have created a temporary fix by making the Initial Event deterministic (commit 6038d4b)
There is no need to boostrap with inmem store.
It should work "almost always" but the problem mentioned in #10 still remains.
It will be addressed later with the FastSync work.


Embeddings example with text_generation_web_ui

chuck_norris_test_web_generation_textui.py seem work fine, except of the fact that it generates code that not complies (missing import json)
would be great to see an example of using embeddings from text_generation_web_ui

@ernestp exactly, code generation result quite often has errors
I'm still trying different ways of having more reliable code generation, I think just the base langchain Python REPL is a bit disappointing with local models. A couple of PoCs I tried recently to address this:

Running multiple prompts and installing packages in a virtualenv: https://github.com/paolorechia/code-it
Generating docstrings using lighter open source models in VSCode with guidance library: https://github.com/paolorechia/oasis

About your request: unfortunately, I wouldn't time to invest into using text_generation_web_ui embeddings.
I'm currently leaning more towards exploring solutions that leverage the guidance library, I think it has more potential than just langchain for local models - and sadly guidance can't be fully used with text_generation_web_ui - there are features only available through Hugging Face API.
So I'm slowly migrating away from text_generation_web_ui in my private work.

Also note that there's an example using Sentence Transformers embeddings: https://github.com/paolorechia/learn-langchain#qa-with-sentence-transformer--vicuna
If you want to try the chuck norris joke with code-it, you can run this example:
https://github.com/paolorechia/learn-langchain/blob/main/langchain_app/executor_tests/chuck_norris_joke.py

@paolorechia Thanks for the explanation and examples.
My current goal is to leverage langchain with local quantized models (GPTQ) which are currently not supported in langchain and HuggingFace pipeline.
It seems embeddings generation is supported in text_generation_web_ui API. I will try to use it and will create a pull request if succeeded. Or perhaps I will try to use your local server.
Regarding the guidance library, can you share links to API or manual?

Or perhaps I don't need embeddings from text_generation_web_ui at all. I just tried HuggingFaceInstructEmbeddings and it seems it runs on GPU and not using a lot of VRAM. I tried to load both 4bit/WizardLM-13B-Uncensored-4bit-128g and HuggingFaceInstructEmbeddings simultaneously and they fit well in 16GB VRAM. You can close the issue.

Cool, thanks for the update. Official documentation for guidance: https://github.com/microsoft/guidance


Auto Light Discovery

Since this is implemented on the unfinished website, this will basically be done once the website (#2) is.


altering theme object for pie and candlestick

alters the theme objects for pie and candlestick to a more sensible format and partially addresses #101
@boygirl

@boygirl this is all updated for the new theme config!

closing in favor of #110


Request info & abi too many times, on the internet it's terribly expensive, could reduce the requests?

Thanks for your great work.
Now scatter requests the same request so many times, get_info & get_abi, the server returns the same response in my test.
On a testnet it's okay, but on the eos mainnet, it's slow, the fastest full node I found needs about 1 second to return the response, time is wasted on the so many repeated requests. Could you reduce the same requests? Thank you.

+1

If you use just eosjs without Scatter signing, what does that look like?


Unable to login : HTTPException

I have recently changed the password of my reddit account. How can I force it ask for the Oauth key again?

Starting with the rtv --clear-auth flag should do it, or delete the token at ~/.config/rtv/refresh-token.

Thank you!! That fixed it.


more cols

have u test the situation that the table has more columns?
In my page,the table has handreds of rows(more than 500) and more than 70 cols,If I use Clusterize, I even get a more bad result when I scroll the data。
I haven't read the source code in-depth,Do I miss some config?
there is my test page code:
<link href="clusterize.css" rel="stylesheet">

        Headers	Headers1	Headers2	Headers3	Headers4	Headers5	Headers6	Headers7	Headers8	Headers9	Headers10	Headers	Headers1	Headers2	Headers3	Headers4	Headers5	Headers6	Headers7	Headers8	Headers9	Headers10	Headers	Headers1	Headers2	Headers3	Headers4	Headers5	Headers6	Headers7	Headers8	Headers9	Headers10	Headers	Headers1	Headers2	Headers3	Headers4	Headers5	Headers6	Headers7	Headers8	Headers9	Headers10	Headers	Headers1	Headers2	Headers3	Headers4	Headers5	Headers6	Headers7	Headers8	Headers9	Headers10	Headers	Headers1	Headers2	Headers3	Headers4	Headers5	Headers6	Headers7	Headers8	Headers9	Headers10	Headers	Headers1	Headers2	Headers3	Headers4	Headers5	Headers6	Headers7	Headers8	Headers9	Headers10

          Loading data…

Hello
Clusterize handles vertical axis (tr's) only. Unfortunately it was not designed to handle horizontal axis (td's).
With default settings you have 200 rows * 70 columns = 14k table cells in DOM. That's pretty much.
Try to decrease rows_in_block to 20 and blocks_in_cluster to 2, that should reduce your table to 2800 table cells in DOM at same time.
If that doesn't help, you'll need virtualization library that support both axes.

thanks very much for your answer,In fact, I considered add function in your codes whick could support my needs,but I got failed because of urgent task.
Finally, I would like to thank you and your plug-in


Capitalisation of titles not honoured by email reports...

Describe the bug
Capitalisation of titles not honoured by email reports.
To Reproduce
Check any report emails coming from a collective.
Expected behavior
I'd expect capitalisation of titles to be honoured by email reports.
Screenshots
I'd expect the each word of "World Peace Now" to be capitalised.

Desktop (please complete the following information):

Any

Smartphone (please complete the following information):

Any

Additional context
None.

Template (opencollective-api/templates/emails/collective.monthlyreport.hbs) uses capitalize which, according to the docs capitalize only the first letter and downcase the rest.
We could switch to capitalizeAll which would produce the desired result, but it seems we should keep the original format here and not change the existing case.

@xdamman We suggest to drop capitalize? Ok?
Alternative is to use capitalizeAll but we think it's better on the long term to not touch capitalization and use the name as it's stored.

@xdamman Any opinion?

@xdamman taking it for tomorrow then!

Agree with @znarf "use the name as it's stored". So does that mean World Peace Now is stored as "World Peace Now" or "World peace now"? Because I thought it was stored as "World Peace Now". I mean I never write it as "World peace now". Thanks for your work on this.


allow running app as root

Fixes: https://github.com/OpenDevin/OpenDevin/issues/1629

Current issue is that source ~/.bashrc hangs when running as root user

@xingyaoww any ideas why source ~/.bashrc times out when running as root?
I get
00:45:36 - opendevin:ERROR: ssh_box.py:231 - Command timed out, killing process...
00:46:07 - opendevin:ERROR: agent.py:125 - Error creating controller: Failed to source ~/.bashrc with exit code -1 and output Command: "source ~/.bashrc" timed out. Sending SIGINT to the process: root@f4a634cb4d2a:/workspace# ^C
root@f4a634cb4d2a:/workspace#
Traceback (most recent call last):
  File "/app/opendevin/server/agent/agent.py", line 117, in create_controller
    self.controller = AgentController(
                      ^^^^^^^^^^^^^^^^
  File "/app/opendevin/controller/agent_controller.py", line 82, in __init__
    self.runtime.init_sandbox_plugins(agent.sandbox_plugins)
  File "/app/opendevin/runtime/runtime.py", line 66, in init_sandbox_plugins
    self.sandbox.init_plugins(plugins)
  File "/app/opendevin/runtime/plugins/mixin.py", line 47, in init_plugins
    raise RuntimeError(
RuntimeError: Failed to source ~/.bashrc with exit code -1 and output Command: "source ~/.bashrc" timed out. Sending SIGINT to the process: root@f4a634cb4d2a

@rbren Just pushed a new commit and it fixes the hang issue, at least when i was running:
RUN_AS_DEVIN=False python3 opendevin/runtime/docker/ssh_box.py

It works! Thanks Xingyao


build out the nav bar in the index.html

Started Nav bar for logged in phase of project, connected front side route to it and events page


how to visualize aedat files in the PAF fall detection dataset?

How can I visualize the videos or convert them to well-known video formats such as mp4/AVI or say convert them to pointclouds? for example such as the post below?
https://github.com/CrystalMiaoshu/PAFBenchmark/issues/2#issue-593194125

I have:

you can use sae.py (provided here) and then use opencv.videowriter


Support INTERVAL values as input for extract(field from source)

Problem Statement
To calculate the difference between two DATE or TIMESTAMP values, one can use the age(<timestamp>,<timestamp>) function, which returns an INTERVAL. This is fine, if one can directly use the INTERVAL, however if one would want to calculate the difference in weeks, one can't extract that information from an INTERVAL further in CrateDB.
Possible Solutions
Support also INTERVAL values as input for extract(field from source)  following PostgreSQL
https://www.postgresql.org/docs/current/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT
e.g.
SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute');
Result: 40

Considered Alternatives
-- calculating difference in months between two dates
SELECT
('2022-10-21'::DATE - '2021-08-21'::DATE)::BIGINT
    / (1000*60*60*24*30.5::NUMERIC);

Support boostspeed 'ALL INTERVALLS'

Since weeks is mentioned as example use case:
CrateDB:  SELECT 'P10D'::interval returns  1 weeks 3 days 00:00:00
PG13: SELECT 'P10D'::interval returns {"days":10}
it's just representation in client but internal Period class has weeks field set to 3, and
Period.days(10) != Period.weeks(1).days(3) - so might affect streaming of that internal state(Period) to clients?

Imho, it's best if internally we return a Period with as fine grain info as possible, and then provide an extract variation with INTERVAL type to convert to what the user wants.


Log2 scale

Hello! Could you please tell me whether there is a possibility to calculate average compartment and visualize it in log2-scale?

Hi @katikoshak ,
That's possible. Just modify lines 98, 120 and 147 where plt.imshow() functions are located in the plotting script (https://github.com/magnitov/pentad/blob/development/src/plot_pentad.py). You just have to add np.log2() for the first argument and remove norm parameter which adds colorbar in log scale.
Best,
Mikhail

Thanks a lot!


Custom protocol won't load additional resources without trailing slash

When using a custom protocol e.g. app:// using protocol.registerProtocol() that resolves requests to a RequestFileJob it won't load additional resources such as CSS if the URL doesn't have a trailing slash.
For example app://myapp (notice no slash at the end) will load the HTML file but it won't load any CSS included with a <link /> tag. On the other hand, app://myapp/ (notice slash at the end) will successfully load all resources.
If I console.log the request in the protocol handler it won't even try to load the CSS without a trailing slash. It doesn't try to request it. So I'm assuming it has nothing to do with not finding the file.

I have created an example app in maxkueng/electron-issue-1759 to reproduce the issue.
It provides two "apps" (app1, app2) under app://app1 and app://app2 that will resolve to ./apps/app1 and ./apps/app2 respectively.
Both apps have an index.html and a styles.css file.
The custom protocol handler will print out every single request.
When loading app://app1/ it will print out the path to both index.html and styles.css. But when loading app://app1 (without trailing slash) it will only print the path to index.html and won't even try to load styles.css.
Comment and uncomment the different openWindow() calls here to try out different URLs.

isnt that how relative reference works https://tools.ietf.org/html/rfc3986#section-5 . If the example was written to
var path = require('path');
var url = require('url');
var app = require('app');
var BrowserWindow = require('browser-window');

// This is a simple regsistry to register apps.
var registry = {
  apps: {},
  register: function (name, dir) {
    console.log('Registered', name, 'with path', dir);
    this.apps[name] = dir;
  },
  getPath: function (name) {
    return this.apps[name];
  }
};

function setupProtocol () {
  var protocol = require('protocol');

  protocol.registerProtocol('app', function (request) {

    // Parse the URL
    var parsedUri = url.parse(request.url);

    // If the URL is, app://app1 the hostname will be 'app1'
    // which we'll use to look up the path.
    var appName = parsedUri.hostname;

    // Get the app directory from the registry.
    var appPath = registry.getPath(parsedUri.hostname);

    // The default path is '/index.html'.
    if (parsedUri.pathname === "/test")
      parsedUri.pathname = "/index.html"

    var filePath = path.join(appPath, parsedUri.pathname || '');
    console.log('Requesting', filePath);

    return new protocol.RequestFileJob(filePath);
  });
}

function openWindow (uri) {
  var win = new BrowserWindow({ width: 800, height: 600 });
  win.loadUrl(uri);

  win.openDevTools();
}

// Register some apps.
registry.register('app1', path.join(__dirname, 'apps/app1'));
registry.register('app2', path.join(__dirname, 'apps/app2'));

app.on('ready', function () {
  setupProtocol();

  openWindow('app://app1/test'); // Works
});

will work too. Besides GURL::resolve wont work correctly if there is no trailing slash for relative reference . Servers usually do a 301 redirect to fix this and URLRequestFileJob does too but i am not sure why the job stops after redirect. @zcbenz did you mark the filejob behaviour as bug? just curious.

You can now use protocol.registerStandardSchemes to register the custom standard as standard scheme to change this behavior.


Icons won't show when not using pack URIs

When using the C# API to create a new tray icon menu entry like so:
var launchItem = new MenuItem()
{
	Header = "Test",
    Icon = new Image()
	{
		Source = new BitmapImage(new Uri("LogoIcon.ico", UriKind.Relative))
	}
}
launchItem.Click += (o, e) => Logic.OpenEditor("Test2");
TaskbarContextMenu.Items.Add(launchItem);

The icon won't show next to the menu entry. If you use
Icon = new Image()
{
	Source = new BitmapImage(new uri("pack://application:,,,/WpfProject1;component/LogoIcon.ico"))
}

instead, it does show correctly.

I will have a look at it, I think it has an relation to https://bitbucket.org/hardcodet/notifyicon-wpf/pull-requests/10


Plugin ideas

This is a place to post Kap plugin ideas. For example, if you have a good idea but don't have the skills or time to implement it.
Currently, Kap supports "record", "edit", and "share" type plugins.
Please spend some effort on your comment. Comments like "kap plugin to add cats" are not verbose enough.

Kap plugin: green screen
I would love to have Kap to replace my green screen behind me when using the camera module. When I have a green screen I would love to be able to select an image or even a video to replace my green screen. Currently imove, zoom are capable of replacing your green screen with an image. The green screen is just a piece of cloth that is green in color and you can purchase it from amazon. It makes your selected image display behind you really nice.
I am planning on using this feature when recording my speech that that I look nicer with a related background

Kap plugin to support network A/V sharing capabilities.
Similar to obs-ndi.

I would like to see a plugin that allows the user to predetermine the length of the recording. Let's say I want to record a video that I know is 7.50 min long - I would like to be able to set up the recording duration beforehand and go do something else while my screen gets recorded without worrying about having to come back and stop the app.


feat: add properties to #[trace]

Signed-off-by: Andy Lok<EMAIL_ADDRESS>Closes https://github.com/tikv/minitrace-rust/issues/183

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.8%) to 79.068%

Totals

Change from base Build<PHONE_NUMBER>:
-1.8%

Covered Lines:
1696

Relevant Lines:
2145

💛  - Coveralls

Thank you @andylokandy !


Db migrate not running migrations for mysql

I'm submitting a...

[x] Bug report
[ ] Feature request
[x] Question

Current behavior

Throws a syntax error while running migrations but runs correctly on MySQL workbench
Expected behavior

should run migration correctly
Minimal reproduction of the problem with instructions
This is the MySQL migration file.
/* Replace with your SQL commands */
CREATE TABLE IF NOT EXISTS user_info(
  id BINARY(16) PRIMARY KEY,
  first_name VARCHAR(100) NOT NULL,
  last_name VARCHAR(100) NOT NULL,
  email VARCHAR(150) UNIQUE NOT NULL,
  password VARCHAR(100) NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT NOW(),
  updated_at TIMESTAMP NOT NULL DEFAULT NOW() ON UPDATE NOW()
);

CREATE TABLE IF NOT EXISTS wallet(
  id BINARY(16) PRIMARY KEY,
  user_id BINARY(16) NOT NULL,
  balance DECIMAL(19,4) NOT NULL,
  created_at TIMESTAMP NOT NULL DEFAULT NOW(),
  updated_at TIMESTAMP NOT NULL DEFAULT NOW() ON UPDATE NOW(),
  FOREIGN KEY (user_id) REFERENCES user_info(id)
);

is it that I can't run multiple create at once cos this works on db-migrate-pg driver whats the problem with MySQL driver
What is the motivation / use case for changing the behavior?

Environment

db-migrate version: 0.11.12
plugins with versions: X.Y.Z
db-migrate driver with versions: mysql 2.1.2

Additional information:
- Node version: 14.x
- Platform: Mac

Others:

please red the docs: https://db-migrate.readthedocs.io/en/latest/Getting Started/configuration/

please read the docs: https://db-migrate.readthedocs.io/en/latest/Getting Started/configuration/
is this config correct

{
  "development": {
    "ENV": "PATRONIZE_DATABASE_DEV_URL"
  },
  "test": {
    "ENV": "PATRONIZE_DATABASE_TEST_URL"
  },
  "production": {
    "ENV": "PATRONIZE_DATABASE_URL"
  },
  "defaultEnv": {
    "ENV": "PATRONIZE_NODE_ENV"
  },
  "sql-file": true,
  "multipleStatements": true
}

please read the docs: https://db-migrate.readthedocs.io/en/latest/Getting Started/configuration/

I did that already and set my database.json file it wan't working


README: use different code block for different read API configuration

The READMEs' read relationship tuples example uses the same code block for different read API configuration (i.e., find if a relationship tuple stating that a certain user is a viewer of certain document, find all relationship tuples where a certain user has a relationship as any relation to a certain document, etc.)
Ideally, each type of API will have its own code block to improve reading experience.
For example,
# Find if a relationship tuple stating that a certain user is a viewer of certain document
body = TupleKey(
    user="user:81684243-9356-4421-8fbf-a4f8d36aa31b",
    relation="viewer",
    object="document:roadmap",
)

response = await fga_client.read(body)
# response = ReadResponse({"tuples": [Tuple({"key": TupleKey({"user":"...","relation":"...","object":"..."}), "timestamp": datetime.fromisoformat("...") })]})

# Find all relationship tuples where a certain user has a relationship as any relation to a certain document
body = TupleKey(
    user="user:81684243-9356-4421-8fbf-a4f8d36aa31b",
    object="document:roadmap",
)

response = await fga_client.read(body)
# response = ReadResponse({"tuples": [Tuple({"key": TupleKey({"user":"...","relation":"...","object":"..."}), "timestamp": datetime.fromisoformat("...") })]})

The code in question is in https://github.com/openfga/python-sdk/blob/1f4c73467f13ed3bcd1989a6051695c4abac3c41/README.md?plain=1#L388.
Ideally, we will also fix the SDK generator so that newly generated python SDKs will have the corresponding changes. This is tracked as https://github.com/openfga/sdk-generator/issues/126. However, if that is difficult to do, simply focusing on the Python SDK side https://github.com/openfga/python-sdk/blob/main/README.md will help us as well.

Hi, @adriantam I would like work on this issue. Please assign it to me.
Thank you!


Express ignores %2B urls

Any url with %2B will be completely ignored by express.
Did I miss something?
// http://intranet.local/page/I%2BR-BAnfen/BAnfen

app.use('/page', async (req, res) => {
  console.log(req.url); //never gets called
});

Closing this because it is not located directly on express.

reopend because the error only appears if you use the domain. localhost works. intranet.local does not.

Found out that it is the fault of the iis reverse proxy.


Error: "context deadline exceeded (Client.Timeout exceeded while awaiting headers)"

I've been trying to get started with Onelogin + Terraform, but have been running into the same issue on two different computers using two different Onelogin Development accounts.

I've set up the provider based on the documentation (see EXAMPLE 1 below.)
I've exported the Client ID and Client Secret into the environment variables as documented and verified (i.e., env | grep ONELOGIN).
I've been able to create a user via creating it in a users.tf file (see EXAMPLE 2 below.)
However, I have been getting a Timeout error when running different operations (e.g., terraform apply, terraform refresh).

Any thoughts on how to translate the error message from below and resolve?
EXAMPLE 1

terraform {
  required_providers {
    onelogin = {
      source = "onelogin/onelogin"
      version = "0.1.25"
    }
  }
}

provider "onelogin" {
  # Configuration options
}

EXAMPLE 2

resource onelogin_users example_user {
    username  = "example"
    email     =<EMAIL_ADDRESS>  }

EXAMPLE 3

➜  onelogin-terraform terraform plan
onelogin_users.example_user Refreshing state... [id=12345678]
╷
│ Error: request error: context: ol http service, error_message: Post "https://api.us.onelogin.com/auth/oauth2/v2/token": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
│
│   with onelogin_users.example_user,
│   on users.tf line 1, in resource "onelogin_users" "example_user":
│    1: resource onelogin_users example_user {
│
╵

We are in the process of standardizing our SDKs by using OpenAPI specifications.
I have an OpenAPI generated terraform-provider-onelogin in prerelease if you would like t try it out.
https://github.com/onelogin/terraform-provider-onelogin/tree/openapi


ios:Plugin should use a background thread.

Hi, @zhangykun!
I would be glad if someone will update the plugin to the IOS, so that it worked in the background.


Allow which K.K. songs to play

A function that allows the user to select which K.K. Slider songs that are allowed to play would be nice. A lot of people aren't a fan of every single on of his songs, which is fair since each one is so diverse.

I wonder which would be the best way to display the full-list of songs, which is long. Maybe a dialog, or a separate option tab?

Most likely a new separate options tab, that has a list of songs with their name, original game, album art and a checkbox to indicate whether or not it's enabled.

Maybe also sort them by Mood, so you can easily set the extension to only play certain Moods of K.K. songs?


Java grammar not fully recognized

Hi, I have just enabled tree sitter with emacs, and i am facing a weird issue where the java grammar is not correctly colouring the symbols, while other grammars (such as the ts or c/c++ do seem to work fine) Below i have provided a sample screenshot for different languages. I am using the doom themes pack (but even without a theme enabled, I see the same issues). I am also using LSP but have disabled highlighting with:
     lsp-enable-semantic-highlighting nil
     lsp-semantic-tokens-enable nil

Here is the java colouring scheme, as you can see member variable (userRegistry) and function parameters are not coloured at all in the body or in the function header

Another sample in C where for some reason the block_alignment is not coloured in the function header and the places where it is used, but is coloured only in the assignment expression ?

Another simple example in TS, where a keyword (this) is coloured the same as a function, and void which you can either count as a keyword or a type is again the same colour as a function declaration/definition.

Over all there are vast inconsistencies between very simple language constructs as member attributes, function definitions/declarations, function arguments, variables etc. I assume those are defined to be understood by default in the grammar as they seem obvious enough.

Hi, I have just enabled tree sitter with emacs, and i am facing a weird issue where the java grammar is not correctly colouring the symbols, while other grammars (such as the ts or c/c++ do seem to work fine)

Please report language-specific issues to tree-sitter-langs or upstream grammar repositories.
To help troubleshooting, it's better to include texts that can be copied.

Here is the java colouring scheme, as you can see member variable (userRegistry) and function parameters are not coloured at all in the body or in the function header
Another sample in C where for some reason the block_alignment is not coloured in the function header and the places where it is used, but is coloured only in the assignment expression ?

Please check https://github.com/emacs-tree-sitter/tree-sitter-langs#highlighting-queries.

Another simple example in TS, where a keyword (this) is coloured the same as a function, and void which you can either count as a keyword or a type is again the same colour as a function declaration/definition.
Over all there are vast inconsistencies between very simple language constructs as member attributes, function definitions/declarations, function arguments, variables etc. I assume those are defined to be understood by default in the grammar as they seem obvious enough.

They should be understood by the grammars. How they are highlighted is a different issue. You can use M-x what-cursor-position to see what a piece of text is highlighted with. For how they are highlighted, check the doc on syntax highlighting.


Allow use of all signers by default

This commit changes signer allowlisting, to default to allowing approval for all signers.
This makes csi-driver-spiffe much simpler to use for external issuers such as aws-privateca-issuer, and is justified by the same change being made recently in approver-policy

@SgtCoDFish Do you know how we prevent the csi-driver-spiffe approver from conflicting with other approvers (like approver-policy)?

Do you know how we prevent the csi-driver-spiffe approver from conflicting with other approvers (like approver-policy)?

 Currently, we look for the issuerRef to match. That'll change in #125 hopefully to check for an annotation but that'll only be ready to merge after this one goes in.
In any case, that's not really related to the changes in this PR.

Does this project check for an annotation before it performs approval?

It will after #125 merges but doesn't yet.

Does removing restrictions on signers increase the chance of conflicts between approvers?

No, this change just makes it easier to configure an external issuer and has no impact on how we select which CRs to reconcile or approve. #125 will change that a bit.
Ultimately the current design of approval as a concept is always going to create approval race conditions. If one approver would approve a CR but another would deny, it's a race to see which goes first. We rely on users configuring things correctly so that approvers don't conflict and there's almost nothing an individual approver can do to prevent that as far as I can see.


Feature/enhance markdown

Feat: Improve the process of importing markdown into codeblocks in abstract manner.
Feat: Support for markdown language parsing can be recursively nested.
Feat: Support for markdown language exporting can be recursively nested.

Something like this
https://github.com/facebook/lexical/assets/16633962/21d41342-3352-47ee-93ad-0b9cb2303615

@fantactuka

I think you need to revert gitignore file, as your PR includes hundreds of build files

I think you need to revert gitignore file, as your PR includes hundreds of build files

I think you need to revert gitignore file, as your PR includes hundreds of build files

Sorry about that, I delete them

I think you need to revert gitignore file, as your PR includes hundreds of build files

Sorry about that, I delete them

You have other changes to revert: in EditorState, gitignore, build files.

Ok, I have handled the gitignore, build files.And the modification of the EditorState file is for testing purposes, which is used in Markdown.test.ts

Any updates on this?

Closing this PR due to staleness! If there are new updates, please reopen the PR.


[klima app] Disclaimer text for $KLIMA token

We will need a disclaimer put onto the KlimaDAO dApp due to new UK regulations.
Note not required for Carbonmark.
Needs to appear at a minimum on these pages:
https://app.klimadao.finance/#/buy
https://app.klimadao.finance/#/stake
https://app.klimadao.finance/#/bonds
https://app.klimadao.finance/#/wrap
User needs to be presented with the disclaimer text when they open a new session. Within a browser session, once they dismiss the message not required to be shown again.
One option might be a popup like:

Disclaimer text required below:

Investment Risk Disclaimer
Purchasing cryptocurrencies, including the $KLIMA token, involves a high degree of risk and should be considered extremely speculative. Here are some important points to consider:
Loss of Investment: The value of $KLIMA and other cryptocurrencies can rapidly increase or decrease at any time. As a result, you could experience significant and rapid losses, including the loss of all money invested.
Lack of Liquidity: There may be no active market for $KLIMA, which may result in losses if you need to sell your tokens quickly.
Regulatory Actions and Changes: The regulatory environment for cryptocurrencies is evolving and changes in regulation could adversely affect your investment.
Operational Risks: The KlimaDAO platform relies on various technologies related to the Polygon network and other digital assets. These technologies are subject to change, and such changes could adversely affect your investment.
No Guarantee: There is no guarantee that the KlimaDAO platform or the $KLIMA token will achieve its objectives or that any value will be retained in the Protocol.
This summary risk warning does not disclose all the risks associated with investing in $KLIMA. You should conduct your own due diligence and consult with a financial advisor before making any investment decisions.

final approved design here

Requirements

pop-up modal on desktop and mobile
pop-up modal will show if user navigates to Buy / Stake / Bond / Wrap pages (not required for Offset, Buy Carbon, or Info pages)
pop-up model will show for each new browser session
once a user accepts the disclaimer once within a browser session, it will not be shown again for that session
user must Acknowledge and Accept the disclaimer to proceed (i.e. there is no way to close the modal without accepting)


Providing the .json dict

Right now the dictionary with the image-text pairs is not available on github, thus the notebook is not working.
Idea: Storing and downloading it with huggingface!

Hint: I'm uploading a json file to Huggingface in this notebook: https://scads.github.io/generative-ai-notebooks/71_fine_tuning_hf/hf_data_upload.html

@haesleinhuepf Thanks! I now implemented saving the file on huggingface. I also want to do the same for the images, I'll do that next week! But thanks for the notebook, that helped a lot.


Update RELEASING.md

Proposed an update to create a process with involvement from the leadership committee for moving the release date.
Description
See above.
Issues Resolved
See above.

Thanks for initiating this thread @mashah. Agree with LC review, however, primary drivers on date pushout  will be a vote from maintainers and the infrastructure/release team that manages the release as they are aware of the technical challenges/last minute issues that might have led to a release delay. We need to still work through voting on github, but need to give enough time for stakeholders to review the proposed change

@mashah Thanks for opening this pull request, its been several weeks without activity, how can I help?


Sourcing Instancer primvars

Description
This patch forward primvars authored on a point instancer to a additional set of attributes which takes precedence over the geometry's attribute set and can be indexed by each object.
So far we are only forwarding attributes with per-instance interpolation as HdInterpolationInstance seems to be the only one available. Since the core patch supports any interpolation, is it possible to extract primvars with different interpolation from the instancer in Hydra? If I am reading correctly, the USD documentation for point instancer mentions that it's possible for primvars to have different interpolation.
It is the glue code for this coreBlackbird PR
Changes

Registering attribute sources for the instanced mesh attribute set
Registering the instanced attribute sets in the scene

Todo
Doing the same thing for volumes is straightforward, but I am investigating primvar overrides to figure out if they should go through an InstanceGroup.

I think we should skip creating an instance group if there are no primvars to be sourced.
Maybe if the instance group has size one we should merge the attributes with the geometry attribute set?

@dedoardo after I am done with building houdini artifacts I am going to have a look into this PR :)


Bidirectional type checking

An example program that is rejected:
locality alice

def main(b : Bool<adv>)@alice : Unit =
    if b then
        assert(b = true)
    else
        ()

Closed by 438bd23b32b8e8be858cc5c03a63857ec34d1f6c


[Feature]: Flag to skip ReplicaSet check

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
During initialization, the fat container runs rs.status() which requires the clusterMonitor role however the managed DBaaS provider I use do not give me this role. I'm 100% positive my MongoDB instance runs in ReplicaSet mode so would it possible to bypass this check ?
Right now my only option is to mount a modified entrypoint.sh that removes this check.
Why should this be worked on?
Impossible to run Appsmith with some MongoDB providers

My suggestion would be adding an environment variable like APPSMITH_MONGODB_SKIP_REPLICASET_CHECK=true

@rgdev, thanks for reporting. We intend to improve this check to only use the read permission, instead of the clusterMonitor role's features. I'll get this prioritized and push it soon.

Hello @sharat87 and thank you for your swift answer :) I'm glad to know you are aware of the issue & prioritizing it. I'm looking forward to updates on this matter. Have a great day!


Implement pre-build repository check for Replicate images

Added the ManifestInspect function in pkg/docker to verify if a Docker image exists on a registry using the docker manifest inspect command.
Updated the push function in pkg/cli/push.go to include a check for the existence of a model on the Replicate registry before initiating the build process.
The validation step is conditionally executed only for images with the Replicate registry prefix, preventing unnecessary checks for other registries.
This change ensures that if a model does not exist on Replicate, the process stops early with a clear error message, avoiding the waste of time and resources on building and attempting to push a non-existent model.

References:

Issue #1678

@mattt Any other notes on this?

@Etelis Thanks again for your work on this PR! I just applied one last suggestion from code review and rebased. Once CI passes, I'll get this merged in.

Wow thanks @Etelis!
@allcontributors please add @Etelis for code


Outdated links in documentation

On that page (https://coreruleset.org/docs/) in the "Quick Links" block, the "OWASP CRS @ Github" still points to  SpiderLabs/modsecurity-crs
the "Download" link under the logo also opens the old URL: https://github.com/SpiderLabs/owasp-modsecurity-crs/archive/master.zip
the "Subscribe to our mailing list" link points to a site which gives 404 (edited)

Fixed in https://github.com/coreruleset/owasp-crs-documentation/pull/1


Cannot read

Hi,
`import { Component, ViewChild } from '@angular/core';
import { TreeModule, TreeComponent, TreeNode, TreeModel } from 'angular2-tree-component';
import * as _ from 'lodash';
@Component({
selector: 'obtree',
styleUrls: ['./obtree.component.scss'],
templateUrl: './obtree.component.html'
})
export class ObTreeComponent {
@ViewChild(TreeComponent)
private _tree:          TreeComponent;
private _nodes:         TreeNode[] = [];
private _node:          any = {};
constructor(){
this._node = { uid: 1, name: 'everything' };
if (this._nodes) {
this._nodes.push(this._node)
}
}
addNode(node) {
node[0].children.push(this._node) ;
this._tree.treeModel.update();
}
}`
Cannot read property 'children' of undefined or  Cannot read property '0' of undefined or  Cannot read property 'push' of undefined
I do not understand where the problem is.

Maxbe check if children is defined as an Array first before you pus via addNode.
If the Array is not initialized then create one first:
if (!node[0].children){
node[0].children=[];
}
node[0].children.push(this._node) ;

Hi,
this looks like a bug in your code, not in the library.
Also, why are you holding an array of TreeNode's? And you are pushing a plain object to it, which is not a TreeNode....
Closing the issue.


Add approved badge for Azure DevOps

Can we please add badges for Azure DevOps to the list of approved badges.
Currently I have a URI like this: https://<org>.visualstudio.com/<project>/_apis/build/status/<pipeline>?branchName=master

Have you tried using the up-to-date dev.azure.com domain?

The list of approved badge domains is here and neither is in the list.

It's pretty fresh: https://github.com/Microsoft/vscode/issues/69874, but should work on the latest Insiders


v0.10 : Strange behaviour in nested Schemas

Hi, i using 3 level nested structure :
Player --> Camp --> Position
Where camp is just a name/position
and Position is a vector of 3 floats
At the first player connection, all works fine.
But if i leave the room (it disposed : normal behaviour), and join a new one roomthen camp position is wrong (0,0,0).
If a restart the server, the first connection give me the good one camp position, and others connections send me a camp with 0,0,0 vector.
Note : i do not use any cache system.
All room state recreated from scratch

export class Player extends Schema {
    @type(Camp) camp : Camp;
    constructor(client: Client, userId: string, camp: Camp, ) {
        super();
        this.camp = camp;
    }

export class Camp extends Schema{

    @type("string") name : string;
    @type(Point) home : Point;

    constructor(name : string, home : Point) {
        super();
        this.name = name;
        this.home = home;
    }
}

export class Point extends Schema{
    @type("float32") x : number;
    @type("float32") y : number;
    @type("float32") z : number;

    constructor(x : number,
        y : number,
        z : number){
            super();
            this.x = x;
            this.y = y;
            this.z = z;
    }

I m reading player.camp.home in this delegate method :
room.State.players.OnAdd += playerManager.OnAddPlayer

I m using point Schema in other nested places and it works fine.

Thanks a lot for your inputs @etherny, I'm going to check this tomorrow (already quite late for me here)
BTW, I've already published a new version of @colyseus/schema that validates invalid data on strings and numbers.

Perhaps a static or cached data in Schema, i do not understand why after server restart then point have good data. Room disposed as expected after unity quit.

hey @etherny, I think this problem comes from expecting that OnChange is going to be called right upon its registration. The thing is that it is called only after a change has been made. The correct value may already be accessible in the state, but the callback wasn't triggered.
Let me know if that's the case for you. I'd like to provide some API for triggering existing data as changes, just not sure how to expose them yet.

I m reading directly the value of player.camp.home after OnAdd player in state.

hi @etherny, I've tried to reproduce this issue, do you mind checking the branch issue-64 when you have some time?
I've basically modified the sample project to include the same structures as you described here.
To test, you can:

start the server, run the client
click on "Connect"
click on "Join Room"
click a few times on "Send Message" (will change the block position)
click "Leave Room"
click "Re-join Room"

the positions look fine here for me. maybe your Schema structure is a bit different? cheers!

The method to update the cube position is here: https://github.com/colyseus/colyseus-unity3d/blob/issue-64/Assets/ColyseusClient.cs#L164-L174

i will check the code and compare it to mine, the only one different user action than mine, is the leave/rejoin instead of restart completly the game.

@endel hi, i tested your branch and all works (even after restart of the unity scene), i will check my code to compare.
Thank you again.
Will back to you tomorrow.

@endel i found !
Add a const camp in you project, and use it in player :
const BLUE_CAMP = new Camp("BLUE", new Position(0, 0.5, 1));
......
@type(Camp) camp: Camp = BLUE_CAMP;

In unity join, leave and join again (not re-join)
I added a debug log in OnPlayerAdd c# method too :
 Debug.Log("Initial camp position x: " + item.Value.camp.position.x + ", y: " + item.Value.camp.position.y + ", z: " + item.Value.camp.position.z);
I don't know why, but the first time to camp position is good, and the second join receive a position = (0,0,0)
Solution (work around, i don't like that) : I will make a copy of constant camp before use it in player.

@etherny I see, glad you figured it out. Not sure how to express this in the docs, but you shouldn't really re-use instances to be encoded more than once in the schema.
Each Schema object has an internal list of changes, so if anything has changed in your constant BLUE_CAMP, it won't be serialized in the next patch.

Is it possible to have a copy or clone method on Schema ?
It could be a good practice to use constants.
If not, please add documentation warning around Schema as constant.

Sounds good! I've added a .clone() method on<EMAIL_ADDRESS>Thanks @etherny


Do not use custom import hooks to not risk to break python2

This is suitable before we make a ros package out of this...

rosimport is actually only used in tests. moving tests outside of the package seems to be an acceptable solution...
We can assume that someone wanting to test the package will retrieve the source, and there is little point in embedding tests inside the package.

This has been done in https://github.com/asmodehn/pyros-msgs/pull/14, but more testing is needed...