ESP-IDF执行./install出错 (IDFGH-10126)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.0-541-g885e501d99
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
What is the expected behavior?
1
What is the actual behavior?
我想编译AT固件，在esp-at目录下初次执行./build.py menuconfig时会自动下载一个对应的esp-idf仓库，在esp-idf下执行./install时报错如下，网上没有找到解决方法。
Steps to reproduce.
1
Build or installation Logs.
ylk@DESKTOP-6TBOMGV:~/esp-at/esp-idf$
ylk@DESKTOP-6TBOMGV:~/esp-at/esp-idf$ ./install.sh
Detecting the Python interpreter
Checking "python3" ...
Python 3.10.6
"python3" has been detected
Checking Python compatibility
Installing ESP-IDF tools
Current system platform: linux-amd64
Selected targets are: esp32s2, esp32s3, esp32c2, esp32, esp32h2, esp32c3
Installing tools: xtensa-esp-elf-gdb, riscv32-esp-elf-gdb, xtensa-esp32-elf, xtensa-esp32s2-elf, xtensa-esp32s3-elf, riscv32-esp-elf, esp32ulp-elf, openocd-esp32, esp-rom-elfs
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping esp-rom-elfs@20220823 (already installed)
Installing Python environment and packages
Python 3.10.6
pip 23.1.2 from /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages/pip (python 3.10)
Upgrading pip and setuptools...
Requirement already satisfied: pip in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (23.1.2)
Requirement already satisfied: setuptools in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (67.7.2)
Skipping the download of /home/ylk/.espressif/espidf.constraints.v5.0.txt because it was downloaded recently.
Installing Python packages
 Constraint file: /home/ylk/.espressif/espidf.constraints.v5.0.txt
 Requirement files:
  - /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt
  - /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt
Looking in indexes: https://pypi.org/simple, https://dl.espressif.com/pypi
Ignoring windows-curses: markers 'sys_platform == "win32"' don't match your environment
Collecting idf-build-apps (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 5))
  Using cached idf_build_apps-0.6.1-py2.py3-none-any.whl (33 kB)
Requirement already satisfied: pyserial in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 8)) (3.5)
Requirement already satisfied: pyyaml in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 9)) (6.0)
Collecting junit_xml (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 10))
  Using cached junit_xml-1.9-py2.py3-none-any.whl (7.1 kB)
Collecting netifaces (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 11))
  Using cached netifaces-0.11.0.tar.gz (30 kB)
  Preparing metadata (setup.py) ... done
Collecting pexpect (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 14))
  Using cached pexpect-4.8.0-py2.py3-none-any.whl (59 kB)
Collecting python-gitlab (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 15))
  Using cached python_gitlab-3.14.0-py3-none-any.whl (135 kB)
Requirement already satisfied: pygdbmi in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 16)) (<IP_ADDRESS>)
Requirement already satisfied: future in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 19)) (0.18.2)
Collecting dbus-python (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 20))
  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
  ╰─> [94 lines of output]
      + meson setup /tmp/pip-install-l60nu1iy/dbus-python_3321b57663e444edb2f42aa252e803aa /tmp/pip-install-l60nu1iy/dbus-python_3321b57663e444edb2f42aa252e803aa/.mesonpy-kyd3itze/build -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/tmp/pip-install-l60nu1iy/dbus-python_3321b57663e444edb2f42aa252e803aa/.mesonpy-kyd3itze/build/meson-python-native-file.ini
      The Meson build system
      Version: 1.1.0
      Source dir: /tmp/pip-install-l60nu1iy/dbus-python_3321b57663e444edb2f42aa252e803aa
      Build dir: /tmp/pip-install-l60nu1iy/dbus-python_3321b57663e444edb2f42aa252e803aa/.mesonpy-kyd3itze/build
      Build type: native build
      Project name: dbus-python
      Project version: 1.3.2
      C compiler for the host machine: ccache cc (gcc 11.3.0 "cc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0")
      C linker for the host machine: cc ld.bfd 2.38
      Host machine cpu family: x86_64
      Host machine cpu: x86_64
      Compiler for C supports arguments -fno-common: YES
      Compiler for C supports arguments -Wno-missing-field-initializers: YES
      Compiler for C supports arguments -Wno-declaration-after-statement: YES
      Compiler for C supports arguments -Wno-inline: YES
      Compiler for C supports arguments -Wno-redundant-decls: YES
      Compiler for C supports arguments -Wno-switch-default: YES
      Compiler for C supports arguments -Wno-write-strings: YES
      Compiler for C supports arguments -Wcast-align: YES
      Compiler for C supports arguments -Wdouble-promotion: YES
      Compiler for C supports arguments -Wduplicated-cond: YES
      Compiler for C supports arguments -Wfloat-equal: YES
      Compiler for C supports arguments -Wformat-nonliteral: YES
      Compiler for C supports arguments -Wformat-security: YES
      Compiler for C supports arguments -Wformat=2: YES
      Compiler for C supports arguments -Winit-self: YES
      Compiler for C supports arguments -Wlogical-op: YES
      Compiler for C supports arguments -Wmissing-declarations: YES
      Compiler for C supports arguments -Wmissing-format-attribute: YES
      Compiler for C supports arguments -Wmissing-include-dirs: YES
      Compiler for C supports arguments -Wmissing-noreturn: YES
      Compiler for C supports arguments -Wnull-dereference: YES
      Compiler for C supports arguments -Wpacked: YES
      Compiler for C supports arguments -Wpointer-arith: YES
      Compiler for C supports arguments -Wshadow: YES
      Compiler for C supports arguments -Wswitch-enum: YES
      Compiler for C supports arguments -Wundef: YES
      Compiler for C supports arguments -Wunused-but-set-variable: YES
      Compiler for C supports arguments -Wjump-misses-init: YES
      Compiler for C supports arguments -Wmissing-prototypes: YES
      Compiler for C supports arguments -Wnested-externs: YES
      Compiler for C supports arguments -Wold-style-definition: YES
      Compiler for C supports arguments -Wpointer-sign: YES
      Compiler for C supports arguments -Wstrict-prototypes: YES
      Configuring _dbus-python-config.h using configuration

      Executing subproject dbus-gmain

      dbus-gmain| Project name: dbus-gmain
      dbus-gmain| Project version: undefined
      dbus-gmain| C compiler for the host machine: ccache cc (gcc 11.3.0 "cc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0")
      dbus-gmain| C linker for the host machine: cc ld.bfd 2.38
      dbus-gmain| Compiler for C supports arguments -fno-common: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wno-missing-field-initializers: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wcast-align: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wdouble-promotion: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wduplicated-branches: YES
      dbus-gmain| Compiler for C supports arguments -Wduplicated-cond: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wfloat-equal: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wformat-nonliteral: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wformat-security: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wformat=2: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Winit-self: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wlogical-op: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-declarations: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-format-attribute: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-include-dirs: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-noreturn: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wnull-dereference: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wpacked: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wpointer-arith: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wredundant-decls: YES
      dbus-gmain| Compiler for C supports arguments -Wshadow: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wswitch-default: YES
      dbus-gmain| Compiler for C supports arguments -Wswitch-enum: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wundef: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wunused-but-set-variable: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wwrite-strings: YES
      dbus-gmain| Compiler for C supports arguments -Wdeclaration-after-statement: YES
      dbus-gmain| Compiler for C supports arguments -Wjump-misses-init: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wmissing-prototypes: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wnested-externs: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wold-style-definition: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wpointer-sign: YES (cached)
      dbus-gmain| Compiler for C supports arguments -Wstrict-prototypes: YES (cached)
      dbus-gmain| Did not find pkg-config by name 'pkg-config'
      dbus-gmain| Found Pkg-config: NO
      dbus-gmain| Found CMake: /bin/cmake (3.22.1)
      dbus-gmain| Run-time dependency dbus-1 found: NO (tried cmake)

      ../../subprojects/dbus-gmain/meson.build:107:11: ERROR: Dependency lookup for dbus-1 with method 'pkgconfig' failed: Pkg-config binary for machine 1 not found. Giving up.

      A full log can be found at /tmp/pip-install-l60nu1iy/dbus-python_3321b57663e444edb2f42aa252e803aa/.mesonpy-kyd3itze/build/meson-logs/meson-log.txt
      [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.
hint: See above for details.
Traceback (most recent call last):
  File "/home/ylk/esp-at/esp-idf/tools/idf_tools.py", line 2610, in <module>
    main(sys.argv[1:])
  File "/home/ylk/esp-at/esp-idf/tools/idf_tools.py", line 2602, in main
    action_func(args)
  File "/home/ylk/esp-at/esp-idf/tools/idf_tools.py", line 2063, in action_install_python_env
    subprocess.check_call(run_args, stdout=sys.stdout, stderr=sys.stderr, env=env_copy)
  File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/ylk/.espressif/python_env/idf5.0_py3.10_env/bin/python', '-m', 'pip', 'install', '--no-warn-script-location', '-r', '/home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt', '-r', '/home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt', '--upgrade', '--constraint', '/home/ylk/.espressif/espidf.constraints.v5.0.txt', '--extra-index-url', 'https://dl.espressif.com/pypi']' returned non-zero exit status 1.
ylk@DESKTOP-6TBOMGV:~/esp-at/esp-idf$

More Information.
No response

To resolve this issue, maybe you can try the following steps:
Install pkg-config: Check if pkg-config is installed on your system. You can do this by running the command pkg-config --version in a terminal. If it's not installed, you will need to install it. The process varies depending on your operating system.

For Debian-based systems (e.g., Ubuntu): Run sudo apt-get install pkg-config to install it.
For Red Hat-based systems (e.g., Fedora): Run sudo dnf install pkg-config to install it.
For macOS (using Homebrew): Run brew install pkg-config to install it.

请问这个问题怎么解决呢
ylk@DESKTOP-6TBOMGV:~/esp-at/esp-idf$ ./install.sh
Detecting the Python interpreter
Checking "python3" ...
Python 3.10.6
"python3" has been detected
Checking Python compatibility
Installing ESP-IDF tools
Current system platform: linux-amd64
Selected targets are: esp32c2, esp32, esp32s2, esp32c3, esp32s3, esp32h2
Installing tools: xtensa-esp-elf-gdb, riscv32-esp-elf-gdb, xtensa-esp32-elf, xtensa-esp32s2-elf, xtensa-esp32s3-elf, riscv32-esp-elf, esp32ulp-elf, openocd-esp32, esp-rom-elfs
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping<EMAIL_ADDRESS>(already installed)
Skipping esp-rom-elfs@20220823 (already installed)
Installing Python environment and packages
Python 3.10.6
pip 23.1.2 from /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages/pip (python 3.10)
Upgrading pip and setuptools...
Requirement already satisfied: pip in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (23.1.2)
Requirement already satisfied: setuptools in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (67.7.2)
Skipping the download of /home/ylk/.espressif/espidf.constraints.v5.0.txt because it was downloaded recently.
Installing Python packages
Constraint file: /home/ylk/.espressif/espidf.constraints.v5.0.txt
Requirement files:

/home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt
/home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt
Looking in indexes: https://pypi.org/simple, https://dl.espressif.com/pypi
Ignoring windows-curses: markers 'sys_platform == "win32"' don't match your environment
Requirement already satisfied: setuptools in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 3)) (67.7.2)
Requirement already satisfied: click in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 4)) (8.0.4)
Requirement already satisfied: pyserial in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 5)) (3.5)
Requirement already satisfied: future in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 6)) (0.18.2)
Requirement already satisfied: cryptography in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 7)) (36.0.2)
Requirement already satisfied: pyparsing in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 8)) (3.0.9)
Requirement already satisfied: pyelftools in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 9)) (0.27)
Requirement already satisfied: idf-component-manager in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 10)) (1.2.2)
Requirement already satisfied: esp-coredump in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 11)) (1.5.0)
Requirement already satisfied: esptool in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 12)) (4.5.1)
Requirement already satisfied: kconfiglib in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 15)) (14.1.0)
Requirement already satisfied: freertos_gdb in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt (line 19)) (1.0.2)
Collecting idf-build-apps (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 5))
Using cached idf_build_apps-0.6.1-py2.py3-none-any.whl (33 kB)
Requirement already satisfied: pyyaml in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 9)) (6.0)
Collecting junit_xml (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 10))
Using cached https://dl.espressif.cn/pypi/junit-xml/junit_xml-1.9-py2.py3-none-any.whl (7.1 kB)
Collecting netifaces (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 11))
Using cached netifaces-0.11.0.tar.gz (30 kB)
Preparing metadata (setup.py) ... done
Collecting pexpect (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 14))
Using cached https://dl.espressif.cn/pypi/pexpect/pexpect-4.8.0-py2.py3-none-any.whl (59 kB)
Collecting python-gitlab (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 15))
Using cached python_gitlab-3.14.0-py3-none-any.whl (135 kB)
Requirement already satisfied: pygdbmi in /home/ylk/.espressif/python_env/idf5.0_py3.10_env/lib/python3.10/site-packages (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 16)) (<IP_ADDRESS>)
Collecting dbus-python (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 20))
Using cached https://dl.espressif.cn/pypi/dbus-python/dbus_python-1.3.2-cp310-cp310-linux_x86_64.whl (122 kB)
Collecting pygobject (from -r /home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt (line 21))
Using cached PyGObject-3.44.1.tar.gz (720 kB)
Installing build dependencies ... error
error: subprocess-exited-with-error

× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> [44 lines of output]
Looking in indexes: https://pypi.org/simple, https://dl.espressif.com/pypi
Collecting setuptools
Using cached https://dl.espressif.cn/pypi/setuptools/setuptools-67.7.2-py3-none-any.whl (1.1 MB)
Collecting wheel
Using cached wheel-0.40.0-py3-none-any.whl (64 kB)
Collecting pycairo
Using cached pycairo-1.23.0.tar.gz (344 kB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Installing backend dependencies: started
Installing backend dependencies: finished with status 'done'
Preparing metadata (pyproject.toml): started
Preparing metadata (pyproject.toml): finished with status 'done'
Building wheels for collected packages: pycairo
Building wheel for pycairo (pyproject.toml): started
Building wheel for pycairo (pyproject.toml): finished with status 'error'
error: subprocess-exited-with-error
    × Building wheel for pycairo (pyproject.toml) did not run successfully.
    │ exit code: 1
    ╰─> [15 lines of output]
        running bdist_wheel
        running build
        running build_py
        creating build
        creating build/lib.linux-x86_64-cpython-310
        creating build/lib.linux-x86_64-cpython-310/cairo
        copying cairo/__init__.py -> build/lib.linux-x86_64-cpython-310/cairo
        copying cairo/__init__.pyi -> build/lib.linux-x86_64-cpython-310/cairo
        copying cairo/py.typed -> build/lib.linux-x86_64-cpython-310/cairo
        running build_ext
        Package cairo was not found in the pkg-config search path.
        Perhaps you should add the directory containing `cairo.pc'
        to the PKG_CONFIG_PATH environment variable
        No package 'cairo' found
        Command '['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']' 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: Failed building wheel for pycairo
  Failed to build pycairo
  ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Traceback (most recent call last):
File "/home/ylk/esp-at/esp-idf/tools/idf_tools.py", line 2610, in
main(sys.argv[1:])
File "/home/ylk/esp-at/esp-idf/tools/idf_tools.py", line 2602, in main
action_func(args)
File "/home/ylk/esp-at/esp-idf/tools/idf_tools.py", line 2063, in action_install_python_env
subprocess.check_call(run_args, stdout=sys.stdout, stderr=sys.stderr, env=env_copy)
File "/usr/lib/python3.10/subprocess.py", line 369, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/home/ylk/.espressif/python_env/idf5.0_py3.10_env/bin/python', '-m', 'pip', 'install', '--no-warn-script-location', '-r', '/home/ylk/esp-at/esp-idf/tools/requirements/requirements.core.txt', '-r', '/home/ylk/esp-at/esp-idf/tools/requirements/requirements.ttfw.txt', '--upgrade', '--constraint', '/home/ylk/.espressif/espidf.constraints.v5.0.txt', '--extra-index-url', 'https://dl.espressif.com/pypi']' returned non-zero exit status 1.
ylk@DESKTOP-6TBOMGV:~/esp-at/esp-idf$

你的这个依赖解决了吗
dbus-gmain| Run-time dependency dbus-1 found: NO (tried pkgconfig and cmake)
../../subprojects/dbus-gmain/meson.build:107:11: ERROR: Dependency "dbus-1" not found, tried pkgconfig and cmake

I'm closing this one and half year old report.
I think the issue was caused by trying to install the ttfw dependencies which is our old test infrastructure package and is deprecated now. I don't think esp-at would need it.
The issue keeps repeating because ./install.sh --enable-ttfw was executed once. The issue can be resolved by removing the ttfw keyword by manually editing the ~/.espressif/idf-env.json file. The file can be in other locations if it was changed,


Fixed api-server, controller, and scheduler containerized k8s service…

… files
I was looking at using the k8s containerized services and realized that hypercube for api server, scheduler, and controller-manager were all specifying kubelet instead of their respective functions.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

lgtm


when will the code release？

Hi, thanks for your great work. When will the code released?

Apologies for the delay.

Thanks for your reply. It helps a lot.


feat(Data/Polynomial/RingDivision): Negation lemmas for roots, aroots, and rootSet

This PR adds negation lemmas for roots, aroots, and rootSet.

bors merge
Thanks!


MODELIX-589 Obstructed buttons in content explorer

:tada: This PR is included in version 3.12.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


chore: start testing on Bazel 8

The CI log output is extremely long. I don't see this with vanilla Bazel, maybe this can be fixed in Aspect CLI?

I haven't found time to investigate that logging issue but since Bazel 8 is released, I think we need to land this :)


Fix assert failure when call BaseOptions.copyWith()

New Pull Request Checklist

[x] I have read the Documentation
[x] I have searched for a similar pull request in the project and found none
[x] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)
[x] I have added the required tests to prove the fix/feature I am adding
[x] I have updated the documentation (if necessary)
[x] I have run the tests and they pass

This merge request fixes / refers to the following issues: #1133
Pull Request Description
Added check if contentType is equals to content type in headers and do not throw assert error in that case.

@wendux can you please take a look?

@greymag This issue has been fixed on our fork of dio, dio_http.
Package is available here: https://pub.dev/packages/dio_http


Combine Run Pre-Commit & AutoLabel into a single workflow

This pull request introduces the workflow `RunPRCheck.yml", which combines the existing Run Pre-Commit, AutoLabel and any other future workflows into a single workflow. This simplifies the CI/CD process and improves efficiency.

This requires the workflows to be refactored as actions. Aborted this PR as maintaining and creating actions is more difficult than a workflow.


fix: introspection input - don't ask for schemaName when no data

Fixes https://github.com/prismagraphql/prisma/issues/2413

It turned out that this case is already handled by https://github.com/divyenduz/prisma/blob/01bda96f627fc0a48a5167256f881c8dd521ae0e/cli/packages/prisma-cli-core/src/utils/EndpointDialog.ts#L382-L386


手札エリアはZ軸下の方に置く

This should be treated with #7 in hand and #8

Should they be in always low z-index, or only lower than any components on it?
Either way it should not be hard to implement (although I remember that two components having the same z-index causes weird behavior), which is more intuitive and natural for users?

hand area never comes up


Removing the chat sample

People are copying the presence prototype as if it's recommended instead of treating it like a prototype. Removing this because we want to do something more integrated in the future.

So much sweat put into this lua and it is now 🌬
😉

Oh no. Used it as a recommendation. And now it´s all gone. Any hints on what "more integrated" means ? Need to keep inmemory list of connections and that sample was great as a base 😀

Oh no. Used it as a recommendation. And now it´s all gone. Any hints on what "more integrated" means ? Need to keep inmemory list of connections and that sample was great as a base 😀

Feel free to copy it .


Update setup.md

Pin snakemake==7.32.4 and python==3.11.4 due to issues support snakemake>7 and issues with fstrings in python>3.11

Can you check that pyd4 can be installed with python 3.11, and update the cov_filter yaml to match what we pin in setup.md? I think that this will solve some of the issues that people have with pyd4, as I suspect that you can't change the python version in a rule.
If we can pin python 3.11 everywhere that would be great.


Feature/sync v7

What type of PR is this?
/kind feature
What this PR does / why we need it:
Updates to engine version 2.3.0, refactor project structure, adds a more detailed blueprint validation response.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Changes de response structure of POST /workflows route and every validation error.

Additional documentation e.g., usage docs, etc.:

no longer necessary


Fix tensor creation for zero-dimensional arrays

I found the following tensor creation for a 0-dim array (array scalars in numpy) causes SIGSEGV.
This PR adds checking of array dimension to fix it and accept the creation. Could you please merge this?
nb::class_<Dummy>(module, "NanobindTest")
    .def(nb::init<>())
    .def(
        "ret_array_scalar", [](const Dummy&) {
            float* f = new float[1]{1};
            size_t shape[0] = {};

            nb::capsule deleter(f,
                                [](void* data) noexcept
                                {
                                    delete[](float*) data;
                                });

            return nb::tensor<nb::numpy, float>(f, 0, shape, deleter);
        });

This looks great, but it is missing a testcase for the issue you fixed. Could you please add one?

@wjakob  OK. Test added.

Seems like you'll have to make some tweaks to the test for it to build on Windows/MSVC.

Oops. I forgot that zero-size arrays are not C standard.


[Issue 1865] Modus Table - Add default hidden columns in the Column visibility panel

Description
References #1865
Type of change

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

How Has This Been Tested?
Run storybook in stencil-workspace and go to the path /?path=/story/components-table--column-visibility to see modus table with column visibility.

Checklist

[x] My code follows the style guidelines of this project
[x] 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
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

@bradley-eb - Please, add the new property to the Types section in Storybook

@yohernandez The type has been updated - e2c2644.


Feat : get products category

What does the PR do?
 This PR addresses issue #257 by implementing the functionality to get product categories from the database.

How should this be manually tested?
To test this feature, you can send a GET request to the following endpoint:

[x] GET /api/v1/products/categories

    Authorization: Bearer <token>

 Successful Response

 On a successful products category retrieval, the API should return a 200  status code.

{
  "status_code": 200,
  "categories": [
    {
      "id": "aee53410-ad20-4ac1-9876-cb650c75b88b",
      "created_at": "2024-07-24T20:08:05.581Z",
      "updated_at": "2024-07-24T20:08:05.581Z",
      "name": "Electronics",
      "description": "Electronic devices and accessories",
      "slug": "electronics",
      "parent_id": null
    }

Authentication Error:
When the current user is not properly authenticated to get the product category detail:
  {
     "status": "error",
     "message": "User is currently unauthorized, kindly authenticate to continue",
     "status_code": 401
  }

Invalid Query Parameters
On Invalid error, if the query parameters are incorrect:
{
  "error": {
    "code": "INVALID_QUERY_PARAMETER",
    "message": "The provided query parameter is invalid.",
    "details": {
      "invalid_parameter": "limit",
      "reason": "Must be a positive integer"
    }
  }
}

Validation:
If any required field is missing or invalid, the response should return a 400 Bad Request status code with appropriate validation error messages.
{
  "message": "Cannot GET /api/v1/products/categorie",
  "error": "Not Found",
  "statusCode": 404
}

Task

[x] Create the API endpoint for retrieving product categories.
[x] Implement efficient database querying to fetch category data.
[x] Include proper indexing on the categories table for optimal performance.
[x] Implement optional query parameters for advanced use cases (limit, offset).
[x] Ensure proper error handling for invalid requests or server-side issues.
[x] Write unit tests for the category retrieval logic.
[x] Update API documentation to reflect the new endpoint and its usage.

Reference Issue: Link to Issue

Your PR title should start with f not F


banner always showed on top left

On android, cordova5.0.0, cordovaCLI. Tested on 4.2.2.
  AdMob.setOptions {
    adSize: 'BANNER',
    position: AdMob.AD_POSITION.BOTTOM_CENTER,
  }

Banner always is showed on TOP LEFT. Problems with 'position'. Others attributes on setOptions works.
Do you need any more data?

Test with my demo first
Run:
plugin-verify cordova-plugin-admobpro android

See:
https://github.com/floatinghotpot/cordova-admob-pro/blob/master/README.md

Thanks, really I'm using "com.google.cordova.admob" plugin cause of the other one bring me build errors. This plugin path would be the same plugin??
The error is something like .. "Command failed with exit code 8. You may not have the required environment or OS to build this project".

then you can try: plugin-verify com.google.cordova.admob android to see the demo

BTW, if build locally using cordova-plugin-admobpro, to avoid build error, you need install some extras in Android SDK manager (type android sdk to launch it):

Banner position Solved. In my App I eventually do 'hideBanner'. When I want to show it again I have to call 'showBanner()' with the 'position' as param. Even if I setted it on AdMob.setOptions. I don't know if that's the expected behavior.


Update requirements.txt with some version specs

To assist in keeping dependencies more explicit and consistent across repositories, we should have version numbers specified for each dependency in requirements.txt.
Please see this one as an example: https://github.com/instructlab/instructlab/blob/main/requirements.txt

We'd like this library to follow the best practices which have been laid out by the HuggingFace transformers library.
Looking at their setup.py, it looks like they only pin the versions on an as-needed basis.
My opinion is that if HuggingFace doesn't do this, then it's probably not something we need to adopt for our much-smaller library.
If there's a problem that's being caused by the lack of version pinning on our end though, I'm happy to revisit this.

I had unpinned some versions in #25 . Probably good to unpin more.

Best practices for python dependencies call for using ranges in your package requirements and pinning versions only in CI jobs.
Using pinned versions in, for example, requirements.txt or constraints.txt, allows you to know and advertise exactly what versions have been tested in CI. That information is useful for users and repackagers to understand which versions of dependencies are compatible with more specificity than the ranges provide. Tools like dependabot will submit PRs to automatically update those pins to help you keep up with new releases of all of your dependencies.
Pinning to specific versions in the package dependencies in pyproject.toml or requirements.in is not a good practice, though. It makes it very easy for sets of packages that need to be installed together to have incompatible dependencies, which in turn makes it impossible to actually install them (I think that's what led to this ticket being filed). Pinned dependencies also make it difficult to deal with CVEs or other critical bugs in those dependencies, which makes delivering products from this project more challenging. Please do not pin to specific versions of libraries.
Instead of pinning, use version ranges. This ensures that repackagers and installers have some flexibility in case a dependency of your package has a critical CVE and needs to be updated. Those ranges should include a minimum version, and in some cases a maximum version (a "cap").
Specifying the minimum value for the range (foo>=x.y) allows you to declare that you need features that only show up in or after that version of the dependency, which means you won't get bugs from users trying to use instructlab with an old dependency that has an incompatible API or is completely lacking a feature you need.
Specifying a maximum value for the range (foo>=x.y,<x+1.0) allows you to prevent a library that is known to introduce breaking changes in new releases from being brought into your environments without being tested. That maximum version setting should be used with care, though, and only when definitely needed, because it can prevent good new versions from being used and can cause incompatibility issues similar to pinning versions.
The most effective way I have seen for setting maximum versions is to wait for something to break, then set a cap to exclude the version that causes the breakage until the dependency is fixed or your code is updated to work with the new version of the dependency. Bad releases of dependencies can be excluded using the requirements syntax !=a.b. If the new dependency requires incompatible changes in your code, then it becomes the new minimum version for your requirements range.

Thank you very much for that in-depth explanation of version pinning best practices @dhellmann !
Then it sounds like what we need to do is:

Add more minimum versions to dependencies
Remove specific version pins (currently we pin transformers)
Add maximum versions reactively as packages release new versions that break our existing implementation

Thank you very much for that in-depth explanation of version pinning best practices @dhellmann !
Then it sounds like what we need to do is:

Add more minimum versions to dependencies
Remove specific version pins (currently we pin transformers)
Add maximum versions reactively as packages release new versions that break our existing implementation

I would add to that list a step separating the package dependencies and the CI dependencies.
To do that, you can use pip's --constraints argument to specify a file that includes pins in CI jobs and then keep that file separate from what's in pyproject.toml. If you use a tool like pip-compile you can get a complete list of all of the transitive dependencies you have and pin all of them in CI, and keep the list in pyproject.toml limited to only things you directly import (to keep the list manageable).

@RobotSail - is this done?

@ktam3 I think we ended up not going in this direction due to @dhellmann's advice. But @russellb can specify otherwise here.

kk, let's close then if that's the case. i'll wait for final confirm though

@russellb Confirmed that we can close this.


Problems when training large amounts of data

Why does the computer crash when training large amounts of data? And I am using TITAN X GPU too

Excuse me , how did you train ?

I   am  recurrenting the result  recently, but I  only finish  the  demo.py , I  do not  find  the training code, could  you  share yours?

Why does the computer crash when training large amounts of data? And I am using TITAN X GPU too

Hi,
Can you please share the training code?


dice problem

这个dice计算有点问题吧。

这是开源框架monai计算方式

We followed the dice computation as in SwinUNet (https://github.com/HuCaoFighting/Swin-Unet) and nnFormer (https://github.com/282857341/nnFormer) to ensure a fair comparison. We are aware of the issue in the dice computation in the previous literature (see https://github.com/McGregorWwww/UDTransNet/issues/4). For the purpose of a fair comparison, we have to keep consistency.

nnformer/inference_synapse.pydice计算与swin-unet并不一样，UDTransNet，有了自己的benchmark,且明显高于实际,如果按照swin-unet的计算方式，如果图片背景居多，可能导致dcie出现明显的偏差。

That's absolutely correct, and I agree with that. What I meant (following the same dice computation in SwinUNet and nnFormer) is that for the 2D experiments, we followed the dice computation method from SwinUNet, while for the 3D experiments, we followed the dice computation method from nnFormer.

thanks,你的工作非常好


Text composables: Android Basics with Compose

URL of codelab
7. Add another text element
**When it says to add the from parameter, it doesn't set a default value, and it says to add another Text composable with from parameter, without adding a from in the first Greeting which causes an error **
Steps to reproduce?

Follow the instructions till section 7. part 3.
the following will error out unless you set a default value to from: String = "", or add a from argument in the first Text()
@Composable
fun GreetingText(message: String, from: String, modifier: Modifier = Modifier) {
Text(
// ...
)
Text(
text = from
)
}

Hi @yesitisme
Sorry for the confusion you experienced.
In part 6 it provides the instruction to add this additional parameter that was causing the error message from part 3.
Hope this helps clarify it.
Regards.


Can not use H.264 videos to stream

Hi,
I am using your node-media-server 2years. Before 2023 it was working OK. After Jan-2023 my H.264 encoded videos not playing on Node-media-server using HLS player.
What should i do to work it again ?

Here is video link you can try : https://node-media2.oyuntan.mn/vod/output.mp4/playlist.m3u8
I haved used following ffmpeg command to encode it to h.264 :
ffmpeg -i<PHONE_NUMBER>655.mp4 -codec:v libx264 -crf 28 -preset fast -c:a aac -b:a 128k output.mp4


Strange behaviour since 3.2.0

After an gulp-css update to<EMAIL_ADDRESS>we had the following optimization
.sprite {
background: transparent url(../../img/webde/sprite.png) 0 0 no-repeat;
}
---> .pipe(minifyCss({compatibility:'ie8', advanced : false}))
is transformed to
.sprite{background:0 0 url(../../img/webde/sprite.png) 0 0 no-repeat}

I can see it too. Fix is coming.

Fixed in 3.2.2. Thanks for reporting!

Thank you for writiting, sharing and fixing!


Loading gets slower when increasing the number of stories

The loading part of the Cube-navigation is getting slower when we have lots of stories. what is the best way to solve  this issue?

+1

Hello, when I have the opportunity, I will test with larger data. If you have a better suggestion for this effect, you can share it.

The loading part of the Cube-navigation is getting slower because all the stories running in background when viewing any story, so can you please set the animation to run on one story at a time.


After create a webapp with container image

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp config container set
Errors:
'NoneType' object has no attribute 'reserved'
Traceback (most recent call last):
Temp\pip-install-ygnynjtx\knack\knack\cli.py, ln 206, in invoke
azure\cli\core\commands\__init__.py, ln 560, in execute
azure\cli\core\commands\__init__.py, ln 618, in _run_jobs_serially
azure\cli\core\commands\__init__.py, ln 611, in _run_job
Local\Temp\pip-install-ygnynjtx\six\six.py, ln 693, in reraise
azure\cli\core\commands\__init__.py, ln 588, in _run_job
azure\cli\core\commands\__init__.py, ln 297, in __call__
azure-cli-core\azure\cli\core\__init__.py, ln 461, in default_command_handler
azure\cli\command_modules\appservice\custom.py, ln 871, in update_container_settings
azure\cli\command_modules\appservice\custom.py, ln 628, in _add_fx_version
AttributeError: 'NoneType' object has no attribute 'reserved'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az webapp config container set --name {} --resource-group {} --docker-custom-image-name {} --docker-registry-server-url {} --docker-registry-server-user {} --docker-registry-server-password {}

Expected Behavior
Environment Summary
Windows-10-10.0.18362-SP0
Python 3.6.6
Shell: cmd.exe

azure-cli 2.0.66 *

Additional Context

webapp

@rloreto can you give more details here by running command with --debug,
the error seems like its happening because the app being used here is not a linux app ('reserved' is a property set on Linux apps) or the app name used in the command are incorrect.

closing this due to lack of response. Please try with the latest CLI version and create new bug if you still see this issue with --debug information.


Provide a place to put converters from other formats

Many people have data sets in some format other than WCON.  If the Tracker Commons project could provide converters from those to WCON (hopefully written by the labs that generated the data, so as to reduce the chance of leaving out something important!), it would be a better resource for people wanting to share data and/or apply common tools to whichever data format they happen to have.
Converters from WCON to other formats are possibly not appropriate in general, but there may be exceptions?

#166 contains a converter for the Multi-Worm Tracker's old format, which also will resolve this issue if accepted.


Autogenerate IDs for entities that don't have relationships

Right now when building subgraphs, we need to set IDs for every entity in the mappings.ts file. That makes sense when entities are related to each other, but if they are not, it would be great to autogenerate those IDs (given that they are required).

To add to the discussion:
I think something like a SEQUENCE would be great in some cases, i think that the struggle is managing to choose a value that is not only "natural or logical" but it's also a value that is either available on the events or on the contract. specially when managing historical data that might be deleted from the contract at some point and then written again with new values.

Hello! Is this something that have been created since then?

We did not get that feature request recently, so I'm not sure if this is needed. @dievardump would you be able to provide a real world use-case of this feature?


DOC: clarify interp1d 'zero' argument

Clarify that the interp1d 'zero' arguments means interpolation with a zero order spline, i.e. a piecewise constant function interpolating to the most recently observed value.

rebased and merged in https://github.com/scipy/scipy/commit/44d999737581471835230bb2f1b496f791a01b03
(who would expect a conflict in this exact paragraph).
Thanks @gerritholl


Eager loading expression failing

I'm getting an error below for the following eager-loading snippet
  def set_transcript
    @transcript ||= Transcript
      .includes(:institution, :transcript_awards, transcript_courses: :course)
      .find(params[:id]) # line 91
  end

I thought this was "good rails" with all its eager loading. Thoughts on how this should be rewritten?
TranscriptsControllerTest::as institution account#test_0001_should get edit:
Prosopite::NPlusOneQueriesError: N+1 queries detected:
  SELECT "institutions".* FROM "institutions" WHERE "institutions"."id" = $1
  SELECT "transcript_awards".* FROM "transcript_awards" WHERE "transcript_awards"."transcript_id" = $1
Call stack:
  /Users/drnic/workspace/prior-study-credit/prior-study-credit/app/controllers/transcripts_controller.rb:91:in `set_transcript'

This seems to be a fingerprinting issue of prosopite. Thanks for reporting!
Both queries have the same fingerprint which is wrong:
[1] pry(main)> Prosopite.fingerprint('SELECT "institutions".* FROM "institutions" WHERE "institutions"."id" = $1')
=> "select ?.* from ? where ?? = $?"
[2] pry(main)> Prosopite.fingerprint('SELECT "transcript_awards".* FROM "transcript_awards" WHERE "transcript_awards"."transcript_id" = $1')
=> "select ?.* from ? where ?? = $?"

Which is your target database and which is your ruby driver?

Runnning postgresql with gems:
  * activerecord (6.1.3)
  * pg (1.2.3)
  * pg_search (2.3.5)

Please check again with the latest version (0.1.3). Should be ok now.

Thanks, that fixed that one. I'm now down from 43 failing tests to 29.

Cool, please let me know if you find any other issue.

I have an issue where your gem complains a lot about my app :)
--
Dr Nic Williams
+61 437 276 076
twitter @drnic

It's not a bug. It's a feature! 😁


Establish Github actions to build and test SharpSite

I've added the most basic form of building and testing .Net code in a project:
`name: .NET
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Setup .NET
  uses: actions/setup-dotnet@v4
  with:
    dotnet-version: 9.0.x
- name: Restore dependencies
  run: dotnet restore
- name: Build
  run: dotnet build --no-restore
- name: Test
  run: dotnet test --no-build --verbosity normal`

  It resulted in this error:

Will need to find a way around this.

I just added a default GitHub .NET build action in 9913ee7


Insecure deployment with Digitalocean

The coreos deployment on digitalocean is not secure by default without provisioning TLS certificates, because the private networking is shared with everybody in the same region.
Isn't that a critical mistake not to mention?

the private networking is shared with everybody in the same region

Is that accurate?  I am more familiar with AWS networking than with DO.  In AWS, security groups are used to lock this down.
Is it the case that literally any node in a given DO region can address any other node in the same region using its private IP?
If so, then yes, this should be documented.

Ping @carmstrong.  I think you've possibly done more with DO than myself.

I was unaware this is how private networking is implemented on DO, but it sounds like it is: https://www.digitalocean.com/company/blog/introducing-private-networking/#comment-1160317518
There is a request to add VLAN support to private networking, but it doesn't look like it's been implemented.
This is indeed an oversight, but not sure how it should be fixed... I wonder what CoreOS is doing upstream, as they seem to default to private networking as well: https://coreos.com/os/docs/latest/booting-on-digitalocean.html

@krancour It says so right here, https://www.digitalocean.com/company/blog/introducing-private-networking/
Also here:
https://www.digitalocean.com/community/tutorials/how-to-isolate-servers-within-a-private-network-using-iptables

The private interface is accessible only to other VPSs on the same private network. In the case of DigitalOcean, this means that only other VPSs in the same datacenter can access the private interface. Compared to the Internet, this makes it a relatively safe place for your VPSs to serve traffic but it would be even safer if it was only accessible to your own VPSs.

Note that we do provide a firewall for use on providers like DigitalOcean: http://docs.deis.io/en/latest/managing_deis/security_considerations/#running-deis-on-public-clouds
We could this out more explicitly in the DO docs, though. @kevinsimper give the Deis firewall a go, and if it works well for you on DO, we'd appreciate a PR to update the installation guide.

@carmstrong A better solution would be to enforce SSL as the traffic is unencryptet and therefore can be sniffed.

@kevinsimper
"A better solution would be to enforce SSL as the traffic is unencryptet and therefore can be sniffed."
I am not sure if that is really necessary. I suspect that droplets in DO only receive traffic intendend for them (as in, you can't put the private network device in promiscious mode), so data passing from droplet A to droplet B over the DO "private" network will never be visible from droplet C from another user.
I could be wrong about this though...
Obviously if droplet C does a request to droplet A / B it will receive a reply (unless the firewall is configured correctly).
I am not saying I am opposed to this change, and I would like DO private network to be really private, I think configured with the firewall the DO deployment is actually relatively safe.

It would be wrong to ever assume that network traffic flowing between nodes is private or secure without SSL. For most people data in flight has to be encrypted (even when passing among different interfaces on the same node).

@carmstrong I also created a issue at CoreOS https://github.com/coreos/docs/issues/718
The problem I think is bigger with Deis, because developers that may use Deis, does not nessasary know that CoreOS that is beneath is insecure configured.
The docs should really add a warning sign and say that you can be hacked.
@nathansamson Does the firewall also cover CoreOS ports?

@kevinsimper the firewall blocks all public ports except ports 22 (SSH), 80 (http), 443 (https) and 2222 (git push deis master). After that, only the nodes part of the fleet cluster have full access. The rest of the connections on the private network are dropped.


StoreFieldReader and StoreFieldWriter should be public

Is your feature request related to a problem? Please describe.
Field's in reactive_store implement the StoreField trait, however the .reader() and .writer() methods on StoreField for Field returns private types: StoreFieldReader and StoreFieldWriter. This makes it impossible in cases where you might need to work with these types, since they cannot be imported.
Describe the solution you'd like
Make these types public.

When writing this issue, I wasn't actually aware these are read/write guards. However I'm not sure if that makes the issue no longer relevant or not.
The motivation for this is that I couldn't find a generic type for writing to a store field. Field implements read traits, but doesn't seem to implement anything for updating (unless I'm mistaken).

Oops does Field not implement Write? Surely that's just an accidental omission on my part.

Is Field also planned to implement Update to allow for try_maybe_update(...)?

Update is automatically implemented for all types that implement Write.

Oops my mistake, a manual impl of Update in thawui confused me with this. If the issue is resolved with https://github.com/leptos-rs/leptos/commit/97180416f32a330e4608239a12801c57817d4adb feel free to close. I don't have a real need for StoreFieldReader and StoreFieldWriter to be public anymore.


Does not work and does not compile

box and php-scoper updated to latest versions
make builds fails with:
Could not scan for classes inside "app/AppKernel.php" which does not appear to be a file nor a folder

Hm, that sounds weird to me. Are you sure you have that app/AppKernel.php file? Because that file exists in this repository.  If you could give more detailed steps to reproduce - it may help a lot. Also, if you have a solution - please, feel free to send a PR


Preserve tag order for parser and builder

Fixed: https://github.com/toumilov/python-ber-tlv/commit/9a5326951798381459922fc3aa541494aa86a783
Pushed to PyPi: https://pypi.org/project/ber-tlv/0.0.4/


Atom detected deprecated call: TextEditor.get

Hi!
This is from the automatic deprecated call detection. Got it on Atom 1.13.0 x64 and custom-folds 1.9.3.
TextEditor.get is deprecated
TextEditor.prototype.displayBuffer has always been private, but now it is gone. Reading the displayBuffer property now returns a reference to the containing TextEditor, which now provides some of the API of the defunct DisplayBuffer class.
TextEditor.get (/opt/atom/resources/app.asar/src/text-editor.js:101:14)
<unknown> (/home/ricardo/.atom/packages/custom-folds/lib/index.js:217:21)
Function.module.exports.Emitter.simpleDispatch (/opt/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)
Emitter.emit (/opt/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:129:28)
<unknown> (/opt/atom/resources/app.asar/src/workspace.js:265:34)
Function.module.exports.Emitter.simpleDispatch (/opt/atom/resources/app.asar/node_modules/event-kit/lib/emitter.js:25:14)

Finally figured out how to repro. Fixed in 1.9.4.


Wrong drop required balance - should be 2 DOT

I sense it was broken in some merge conflict resolution set required balance to 200 DOT, should be 2 DOT
https://canary.kodadot.xyz/ahp/drops/chroma

this is good
https://beta.kodadot.xyz/ahp/drops/chroma


About other benchmarks

Hi~
Your work is very interesting, and I am following you work.
I need to compare the performance of GMN, FamNet, and our model, and your FamNet works well.
However, GMN always diverges. I have searched github and found 2 repos of GMN. However, both diverges.
I wonder if you could share your GMN code with me.
My email address is<EMAIL_ADDRESS>Thanks in advance.

Hey,
We used the official Tensorflow implementation of GMN: https://github.com/erikalu/class-agnostic-counting
We did not run into any divergence issues. Note that we used the pretrained GMN provided in the above repo for initialization during our experiments, and we finetuned it on our dataset. If the divergence in training still continues, perhaps the authors of the above GMN repo would be better able to point you in the right direction.
Thanks,
Viresh


Improve error handling for missing field mappings

https://github.com/autotraderuk/fastapi-mlflow/blob/98701a0f5af535ceedda78c07759f5a3b6b62b8e/fastapi_mlflow/_mlflow_types.py#L30
The MLFlow to Python type lookup should use [] rather than .get(...), and throw a descriptive error if the type is not found.
The use of .get(...) masks missing type mappings and instead creates a field of type None leading to cryptic ValidationErrors at request time.

Thanks for the report @Andrew-Crosby
Yes, agree that a start-up time error is probably preferable to a request time error here.
A possible alternative would be to assume that every unmapped type is an object (which might also fix #11 ), though not sure how that would get mapped into JSON... I'll investigate

Will release as 0.4.1, probably next week


Split out attribute declaration knowledge to new ReflectionXHPAttribute class

stricter typing
fewer array casts
no isset
added safety checks

This is part of #113

Going to merge this tomorrow afternoon (Pacific) if there's no objections.

:shipit:


What is the workflow for fixing a model?

I'm working on windows with the latest msys (gcc 12.1.0) and the nrn olupton/more-cxx . There are 32 models that fail with
runmodels --norun --workdir foo

and I think most of those merely require some minor tweaking of mod files. E.g.
    "7399": {
...
           "AMPA.cpp:460:25: error: cast from 'void*' to 'long unsigned int' loses precision [-fpermissive]",
            "  460 |         lpst = (double)((unsigned long)hoc_Ecalloc(msn,(sizeof(SynS))));",
            "      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",

At present,  cache/7399.zip was unzipped by runmodels into foo/lytton98
I can easily clone the related github repository and work on that manually, but is there a way to retest with something like
runmodels --norun --workdir foo 7399

Currently there is no way to retest with runmodels (https://github.com/neuronsimulator/nrn-modeldb-ci/issues/29)
What I do is I go to the .json report file and have a look at the model run_info information to see where the model was run (model_dir) and from the nrn_run what was the command that was issued (RUNNING - > ):
"3682": {
....
 "nrn_run": [
            "RUNNING -> ./x86_64/special -nobanner %model_dir%/mosinit.hoc %model_dir%/driver.hoc",
            "\t0 ",
            "\t1 ",
            "\t1 ",
            "\t1 ",
            "\t1 ",
            "\t1 ",
            "\t1 ",
            "\t1 ",
            "\t1 ",
            "\t1 ",
            "\t1 ",
            "Spike at 40.5 ",
            "Spike at 81.15 ",
            "Spike at 108 ",
            "Spike at 133.65 ",
            "Spike at 180.775 ",
            "Spike at 201.3 ",
            "Total spikes: 6 ",
            "\t1 ",
            "\t1 ",
            ""
        ],
"run_info": {
            "driver": "/Users/savulesc/Workspace/nrn-modeldb-ci/test3682/synmap/driver.hoc",
            "init": "/Users/savulesc/Workspace/nrn-modeldb-ci/test3682/synmap/mosinit.hoc",
            "model_dir": "/Users/savulesc/Workspace/nrn-modeldb-ci/test3682/synmap",
            "script": [
                "echo 'use_mcell_ran4(1)' > temp",
                "cat mosinit.hoc >> temp",
                "mv temp  mosinit.hoc"
            ],
            "start_dir": "/Users/savulesc/Workspace/nrn-modeldb-ci/test3682/synmap"
        },

and work in the model_dir directly

I was wondering why g++-12 was more strict in the windows environment that in linux. I guess it may have something to do with
the old scripts called by nrnivmodl in windows that end up with compile lines like
x86_64-w64-mingw32-g++.exe -DDLL_EXPORT -DPIC -I/cygdrive/c/nrn/include -I/cygdrive/c/nrn/src/scopmath -I/cygdrive/c/nrn/src/nrnoc -I/cygdrive/c/nrn/src/oc  -c AMPA.cpp

vs the linux nrnivmodl compile liine
/usr/bin/g++-12 -g  -O0 -fstack-protector -Wno-write-strings  -std=c++14 -DMPI_NO_CPPBIND=1 -DOMPI_SKIP_MPICXX=1 -DMPICH_SKIP_MPICXX=1 -DHAVE_CONFIG_H  -I".." -I.   -I/home/hines/neuron/nmodlcxx/build/install/include  -I/usr/lib/x86_64-linux-gnu/openmpi/include -I/usr/lib/x86_64-linux-gnu/openmpi/include/openmpi -fPIC -c AMPA.cpp -o AMPA.o

Especially since an msys compile line during build of nrniv is much more similar to linux and looks like:
[5/10] C:\msys64\mingw64\bin\c++.exe -DHAVE_CONFIG_H -DMPICH_SKIP_MPICXX=1 -DMPI_NO_CPPBIND=1 -DOMPI_SKIP_MPICXX=1 -Dnrniv_lib_EXPORTS -DHOC=1 -DINTERVIEWS=1 -DOOP=1 -IE:/hines/neuron/nmodlcxx/src/ivoc -IE:/hines/neuron/nmodlcxx/src/nrncvode -IE:/hines/neuron/nmodlcxx/src/nrniv -IE:/hines/neuron/nmodlcxx/src/nrnoc -IE:/hines/neuron/nmodlcxx/src/oc -IE:/hines/neuron/nmodlcxx/build -IE:/hines/neuron/nmodlcxx/build/src/nrncvode -IE:/hines/neuron/nmodlcxx/build/src/nrnjava -IE:/hines/neuron/nmodlcxx/build/src/nrnoc -IE:/hines/neuron/nmodlcxx/build/src/nrnpython -IE:/hines/neuron/nmodlcxx/build/src/oc -IE:/hines/neuron/nmodlcxx/build/src/parallel -IE:/hines/neuron/nmodlcxx/build/src/sundials -IE:/hines/neuron/nmodlcxx/build/src/sundials/shared -IE:/hines/neuron/nmodlcxx/external/Random123/include -IE:/hines/neuron/nmodlcxx/src -IE:/hines/neuron/nmodlcxx/src/gnu -IE:/hines/neuron/nmodlcxx/src/mesch -IE:/hines/neuron/nmodlcxx/src/nrnmpi -IE:/hines/neuron/nmodlcxx/src/nrnpython -IE:/hines/neuron/nmodlcxx/src/parallel -IE:/hines/neuron/nmodlcxx/src/scopmath -IE:/hines/neuron/nmodlcxx/src/sparse -IE:/hines/neuron/nmodlcxx/src/sparse13 -IE:/hines/neuron/nmodlcxx/src/sundials -IE:/hines/neuron/nmodlcxx/src/sundials/cvodes -IE:/hines/neuron/nmodlcxx/src/sundials/ida -IE:/hines/neuron/nmodlcxx/src/sundials/shared -IE:/Python39/Include -IE:/hines/neuron/nmodlcxx/build/src/nrniv/oc_generated -isystem E:/hines/neuron/nmodlcxx/external/iv/src/include -g  -O2 -Wno-write-strings -std=c++14 -MD -MT src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.obj -MF src\nrniv\CMakeFiles\nrniv_lib.dir\__\oc\hoc.cpp.obj.d -o src/nrniv/CMakeFiles/nrniv_lib.dir/__/oc/hoc.cpp.obj -c E:/hines/neuron/nmodlcxx/src/oc/hoc.cpp

I think I'll spend some time seeing if the linux nrnivmodl can replace the legacy mingw nrnivmodl.


Kube lint

before this change:
kube-linter lint .
KubeLinter 0.2.3

charts/coredns/templates/deployment.yaml: (object: <no namespace>/test-release-coredns apps/v1, Kind=Deployment) container "coredns" does not have a read-only root file system (check: no-read-only-root-fs, remediation: Set readOnlyRootFilesystem to true in the container securityContext.)

charts/coredns/templates/deployment.yaml: (object: <no namespace>/test-release-coredns apps/v1, Kind=Deployment) container "coredns" is not set to runAsNonRoot (check: run-as-non-root, remediation: Set runAsUser to a non-zero number and runAsNonRoot to true in your pod or container securityContext. Refer to https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ for details.)

after this change:
kube-linter lint .
KubeLinter 0.2.3

No lint errors found!

Also updating the links in the comments, because the old ones no longer work (I've tried them all and they do work w/ the new k8s api docs)

You'll need to bump the chart version as well. Please bump the minor version for this change.

done

ah, I didn't realize you actually require the containers to run under root with the default settings. That's why the tests are currently failing, so I am setting it to runAsNonRoot: false

@mrueg @haad ping

I notice that the default CoreDNS deployment in EKS seems to have this security context:
securityContext:
  allowPrivilegeEscalation: false
  readOnlyRootFilesystem: true
  capabilities:
    add:
      - NET_BIND_SERVICE
    drop:
      - all

Would that help get around some of the downsides of not being able to set runAsNonRoot: true?

Hi, thanks for the PR. I believe that @sarahhodne approach will do the trick in working areound running as non root. Please rebase and bump the chart version


Article status on medium viewports

Not an ideal solution, we should create a ticket to improve the CSS

Preview environment created!
The preview environment has been deployed to the cluster.
Client URL: https://pr-1969--epp.elifesciences.org
Note: If this is a new environment, it can take a few minutes for DNS to update.


Feature Request: Execute action on Default button type but leave app in background / terminated

It would be nice to be able to handle the actions specified for ActionButtons without bringing the app to foreground.

Im working on it right now on Notification's isolates git branch.

And for tapping on notification also!!!  It would be nice to be able to handle  without bringing the app to foreground

is this issue solved now?

Version 0.7.0

Hi! Sorry for taking so long to respond to your issue on GitHub. I was focused on releasing the new 0.7.0 version of awesome_notifications and awesome_notifications_fcm and i didn't had time enough to do both. But now I can answer all your questions.
So now i'm asking you to recreate this topic using the new issue template. There's a lot of missing informations that i need to understand your problem, and all the instructions are already in the new issue template. Also, remember to check beforehand if your issue was posted by another user.
So I will automatically close all previous issues so far.
Sorry for the inconvenience and i will be waiting for your new issue request.
Thank you so much for your support!


Add Buffer property to buffer module

Previously discussed or implemented in #5153, #3495, #2938, #3723, #3724 and maybe elsewhere.
This PR refines previous efforts by adding:

A correct, unambiguous type for require("buffer").Buffer:

declare var Buffer: typeof global.Buffer;

A test.

To be clear: Per the Node docs, explicitly importing Buffer is rarely needed, given its availability in the global scope, but correct. It happens to be a viable option in environments where "magic" support for Node globals is either undesirable or broken (the latter is currently the case for ES modules in Webpack).

PR tests might fail due to the current state of master - this branch does pass tests on its own.


Add a way to know the main file of compilation

I was trying to check if file was required or it is the file passed to the compiler to be build, but I didn't find any way of doing this.
I propose implementing __MAIN__ which equals __FILE__ of the main file of compilation.
As example, I tried somethink like this:
./foo.cr
def square(x)
  return x * x
end

if __FILE__ == $0
  puts "This file defines the square function"
  puts "example: square(12) returns #{square(12)}"
end

./bar.cr
require "./foo"
puts square(100)

What I expected (Ruby's behaviour) is
$ crystal foo.cr
This file defines the square function
example: square(12) returns 144
$ crystal bar.cr
10000

but Crystal's actual behaviour is
$ crystal foo.cr
$ crystal bar.cr
10000

because $0 will never match __FILE__ (even with $ crystal run bar.cr $0 is ~/.cache/crystal/crystal-run-bar.tmp).
Since Crystal is compiled and generates a binary file, I like $0's current behavior, so adding a new way to know the main file, which also does not depends on which the crystal command is run or build, seems good to me.
I know this is not something crucial and even in my real use case separate into two files makes the work, but I think this is something nice to have.
Thanks, and sorry if this is too long for something that simple :laughing: .

I never really liked that pattern, personally I always separate library code from toplevel/CLI code, into separate files.

I'm with @jhass here, I don't like that pattern either.
But besides not liking it, I'll try to give a more objective reason. A file should have a single responsibility, maybe defining a class or a bunch of related classes, or code with a related functionality. Mixing a main program together with some other code doesn't feel right/clean. Separating main code, like examples, in an examples directory, where each file has a name that clearly says what it does, is much better in my opinion.

When I gave thumbs up above, I was thinking of "to make a warning if a non-main is compiled as main", haha, but thinking about it, that would be pretty weird to happen.

I don't think we'll go that way, so I'm closing this. The recommended way is to include an examples or samples directory in a project.

Not liking something isn't a reason to forbid it, especially when it's such a widely used pattern in other programming languages like Python and Ruby. I am also convinced that there are many good use cases for this pattern outside of the ones that have been dismissed here.
And I know that all of this could be dismissed again with "just make another tiny file", but I believe a large number of tiny files actively hurts my ability to understand a project, especially at short notice.
Reusable command line tools
def main(args):
    ...
    return 0

if __name__ == "__main__":
    sys.exit(main(sys.argv))

Why intentionally limit your command line tool to be usable only by spawning a process, when instead (for free!) you could make it a reusable method that accepts an array of arguments.
I am already in the examples directory!
So I made (well, ported) a library with a big suite of examples and a nice showcase application that puts them together.

Each of the examples consists of one file and is runnable on its own. The problem is that if I require all of them for the integrated showcase, they'll all run one by one before the execution gets to the showcase code.
And no, I do not want to make one "runner" file per example, or drop one of the two perfectly valid use cases.
So I did a double hack to enable this. Each example is a subclass of a common base. The "runner" module queries for subclasses of this base and runs them. Each example requires it after defining one such subclass. The "showcase" imports the "runner" module before any subclasses are defined meaning that it runs nothing and consequent requires from the examples do nothing for something that already was imported. So then the "showcase" is free to do what it wants.

Now I have another use case with examples. I want one example to focus on a specific use case in a complex way, and another, more general example that happens to reuse the same code without putting focus on it. Again I insist that everything in the examples folder should be runnable by itself and I don't want proliferation of tiny files.
The hack I will do here is defining and immediately running a main function in both files. The definition of main is overwritten by the requiring file so the definition of the required file is never ran. There's a small catch -- the same main is ran twice, so just add an exit...

So uh what are we gaining by omitting this feature?
And these were just my experiences with this, there could be many more valid use cases.

Just a note: While it makes some sense to have this in interpreted languages like Ruby and Python, in a compiled language it has less benefit IMHO.

I'd say this would make a lot of sense.
One great use case for Crystal is as a "compiled scripting language" - a language you can write high-level code in and still have it run fast. Let's say you have a collection of tools written in Crystal. Being able to require across those tools without having to split the front-ends out into separate files would be extremely useful.

I think it's useful, as a way to add simple demo/examples at the end of the script.

in a compiled language it has less benefit

I think many usages of crystal as scripting with ability to validate types, so from the usage point of view it's pretty much the same as scripting language.

If you want to use a Crystal file as a script, you could just use a compile time flag for that. It can easily be set in the shebang line:
#!/usr/bin/env -S crystal run -Drun_mylib_example

{% if flag?(:run_mylib_example) %}
  puts "Hello World"
{% end %}

@straight-shoota That's a way to do it, but it's more of a workaround than anything else, and it gets even less programmer-friendly if you want to have the script compiled (then you'd have to either remember a flag to set each time or make a separate compilation shell script).
I think it'd be highly valuable to have an idiomatic way to do this – I know I, for one, would use it in every single-file program I ever write. And that's a lot of programs!

Yes, it's a workaround for the script approach.
I agree there are good arguments to add this feature. So I'm going to reopen this discussion in order to discuss the API.
I think there are two ways this could be done:

Give access to the entire list of filename options in order to compare them to __FILE__.
A boolean value that's true when the current file is in the filename options to the compiler. This could either be available as a dedicated method or a magic compile time flag.

In any case, implementation should be pretty trivial.

I always liked the pattern to use a file-as-is, including DATA or END or whatever the name was,
as well as the if name == "main" idiom. Though that could be cleaner.
The primary question is mostly how flexible you want crystal to be. The more obstacles and barriers you add based on some assumed "it leads to a more complex language", the more hoops you require of users to go through with something that is potentially useful. I think rather than reasoning that something is "too complicated", the better way would be to allow the functionality but make it as simple as possible to use and as "cleanly" as possible. To claim that "a file should have a single responsibility but no more than that" restricts potential use cases. For instance, in ruby I use both executables under bin/ in my gems, as well as the "if file name == this program" idioms. I never felt there was any problem with that approach whatsoever - most users will just use the bin/ executable but if I need to test something quickly I just change the .rb file as-is that is the "library" and test it.

What would the "main file" refer to in compiler commands other than run?

That would be any file name passed directly to the compiler as entry point (i.e. the programfile argument) - in contrast to be required from another file. This can technically be multiple files, so it's not exclusive. But that shouldn't be a problem.

What about spec which uses a fictitious source thatnrequires everything passed in from command-line arguments? And what about --stdin-filename?

I don't think there is a relevant use case for specs. So I think there should probably be no main file in that case.
--stdin-filename has the same meaning as programfile, so that should apply as well (although I don't see a relevant use case there either).


National phone format

Is there a way to display the national format instead of the international format? I'd like to use national without country code for the US for example so it looks like<PHONE_NUMBER>

Figured it out.


Tests: Rebrand addresses to Namecoin (3.2.2 Backport)

Backport #21 to 3.2.2 branch.

Merging in 1 day if no NACKs by then.


⚠ Bofrost.de has degraded performance

In 88a0d4a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 856 ms

Resolved: Bofrost.de performance has improved in 1312149.


Unhide --log-format flag and update flag helptext for it and --log-level

Is your feature request related to a problem? Please describe.
Currently structured logging is behind a hidden flag to avoid breaking some tests for a feature flagged feature. It's time to update this!
Describe the behavior you'd like
Let's update the helptext for --log-format and --log-level to match the new behavior, and update our e2e tests to reflect the new output.
Describe alternatives you've considered
.
Additional context
Component of https://github.com/zarf-dev/zarf/issues/3210

Resolved by #3251


add money

Can you add it back or send it in here please 😁

its really needed lmao

Hey, the one I deleted was very very outdated but I can do up a simple thing for you to integrate
const db = require("quick.db")`
let ownerID: 'Your ID
if(message.autor.id !== ownerID) return;
let user = message.mentions.members.first() || message.author
if(isNaN(args[1)) return;
db.add(money_${message.guild.id}_${user.id}, args[1])
let bal = await db.fetch(money_${message.guild.id}_${user.id})
message.channel.send(Added ${args[1]} to ${user}. New balance: ${bal}
Just replace the things you need to as the db name and the arguments, thanks for using the repo

ok thank you


RFC: lib: Add utility to define help-annotated attrsets

RFC: Add simple utilities to allow help-documentation for attrsets, most useful for nix-build -A ....
This makes it easy to add documentation to a default.nix such that nix-build -A help gives you a description of all your build targets.

cc @Infinisil @srhb

I don't know why this would cause a rebuild of anything...

As already indicated on IRC, I don't think this fits in nixpkgs and I'd rather see this in something like NUR or Flakes in the future. I think nixpkgs' lib should mainly be reserved for things used in nixpkgs itself.
While I did previously mention how I wouldn't mind nixpkgs being used as a standard library, I think this function is a bit too non-standard for this.
Nixpkgs is also already a too big centralized piece of bloat, adding random functions to it wouldn't help with that. I wouldn't want nixpkgs to become a dumping ground for all kind of unrelated functionality.

@Infinisil I hear you. I don't see this as "random functionality" though and I'm curious if there are others who agree with me, hence the PR. I see this almost as "missing feature from nix-build" so therefore it should be ubiquitous.

(I also wonder if mapAttrsNestedRecursiveCond might deserve a home in lib.attrsets though...)

I've convinced myself that this feature set is non-trivial enough that it either a) justifies a real package in nixpkgs or b) doesn't justify one because there are many ways to implement it.
For now I've started a repo which expands a great deal on this PR with more features: https://github.com/3noch/help.nix

It's nice you've extracted this to separate package! Please publish your package in https://nixos.wiki/wiki/Applications, so it is visible. Maybe it fits a separate section "lib extensions"


Updated typescript from 1.8 to 2.1.

Thanks for your interest in palantir/eclipse-typescript, @mzmaryzhuang! Before we can accept your pull request, you need to sign our contributor license agreement - just visit https://cla.palantir.com/ and follow the instructions. Once you sign, I'll automatically update this pull request.

Looks like LanguageService is missing getSourceFile now, not sure how to fix this. Leaving this here in case someone else can help figure it out.

Seems like the getSourceFile can be accessed with languageService.getProgram().getSourceFile
I am testing if everything is ok.

it will be great to get it working with ts2.x, let me know how i can help @Rouche

closed by #339


Create Comprehensive Documentation for Kolosal AI Project

Create Comprehensive Documentation for Kolosal AI Project
Description:
We need to create thorough documentation for the Kolosal AI project to make it easy for developers to understand, contribute, and utilize the codebase effectively. The documentation should cover the following areas: code structure, widget components & classes, getting started, contribution guidelines, compilation instructions, and code-writing guidelines.
Tasks:

Document Code Structure:

Provide an overview of the code structure, detailing the purpose of each major directory and file.
Include information on core modules and their relationships within the project.
Add visual aids, like a diagram or flowchart, if applicable, to illustrate how components interact.

Widget Components & Classes:

List all major widget components and classes, describing their functionality and how they integrate within the application.
Include usage examples for each widget and class, with sample code snippets to demonstrate how they can be utilized or customized.
Describe dependencies between classes, if any, and provide guidance on extending or modifying widgets.

Getting Started Guide:

Provide clear instructions on how to set up the development environment.
Outline the required dependencies, with installation commands and configuration settings.
Include steps for cloning the repository and running the project locally.
Add troubleshooting tips for common setup issues.

Contribution Guide:

Define contribution rules and standards, including setting up branches and submitting pull requests.
Describe the process for filing issues, suggesting new features, and discussing potential improvements.
Add a code of conduct for contributors, emphasizing respectful and constructive collaboration.

Compilation Instructions:

Provide detailed steps for compiling the project, including platform-specific instructions (Linux, macOS, Windows).
List any required libraries or build tools, along with setup and configuration instructions.
Include CMake commands and flags, if applicable, to facilitate building the project with different configurations.

Code-Writing Guidelines:

Outline code-writing conventions, such as naming conventions, file organization, and commenting practices.
Describe the preferred style for function declarations, variable names, and inline documentation.
Include examples of well-documented functions and modules as a reference for contributors.

Review and Publish Documentation:

Compile all documentation into a structured README or a dedicated docs folder with relevant subfiles.
Link sections of the documentation to one another, providing a coherent navigation experience.
Review the documentation for accuracy, clarity, and completeness before publishing it in the repository.

Acceptance Criteria:

The documentation provides a clear overview of the project’s code structure and major components.
Widget components and classes are described with examples, detailing their usage and functionality.
Getting started guide allows new users to set up the project with minimal friction.
Contribution guide includes comprehensive steps for contributing, from filing issues to submitting pull requests.
Compilation instructions cover platform-specific requirements and detail the build process.
Code-writing guidelines establish clear conventions, promoting consistency across the codebase.
Documentation is organized and accessible, with easy navigation across sections.

Additional Context:

This documentation is essential for onboarding new contributors and ensuring the maintainability of the Kolosal AI project.
Aim to make the documentation beginner-friendly while maintaining sufficient depth for advanced users.

https://developer.lsst.io/cpp/api-docs.html


Feature Request: CRD for HumioAlertNotifier

It would be awesome to be able to manage notifiers for alerts in Humio through a custom resource, e.g. HumioAlertNotifier.

👍

"Alert notifiers" has been renamed to "actions" and this was fixed in https://github.com/humio/humio-operator/pull/338


Share and return back

I want the generated data from the model to be displayed on the same page after storing a resource.
When I do this:
public function store(Request $request)
{
    $example = Model::create($request);

    Inertia::share('generated', $example->generated);

    return redirect()->back(/* 303 */);
}

I get redirected back as expected but the shared data won't be present. No 'generated' key with data in page.props.
I was surprised finding out it didn't work while a session workaround does work:
- Inertia::share('generated', $example->generated);
+ session()->flash('data', ['generated' => $example->generated]);

# App\Http\Middleware\HandleInertiaRequests.php
public function share(Request $request)
{
    return array_merge(parent::share(), [
        /* ... */
        'flash' => [
            'data' => fn () => $request->session()->get('data'),
        ],
    ]);
}

Now I'm wondering how it's possible the Inertia::share() method is not adding the shared data to the redirect back response. If I check Inertia::getShared() using dd() I can verify the data is present in the controller after the share() method  is called but not present in the page.props.
Is this by design, am I missing required config or is this a bug?

This is actually expected behaviour. When redirecting back you're basically making a new request to the previous URL and all the data you share in the current request is never sent to the browser.
Using the session to flash temporary data is the way to go here. If you're only using the data in one place you might want to consider sharing the data from the controller you're redirecting back to instead of sharing it from the middleware.
public function pageRedirectingBackTo(Request $request)
{
    return Inertia::render('SomePage', [
        'generated' => $request->session()->get('data'),
    ]);
}

If this is intended behavior I will make use of the session. Thanks for the quick response.


Long copy-pasted URL runs off side of screen

Low priority but I want to be thorough in reporting!

Copy-paste the string "https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.cultstud.org%2Fwordpress%2Fvirtual-lecture-series%2F&data=05|01|rbohrer%40wpi.edu|4ac9148744674bd1809308db6757259a|589c76f5ca1541f9884b55ec15a0672a|0|0|638217396264752903|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=GatnLPMt8kAQWhLQ5H4LAMBeXO7NpTiqPXNxOl8tt9E%3D&reserved=0"
Observe that it runs off the side of the page

Clarification, since I can't reproduce this: where is this being pasted (chapter editor, or some other field?), and is it running off the side of the page in editing mode or reading mode? It'd also be helpful to know which browser you're using, in case there's a browser inconsistency about whitespace handling. Thanks!

I'm using Chrome Version 114.0.5735.134 (Official Build) (64-bit) on Windows 11 Home, on the editing interface. Here's a screenshot (the list should be irrelevant, was just there in my "scratch space" chapter already


new UI for drop-down menu in mobile

in the mobile responsive mode of the blog the tags, categories, and series section not shown
I thought a new drop-down sidebar menu could cover these with new UI something like this

Actually, I don't agree with you.
The UI is totally different from the current one.
And it will take a lot of time for me.
If the mobile menu should contain the taxonomies(tags,categories,series) it must be contained current dropdown menu

Ok I know. It was just a suggestion
thank you for your response

But do you think the taxonomies(tags, categories, series) should include in the mobile menu?
I'm curious if it will be a helpful feature for some people

It's not obligatory
however sometimes the user may want to check all post of a series from mobile, in this case, It's not possible if we not provided  taxonomy page in the menu
anyway I will add the series page into the menu depends on demand

Ok, I'm thinking that it could be a helpful feature.
I'll make options for it.

nice, thank you so much :1st_place_medal:


Bugfix in zoom_array

Fix error introduced when migrating from mirnylib

@nvictus can you merge this please?

Thank you!


$feature 0.01ETH on (goerli)

please create this feature to get the reward

$feature 0.01ETH on (goerli)

$feature 0.01ETH on (goerli)


SPARK-3655 GroupByKeyAndSortValues

See https://issues.apache.org/jira/browse/SPARK-3655
This pullreq is based on the approach that uses repartitionAndSortWithinPartition, but only implements GroupByKeyAndSortValues and not foldLeft.

Can one of the admins verify this patch?


sct_compute_mtsat: Check json sidecars only if Repetition Time/Flip Angle arguments aren't first provided

Related issues/PRs
Fixes #2883
Description
As we read RepetitionTime/FlipAngle values from json sidecars, we raise an error if the sidecar file doesn't exist. This happens even if a value is provided for the argument. But, if an argument is being provided, then we don't need to check the sidecar in the first place.
So, to fix this, we check sidecar files only if an argument hasn't been provided.
This PR also fixes the FileNotFoundError so that it's properly raised. (This wasn't mentioned in #2833, but was a bug nonetheless.)

i guess there is no more need to pass argv here?

Right now it's still needed for the test, because it was written using a main() call.
https://github.com/neuropoly/spinalcordtoolbox/blob/c7ec03543192a110e3e3177ae7c4ecefb97600cf/unit_testing/test_sct_compute_mtsat.py#L24-L28
But, I think this test can be refactored. e.g. as a regular sct_testing test. That would indeed make the argv passing unnecessary.

I believe right now it's still needed for the test, because it was written using a main() call.

ah! you're right

@jcohenadad is something like d777173 alright? Or is it preferred for these types of tests (i.e. test_integrity) to check the output more thoroughly (e.g specific voxel values)?
Asking as I'm still a little shaky on the conventions SCT uses for writing its tests.

@jcohenadad is something like d777173 alright? Or is it preferred for these types of tests (i.e. test_integrity) to check the output more thoroughly (e.g specific voxel values)?

I think the idea is to progressively get rid of sct_testing, to be replaced exclusively by the more traditional pytest. @cfhammill started an example of using pytest for CLI with his test_sct_run_batch, so I used the same approach. I cannot find the discussion about this though... ( i haven't searched much though-- in the middle of something else)

I think the idea is to progressively get rid of sct_testing, to be replaced exclusively by the more traditional pytest. @cfhammill started an example of using pytest for CLI with his test_sct_run_batch, so I used the same approach.

Ahh, I see! I also found the Testing - Make your SCT function testing-compatible section of the internal dev Wiki, but that page appears to be out of date compared to what you describe.

I cannot find the discussion about this though... ( i haven't searched much though-- in the middle of something else)

No worries! It is understandable, considering the amount of discussions! :stuck_out_tongue:
As an aside (and I sound like a broken record here, hehe), but hopefully if we update the internal developer Wiki when decisions like this are made, this will be less of an issue in the future. :smile:

I think we can leave the argv/testing stuff as-is for now, then?
For the core changes in this PR, they let batch_processing.sh run without error:
# Display results (to easily compare integrity across SCT versions)
# ===========================================================================================
set +v
~~~
Version:         git-jn/2883-fix-json-sidecar-loading-1dd2cd8201a6870bbaa0b08fc890b7cc6d0272a7
Ran on:          Linux pop-os 5.4.0-7642-generic
Duration:        0hrs 18min 11sec
---
t2/CSA:          73.87711295363036
mt/MTR(WM):      54.40129136937407
t2s/CSA_GM:      12.487834828856178
t2s/CSA_WM:      64.93830702088246
dmri/FA(CST_r):  0.7756557354302693
dmri/FA(CST_l):  0.7801552118509679
~~~
To open Quality Control (QC) report on a web-browser, run the following:
xdg-open /home/joshua/Repos/spinalcordtoolbox/qc_example_data/index.html

If someone else could verify, though, that would be lovely.

I think we can leave the argv/testing stuff as-is for now, then?

absolutely!


Small revisions

Added getters/setters to support libkuromoji dictionary building.
Added timings to ProgressLog
Cleaned up access to 'children' in DoubleArrayTrie.add()

I think we have these changes merged already.


Migrate documentation for all core functions from scalar_functions.md to code

Which issue does this PR close?

Closes #12801
Rationale for this change
Documentation migration
What changes are included in this PR?
docs, minor updates/improvements in getfield udf.
Are these changes tested?
Yes.
Are there any user-facing changes?
Docs updated.

@Omega359 This looks good to me!


TinyMCE won't open texteditor

What kind of issue is this? (put 'x' between the square brackets)

[ ] Question. This issue tracker is not the place for questions. If you want to ask how to do
something, or to understand why something isn't working the way you expect it to, use
http://stackoverflow.com/questions/ask .
Provide working code, starting from http://jsfiddle.net/JNsu6/15/.
We monitor the tag featherlight.js.

[x ] Bug report. If you’ve found a bug, you must provide a minimal example in a CodePen,
starting from http://jsfiddle.net/JNsu6/15/ .

[ ] Feature Request. Make sure there's no good way to do what you want first;
consider asking on http://stackoverflow.com/questions/ask first.

Hi, i want to submit news on my page with feartherlight popup so i don't need a "whole" page for news submitting.
With featherlight (Won't open texteditor)
http://i68.tinypic.com/augi0h.jpg
if i go to the adress with fullscreen
http://i66.tinypic.com/2921u1x.jpg
Any idea why? A normal < . textarea . >< . /textarea  . > works fine.

CSS can be tricky, I don't know why TinyCME reacts this way from being inside a featherlight, or what you need to change so it expands.
I do not consider this a bug of featherlight though. Good luck.


Add back size numbers

With the new parser refactor, we lost the ability to say things like where size > 10KB.  We should try to add this back

Fixed by https://github.com/wycats/nushell/pull/48


Feat/ssh signing

Adds SSH signing to git, I've also added a nix development shell, nix flake package and nix flake checks in the process.
I've also made a fix to the GPG signing where it would not take into account the set program path in git config.

How am i supposed to fix the file permissions for those ssh keys, they were actually correct and the test passed locally, but once uploaded to git its changed the file perms it seems.

Also this would close issues:
#294 #226

Hey @DaRacci great job !
There is a test failing, I think you need to change permissions on the ssh test key.
Also what are the nix files for ? I am not familiar with this.

the nix files are for a pure development environment without the need for setting up external dependencies, so its as simple as installing nix, the loading the nix flake either with nix develop with enters a new shell with everything needed or using direnv to source to the current shell.
It also provides a simple packaging solution and configured test runner.
With the permissions for the SSH key i had them correct when running locally but once uploaded to github it seems to have changed them, and im unable to recommit them as they havent changed.

Can you remove the nix files then, I don't want to had some ad-hoc development environment. Imo cargo + libgit should be the only dependencies.

its not a required environment, you can still develop the way you have been its a optional which makes it easier, plus ill always need these files since i don't install cargo or anything system wide

Sorry but I would prefer if these were not committed to the main branch. I don't want to maintain this or get some issue related to the dev environment while I am not using it myself. You can simply keep those locally.

I'm so confused what is happening with the tests??

It was all fine and then i fixed what was the problem and now thing i haven't touched are issues.

Hey @DaRacci the lints errors comes from a rust/clippy update. Those are fixed on the main branch, rebasing should fix them.

I don't understand this error, it started happening along with the others but it genuinely makes no sense to me, there is only two arguments, but i guess three counting self, but its already a self ref.

Not sure exactly what is wrong with the ssh signed commit test. Probably something wrong with the CI runner environment.

Completely forgot to re-visit this last night, will be able to have a look again in maybe ~1 week.

Thanks for merging this!