hyprgrass fails to build on v0.44.1

Logs:
❯ hyprpm update -f -v --no-shallow
! Using --force, I hope you know what you are doing.
[v] version returned: Hyprland, built from branch  at commit 4520b30d498daca8079365bdb909a8dea38e8d55  (version: bump to 0.44.1).
Date: Wed Oct 9 12:54:39 2024
Tag: v0.44.1, commits: 5309
built against aquamarine 0.4.3

flags: (if any)

[v] parsed commit 4520b30d498daca8079365bdb909a8dea38e8d55 at branch  on Wed Oct 9 12:54:39 2024, commits 5309

! Cloning https://github.com/hyprwm/hyprland, this might take a moment.
✔ cloned
[v] will run: cd /tmp/hyprpm/hyprland-farrah && git checkout 4520b30d498daca8079365bdb909a8dea38e8d55 2>&1
[v] git returned (co): Note: switching to '4520b30d498daca8079365bdb909a8dea38e8d55'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 4520b30d version: bump to 0.44.1

[v] git returned (rs): rm 'subprojects/tracy'
HEAD is now at 4520b30d version: bump to 0.44.1

✔ checked out to running ver
! configuring Hyprland
[v] setting PREFIX for cmake to /home/farrah/.local/share/hyprpm/headersRoot
[v] cmake returned: Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 14.2.1
-- The CXX compiler identification is GNU 14.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Gathering git info
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.1.1")
-- Checking for module 'udis86>=1.7.2'
--   Package 'udis86', required by 'virtual:world', not found
-- Found Python3: /usr/bin/python3.12 (found version "3.12.7") found components: Interpreter
Building itab.c/itab.h...
-- udis86 dependency not found, falling back to subproject
-- Found wayland-protocols at //usr/share/wayland-protocols
-- Found wayland-scanner pkgdatadir at //usr/share/wayland
-- Configuring Hyprland in Release with CMake
-- Checking deps...
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenGL: /usr/lib/libOpenGL.so  found components: GLES3
-- Checking for module 'hyprutils>=0.2.1'
--   Found hyprutils, version 0.2.3
-- Checking for module 'aquamarine'
--   Found aquamarine, version 0.4.3
-- Checking for modules 'xkbcommon;uuid;wayland-server>=1.22.90;wayland-protocols;cairo;pango;pangocairo;pixman-1;xcursor;libdrm;libinput;gbm;gio-2.0;hyprlang>=0.3.2;hyprcursor>=0.1.7;hyprutils>=0.2.3'
--   Found xkbcommon, version 1.7.0
--   Found uuid, version 2.40.2
--   Found wayland-server, version 1.23.1
--   Found wayland-protocols, version 1.38
--   Found cairo, version 1.18.2
--   Found pango, version 1.54.0
--   Found pangocairo, version 1.54.0
--   Found pixman-1, version 0.43.4
--   Found xcursor, version 1.2.2
--   Found libdrm, version 2.4.123
--   Found libinput, version 1.26.2
--   Found gbm, version 24.2.5-arch1.1
--   Found gio-2.0, version 2.82.2
--   Found hyprlang, version 0.5.3
--   Found hyprcursor, version 0.1.10
--   Found hyprutils, version 0.2.3
-- Looking for execinfo.h
-- Looking for execinfo.h - found
-- Configuration supports execinfo
-- Looking for backtrace in execinfo
-- Looking for backtrace in execinfo - not found
-- Looking for sys/timerfd.h
-- Looking for sys/timerfd.h - found
-- Checking for module 'epoll-shim'
--   Package 'epoll-shim', required by 'virtual:world', not found
-- XWAYLAND Enabled (NO_XWAYLAND not defined) checking deps...
-- Checking for modules 'xcb;xcb-render;xcb-xfixes;xcb-icccm;xcb-composite;xcb-res;xcb-errors'
--   Found xcb, version 1.17.0
--   Found xcb-render, version 1.17.0
--   Found xcb-xfixes, version 1.17.0
--   Found xcb-icccm, version 0.4.2
--   Found xcb-composite, version 1.17.0
--   Found xcb-res, version 1.17.0
--   Found xcb-errors, version 1.0.1
-- SYSTEMD support is requested (NO_SYSTEMD not defined)...
-- Setting precompiled headers
-- Setting link libraries
-- Checking for module 'hyprland-protocols>=0.2.0'
--   Package 'hyprland-protocols', required by 'virtual:world', not found
-- hyprland-protocols subproject set to subprojects/hyprland-protocols
-- Checking for module 'hyprutils>=0.1.1'
--   Found hyprutils, version 0.2.3
-- Checking for modules 'tomlplusplus;hyprutils>=0.1.1'
--   Found tomlplusplus, version 3.4.0
--   Found hyprutils, version 0.2.3
-- Configuring done (2.1s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/hyprpm/hyprland-farrah/build

✔ configured Hyprland
[v] installation will run: sed -i -e "s#PREFIX = /usr/local#PREFIX = /home/farrah/.local/share/hyprpm/headersRoot#" /tmp/hyprpm/hyprland-farrah/Makefile && cd /tmp/hyprpm/hyprland-farrah && make installheaders
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━  4 / 5  Installing sources[v] installer returned: # remove previous headers from hyprpm's dir
rm -fr /home/farrah/.local/share/hyprpm/headersRoot/include/hyprland
mkdir -p /home/farrah/.local/share/hyprpm/headersRoot/include/hyprland
mkdir -p /home/farrah/.local/share/hyprpm/headersRoot/include/hyprland/protocols
mkdir -p /home/farrah/.local/share/hyprpm/headersRoot/share/pkgconfig
cmake --build ./build --config Release --target generate-protocol-headers
[0/2] Re-checking globbed directories...
[1/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/hyprland-global-shortcuts-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/hyprland-global-shortcuts-v1.hpp
[2/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/text-input-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/text-input-unstable-v1.hpp
[3/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/hyprland-toplevel-export-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/hyprland-toplevel-export-v1.hpp
[4/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wlr-gamma-control-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wlr-gamma-control-unstable-v1.hpp
[5/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wlr-screencopy-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wlr-screencopy-unstable-v1.hpp
[6/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wlr-foreign-toplevel-management-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wlr-foreign-toplevel-management-unstable-v1.hpp
[7/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wlr-output-power-management-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wlr-output-power-management-unstable-v1.hpp
[8/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/virtual-keyboard-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/virtual-keyboard-unstable-v1.hpp
[9/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wlr-virtual-pointer-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wlr-virtual-pointer-unstable-v1.hpp
[10/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/input-method-unstable-v2.cpp, /tmp/hyprpm/hyprland-farrah/protocols/input-method-unstable-v2.hpp
[11/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wlr-output-management-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wlr-output-management-unstable-v1.hpp
[12/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/kde-server-decoration.cpp, /tmp/hyprpm/hyprland-farrah/protocols/kde-server-decoration.hpp
[13/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wlr-data-control-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wlr-data-control-unstable-v1.hpp
[14/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/hyprland-focus-grab-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/hyprland-focus-grab-v1.hpp
[15/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wlr-layer-shell-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wlr-layer-shell-unstable-v1.hpp
[16/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wayland-drm.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wayland-drm.hpp
[17/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/tearing-control-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/tearing-control-v1.hpp
[18/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/fractional-scale-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/fractional-scale-v1.hpp
[19/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/xdg-output-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/xdg-output-unstable-v1.hpp
[20/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/idle-inhibit-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/idle-inhibit-unstable-v1.hpp
[21/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/cursor-shape-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/cursor-shape-v1.hpp
[22/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/relative-pointer-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/relative-pointer-unstable-v1.hpp
[23/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/xdg-decoration-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/xdg-decoration-unstable-v1.hpp
[24/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/alpha-modifier-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/alpha-modifier-v1.hpp
[25/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/ext-foreign-toplevel-list-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/ext-foreign-toplevel-list-v1.hpp
[26/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/pointer-gestures-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/pointer-gestures-unstable-v1.hpp
[27/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/keyboard-shortcuts-inhibit-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/keyboard-shortcuts-inhibit-unstable-v1.hpp
[28/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/text-input-unstable-v3.cpp, /tmp/hyprpm/hyprland-farrah/protocols/text-input-unstable-v3.hpp
[29/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/pointer-constraints-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/pointer-constraints-unstable-v1.hpp
[30/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/xdg-activation-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/xdg-activation-v1.hpp
[31/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/ext-idle-notify-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/ext-idle-notify-v1.hpp
[32/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/ext-session-lock-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/ext-session-lock-v1.hpp
[33/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/tablet-v2.cpp, /tmp/hyprpm/hyprland-farrah/protocols/tablet-v2.hpp
[34/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/presentation-time.cpp, /tmp/hyprpm/hyprland-farrah/protocols/presentation-time.hpp
[35/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/xdg-shell.cpp, /tmp/hyprpm/hyprland-farrah/protocols/xdg-shell.hpp
[36/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/primary-selection-unstable-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/primary-selection-unstable-v1.hpp
[37/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/xwayland-shell-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/xwayland-shell-v1.hpp
[38/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/viewporter.cpp, /tmp/hyprpm/hyprland-farrah/protocols/viewporter.hpp
[39/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/linux-dmabuf-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/linux-dmabuf-v1.hpp
[40/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/linux-drm-syncobj-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/linux-drm-syncobj-v1.hpp
[41/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/xdg-dialog-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/xdg-dialog-v1.hpp
[42/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/single-pixel-buffer-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/single-pixel-buffer-v1.hpp
[43/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/drm-lease-v1.cpp, /tmp/hyprpm/hyprland-farrah/protocols/drm-lease-v1.hpp
[44/45] Generating /tmp/hyprpm/hyprland-farrah/protocols/wayland.cpp, /tmp/hyprpm/hyprland-farrah/protocols/wayland.hpp
find src -name '*.h*' -print0 | cpio --quiet -0dump /home/farrah/.local/share/hyprpm/headersRoot/include/hyprland
cp ./protocols/*.h* /home/farrah/.local/share/hyprpm/headersRoot/include/hyprland/protocols
cp ./build/hyprland.pc /home/farrah/.local/share/hyprpm/headersRoot/share/pkgconfig
if [ -d /usr/share/pkgconfig ]; then cp ./build/hyprland.pc /usr/share/pkgconfig 2>/dev/null || true; fi
chmod -R 755 /home/farrah/.local/share/hyprpm/headersRoot/include/hyprland
chmod 755 /home/farrah/.local/share/hyprpm/headersRoot/share/pkgconfig

✔ installed headers
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  5 / 5  Done!

 → checking for updates for hyprfocus
 → Cloning https://github.com/pyt0xic/hyprfocus
✔ repository hyprfocus has updates.
 → Building hyprfocus
✔ found hyprpm manifest
 → Building hyprfocus
 ━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  2 / 6  Updating hyprfocus[v] shell returned:  -> cd /tmp/hyprpm/farrah && PKG_CONFIG_PATH="/home/farrah/.local/share/hyprpm/headersRoot/share/pkgconfig" make all
g++ -O2 -shared -fPIC --no-gnu-unique src/Flash.cpp src/IFocusAnimation.cpp src/main.cpp src/Shrink.cpp  -o hyprfocus.so `pkg-config --cflags pixman-1 libdrm hyprland` -std=c++2b
strip hyprfocus.so

✔ built hyprfocus into hyprfocus.so
✔ updated hyprfocus
 → checking for updates for hyprgrass
 → Cloning https://github.com/horriblename/hyprgrass
✔ repository hyprgrass has updates.
 → Building hyprgrass
✔ found hyprpm manifest
 → Manifest has 6 pins, checking
 → Building hyprgrass
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╍━━━━━━━━━━━━━━━━  4 / 6  Updating hyprgrass[v] shell returned:  -> cd /tmp/hyprpm/farrah && PKG_CONFIG_PATH="/home/farrah/.local/share/hyprpm/headersRoot/share/pkgconfig" meson setup build
The Meson build system
Version: 1.6.0
Source dir: /tmp/hyprpm/farrah
Build dir: /tmp/hyprpm/farrah/build
Build type: native build
Project name: hyprgrass
Project version: v0.8.2
C compiler for the host machine: cc (gcc 14.2.1 "cc (GCC) 14.2.1 20240910")
C linker for the host machine: cc ld.bfd 2.43.0
C++ compiler for the host machine: c++ (gcc 14.2.1 "c++ (GCC) 14.2.1 20240910")
C++ linker for the host machine: c++ ld.bfd 2.43.0
Host machine cpu family: x86_64
Host machine cpu: x86_64
Compiler for C++ supports arguments -std=c++23: YES
meson.build:8: WARNING: Consider using the built-in option for language standard version instead of using "-std=c++23".
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency hyprland found: YES 0.44.1
Found CMake: /usr/bin/cmake (3.30.5)
Run-time dependency wftouch found: NO (tried pkgconfig and cmake)

Executing subproject wf-touch

wf-touch| Project name: wf-touch
wf-touch| Project version: 0.0
wf-touch| C++ compiler for the host machine: c++ (gcc 14.2.1 "c++ (GCC) 14.2.1 20240910")
wf-touch| C++ linker for the host machine: c++ ld.bfd 2.43.0
wf-touch| Run-time dependency glm found: YES 1.0.1
wf-touch| Run-time dependency doctest found: NO (tried pkgconfig and cmake)
wf-touch| Build targets in project: 1
wf-touch| Subproject wf-touch finished.

Run-time dependency doctest found: NO (tried pkgconfig and cmake)
Configuring version.hpp using configuration
Run-time dependency pixman-1 found: YES 0.43.4
Run-time dependency libinput found: YES 1.26.2
Run-time dependency wayland-server found: YES 1.23.1
Run-time dependency xkbcommon found: YES 1.7.0
Run-time dependency libdrm found: YES 2.4.123
Build targets in project: 3

hyprgrass v0.8.2

  Subprojects
    wf-touch: YES

Found ninja-1.12.1 at /usr/bin/ninja

 -> cd /tmp/hyprpm/farrah && PKG_CONFIG_PATH="/home/farrah/.local/share/hyprpm/headersRoot/share/pkgconfig" ninja -C build
ninja: Entering directory `build'
[1/14] Compiling C++ object src/gestures/libgestures.a.p/Shared.cpp.o
[2/14] Compiling C++ object src/gestures/libgestures.a.p/DragGesture.cpp.o
[3/14] Compiling C++ object src/gestures/libgestures.a.p/CompletedGesture.cpp.o
[4/14] Compiling C++ object subprojects/wf-touch/libwftouch.a.p/src_touch.cpp.o
[5/14] Compiling C++ object subprojects/wf-touch/libwftouch.a.p/src_actions.cpp.o
[6/14] Compiling C++ object subprojects/wf-touch/libwftouch.a.p/src_math.cpp.o
[7/14] Linking static target subprojects/wf-touch/libwftouch.a
[8/14] Compiling C++ object src/gestures/libgestures.a.p/Actions.cpp.o
[9/14] Compiling C++ object src/gestures/libgestures.a.p/Gestures.cpp.o
[10/14] Linking static target src/gestures/libgestures.a
[11/14] Compiling C++ object src/libhyprgrass.so.p/VecSet.cpp.o
../src/VecSet.cpp: In instantiation of ‘bool VecSet<T>::remove(T) [with T = Hyprutils::Memory::CWeakPointer<CWLTouchResource>]’:
../src/VecSet.hpp:27:16:   required from here
   27 | template class VecSet<Hyprutils::Memory::CWeakPointer<CWLTouchResource>>;
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/VecSet.cpp:23:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Hyprutils::Memory::CWeakPointer<CWLTouchResource> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   23 |     for (int i = 0; i < this->set.size(); i++) {
      |                     ~~^~~~~~~~~~~~~~~~~~
../src/VecSet.cpp:25:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<Hyprutils::Memory::CWeakPointer<CWLTouchResource> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare]
   25 |             if (i != this->set.size() - 1) {
      |                 ~~^~~~~~~~~~~~~~~~~~~~~~~
[12/14] Compiling C++ object src/libhyprgrass.so.p/main.cpp.o
FAILED: src/libhyprgrass.so.p/main.cpp.o
c++ -Isrc/libhyprgrass.so.p -Isrc -I../src -Isubprojects/wf-touch -I../subprojects/wf-touch -I/usr/include -I/usr/include/pixman-1 -I/usr/include/libdrm -I/home/farrah/.local/share/hyprpm/headersRoot/include -I/home/farrah/.local/share/hyprpm/headersRoot/include/hyprland/protocols -I/home/farrah/.local/share/hyprpm/headersRoot/include/hyprland -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -std=c++23 -fPIC -DWLR_USE_UNSTABLE -MD -MQ src/libhyprgrass.so.p/main.cpp.o -MF src/libhyprgrass.so.p/main.cpp.o.d -o src/libhyprgrass.so.p/main.cpp.o -c ../src/main.cpp
In file included from ../src/main.cpp:1:
../src/GestureManager.hpp:51:5: error: ‘PHLMONITOR’ does not name a type
   51 |     PHLMONITOR m_pLastTouchedMonitor;
      |     ^~~~~~~~~~
[13/14] Compiling C++ object src/libhyprgrass.so.p/GestureManager.cpp.o
FAILED: src/libhyprgrass.so.p/GestureManager.cpp.o
c++ -Isrc/libhyprgrass.so.p -Isrc -I../src -Isubprojects/wf-touch -I../subprojects/wf-touch -I/usr/include -I/usr/include/pixman-1 -I/usr/include/libdrm -I/home/farrah/.local/share/hyprpm/headersRoot/include -I/home/farrah/.local/share/hyprpm/headersRoot/include/hyprland/protocols -I/home/farrah/.local/share/hyprpm/headersRoot/include/hyprland -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -std=c++23 -fPIC -DWLR_USE_UNSTABLE -MD -MQ src/libhyprgrass.so.p/GestureManager.cpp.o -MF src/libhyprgrass.so.p/GestureManager.cpp.o.d -o src/libhyprgrass.so.p/GestureManager.cpp.o -c ../src/GestureManager.cpp
In file included from ../src/GestureManager.cpp:1:
../src/GestureManager.hpp:51:5: error: ‘PHLMONITOR’ does not name a type
   51 |     PHLMONITOR m_pLastTouchedMonitor;
      |     ^~~~~~~~~~
../src/GestureManager.cpp: In member function ‘virtual bool GestureManager::handleDragGesture(const DragGestureEvent&)’:
../src/GestureManager.cpp:156:27: error: ‘class GestureManager’ has no member named ‘m_pLastTouchedMonitor’
  156 |                     this->m_pLastTouchedMonitor->vecSize;
      |                           ^~~~~~~~~~~~~~~~~~~~~
../src/GestureManager.cpp: In member function ‘bool GestureManager::onTouchDown(ITouch::SDownEvent)’:
../src/GestureManager.cpp:359:11: error: ‘class GestureManager’ has no member named ‘m_pLastTouchedMonitor’
  359 |     this->m_pLastTouchedMonitor =
      |           ^~~~~~~~~~~~~~~~~~~~~
../src/GestureManager.cpp:362:11: error: ‘class GestureManager’ has no member named ‘m_pLastTouchedMonitor’
  362 |     this->m_pLastTouchedMonitor =
      |           ^~~~~~~~~~~~~~~~~~~~~
../src/GestureManager.cpp:363:15: error: ‘class GestureManager’ has no member named ‘m_pLastTouchedMonitor’
  363 |         this->m_pLastTouchedMonitor ? this->m_pLastTouchedMonitor : g_pCompositor->m_pLastMonitor.lock();
      |               ^~~~~~~~~~~~~~~~~~~~~
../src/GestureManager.cpp:363:45: error: ‘class GestureManager’ has no member named ‘m_pLastTouchedMonitor’
  363 |         this->m_pLastTouchedMonitor ? this->m_pLastTouchedMonitor : g_pCompositor->m_pLastMonitor.lock();
      |                                             ^~~~~~~~~~~~~~~~~~~~~
../src/GestureManager.cpp:365:31: error: ‘m_pLastTouchedMonitor’ was not declared in this scope
  365 |     const auto& monitorPos  = m_pLastTouchedMonitor->vecPosition;
      |                               ^~~~~~~~~~~~~~~~~~~~~
../src/GestureManager.cpp:367:88: error: no match for ‘operator=’ (operand types are ‘SMonitorArea’ and ‘<brace-enclosed initializer list>’)
  367 |     this->m_sMonitorArea    = {monitorPos.x, monitorPos.y, monitorSize.x, monitorSize.y};
      |                                                                                ^
In file included from ../src/GestureManager.hpp:2:
../src/./gestures/Gestures.hpp:11:8: note: candidate: ‘constexpr SMonitorArea& SMonitorArea::operator=(const SMonitorArea&)’
   11 | struct SMonitorArea {
      |        ^~~~~~~~~~~~
../src/./gestures/Gestures.hpp:11:8: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘const SMonitorArea&’
../src/./gestures/Gestures.hpp:11:8: note: candidate: ‘constexpr SMonitorArea& SMonitorArea::operator=(SMonitorArea&&)’
../src/./gestures/Gestures.hpp:11:8: note:   no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘SMonitorArea&&’
../src/GestureManager.cpp:369:32: error: cannot convert ‘<brace-enclosed initializer list>’ to ‘const Hyprutils::Math::Vector2D&’
  369 |     g_pCompositor->warpCursorTo({
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
  370 |         monitorPos.x + ev.pos.x * monitorSize.x,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  371 |         monitorPos.y + ev.pos.y * monitorSize.y,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  372 |     });
      |     ~~
In file included from /home/farrah/.local/share/hyprpm/headersRoot/include/hyprland/src/managers/KeybindManager.hpp:6,
                 from ../src/GestureManager.hpp:12:
/home/farrah/.local/share/hyprpm/headersRoot/include/hyprland/src/managers/../Compositor.hpp:164:41: note:   initializing argument 1 of ‘void CCompositor::warpCursorTo(const Hyprutils::Math::Vector2D&, bool)’
  164 |     void                   warpCursorTo(const Vector2D&, bool force = false);
      |                                         ^~~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

✖ Plugin hyprgrass failed to build.
  This likely means that the plugin is either outdated, not yet available for your version, or broken.
  If you are on -git, update first.
  Try re-running with -v to see more verbose output.
Fetching submodule subprojects/wf-touch
✔ updated hyprgrass
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  6 / 6  Done!
✔ Ensuring plugin load state
✔ Plugin load state ensured

try again

yeah it works now after the new commit pins were added, thx


BindingRedirects in paket reference?

It would be nice to say which projects the generated redirects get applied to.

That's a good idea. Currently it just blindly goes across every project. Perhaps this could be added to the paket.references file?

That was my thinking, currently I use the auto generate *proj attribute for most projects. It's the web.config I want to transform.

yes a switch in references file could be a nice way.

Should the default be to assume "yes" and turn off in a specific .references file? e.g. solution with five projects. I want dependency redirected in 2 of those projects. Do you have in the references file that the redirect is "ON" in the files you want (and thus don't specify it in the dependencies file) or mark it in the dependencies file and then exclude from the other three projects?

How about an extra option:
"some" or something like that which would let us choose which projects to generate the binding redirects.
This would mean existing Paket.dependencies file would be compatible.

Don't understand 😊 example please

From: Tony<EMAIL_ADDRESS>Sent: 03/09/2015 15:58
To<EMAIL_ADDRESS>Cc: Isaac<EMAIL_ADDRESS>Subject: Re: [Paket] BindingRedirects in paket reference? (#958)
How about an extra option:
"some" or something like that which would let us choose which projects to generate the binding redirects.
This would mean existing Paket.dependencies file would be compatible.

Reply to this email directly or view it on GitHub:
https://github.com/fsprojects/Paket/issues/958#issuecomment-137457327

in paket.dependecies we could have

redirect: on - Standard Behaviour
redirect: some - Apply redirect only to reference files that have redirect in them

Something like that?

Linked to #808 - adding this could solve the "what is a unit test project?" problem.

you can set redirects from references files


Remove likes from forum post

Create controller function to remove the likes from a forum post

I'd like to work on this!


ESP32-H2 vendor server is unable to receive message from vendor client on ESP-IDF v5.1 and v5.2 (IDFGH-12559)

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.

General issue report
ESP32-H2 is flashed with vendor-server model code which should receive messages from the vendor-client model flashed on ESP32 DevKit.
I have flashed ESP32-H2 with vendor-server model. I want to receive messages on ESP32-H2 from ESP32 chipset. I see that ESP32 is able to send the messages but those messages are not received by the ESP32-H2.
However, when flashed with the same vendor-server model code on ESP32-C3, I see all the messages received on it from the ESP32 and everything works as expected.
Expected behavior:
ESP32-H2 should receive vendor messages (I am using a small string like "Hello there!") from the vendor-client code flashed on ESP32.
Steps to reproduce the issue:

Flash ESP32 with Vendor-Client model code.
Flash ESP32-H2 with Vendor-Server model code.
Provision both the nodes and bind the application key.
Press "Boot" button on ESP32 to trigger message send callback.
The message is sent from ESP32.
Message is not received on ESP32-H2 where as same code flashed on ESP32-C3, the message gets received.

I tried with ESP-IDF v5.1 and v5.2, the issue is seen on both the versions.

There was some issue with my sdkconfig file.


feat: Creation of the blockout of level 2.2

The level 2.2 Space Station blockout has been created.
All rigidbodies are added and the level its playable.
NOTE: During the creation the character or the floor randomly fall, always at press play in the engine. Not tested in game mode. All the statics are on.

Closed cause it will come with all the blockOut


How to save the "tree" in Vaa-3D

Dear profession
In your code ,the "tree" is a matrix，I want use the “ tree” get a 3D graphics inVaa-3D

You can use saveswc function in utli folder.

Typo: utli-> util

yes  ,I want use the saveswc function but I  don't find your code in  utli folder.
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2017年9月18日(星期一) 下午4:21
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [RivuletStudio/Rivulet-Neuron-Tracing-Toolbox] How to save the"tree" in Vaa-3D (#19)
You can use saveswc function in utli folder.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

function saveswc( swc, outfilename )
%SAVESWC Summary of this function goes here
%   Detailed explanation goes here
if isempty(swc),
return;
end
if size(swc,2)<7,
error('The first variable must have at least 7 columns.'),
end
f = fopen(outfilename, 'wt');
if f<=0,
error('Fail to open file to write');
end
for i=1:size(swc,1),
fprintf(f, '%d %d %5.3f %5.3f %5.3f %5.3f %d\n',...
swc(i,1), swc(i,2), swc(i,3), swc(i,4), swc(i,5), swc(i,6), swc(i,7));
end
fclose(f);
end

oh,thanks very much.
I think you are a great man ,love you!
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2017年9月18日(星期一) 下午4:30
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [RivuletStudio/Rivulet-Neuron-Tracing-Toolbox] How to save the"tree" in Vaa-3D (#19)
function saveswc( swc, outfilename )
%SAVESWC Summary of this function goes here
%   Detailed explanation goes here
if isempty(swc),
return;
end
if size(swc,2)<7,
error('The first variable must have at least 7 columns.'),
end
f = fopen(outfilename, 'wt');
if f<=0,
error('Fail to open file to write');
end
for i=1:size(swc,1),
fprintf(f, '%d %d %5.3f %5.3f %5.3f %5.3f %d\n',...
swc(i,1), swc(i,2), swc(i,3), swc(i,4), swc(i,5), swc(i,6), swc(i,7));
end
fclose(f);
end
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Dear donghao
Do you have the code of APP2 which can run well in Matlab 2014 or 2015.
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2017年9月18日(星期一) 下午4:30
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [RivuletStudio/Rivulet-Neuron-Tracing-Toolbox] How to save the"tree" in Vaa-3D (#19)
function saveswc( swc, outfilename )
%SAVESWC Summary of this function goes here
%   Detailed explanation goes here
if isempty(swc),
return;
end
if size(swc,2)<7,
error('The first variable must have at least 7 columns.'),
end
f = fopen(outfilename, 'wt');
if f<=0,
error('Fail to open file to write');
end
for i=1:size(swc,1),
fprintf(f, '%d %d %5.3f %5.3f %5.3f %5.3f %d\n',...
swc(i,1), swc(i,2), swc(i,3), swc(i,4), swc(i,5), swc(i,6), swc(i,7));
end
fclose(f);
end
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Make it possible to submit a review without time

@xuanxu at the moment writing
@ropensci-review-bot submit review https://github.com/ropensci/software-review/issues/505#issuecomment-1090531882 time NA

doesn't work as NA isn't a number. Would it be possible for this to work so reviews can be logged in even before reviewers state the time spent (after an editor reminds them)?

@maelle: Ready here: #70

Thank you!!

yay https://github.com/ropensci/software-review/issues/505#issuecomment-1091665937


Travis Ci config for Java 9 is failing

The command "~/bin/install-jdk.sh --target "/home/travis/openjdk9" --workspace "/home/travis/.cache/install-jdk" --feature "9" --license "GPL" --cacerts" failed and exited with 8 during .

Thanks for reporting. Let me try to find out was is going on here ...


[Key Vault] Drop service principal authentication from test pipelines

Description
See https://github.com/Azure/azure-sdk-for-python/pull/35842.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

/azp run python - keyvault - tests

/azp run python - keyvault - tests

/azp run python - keyvault - tests-weekly

/azp run python - keyvault - tests

/azp run python - keyvault - tests

/azp run python - keyvault - tests

/azp run python - keyvault - tests

/azp run python - keyvault - tests

/azp run python - keyvault - tests-weekly

/azp run python - keyvault - tests-weekly

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-administration - tests-weekly

API change check
API changes are not detected in this pull request.

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-administration - tests-weekly

/azp run python - azure-keyvault-keys - tests-weekly

/azp run python - azure-keyvault-administration - tests-weekly


Updating ThermoML dataset section of README.md to clarify format vs source issues

Clarifying that a ThermoMLDataset provides access to a dataset in the ThermoML format, even if it does not come from the ThermoML archive proper, as originally I didn't understand this point.

Looks good. Maybe we can extend this to provide a few different ways to pull in ThermoML files:

Pull in a single ThermoMLDataset from the ThermoML Archive via its DOI:

dataset = ThermoMLDataset(keys='10.1016/j.jct.2005.03.012')

Retrieve multiple datasets from the ThermoML archive:

thermoml_keys = ['10.1021/acs.jced.5b00365', '10.1021/acs.jced.5b00474']
dataset = ThermoMLDataset(keys=thermoml_keys)

Grab all ThermoML files from a different URL

dataset = ThermoMLDataset(url='http://openforcefieldgroup.org/thermoml-datasets')

Grab data from a local path

dataset = ThermoMLDataset(url='file:///Users/choderaj/thermoml')

Grab a specific DOI from a different URL

dataset = ThermoMLDataset(keys=['10.1021/acs.jced.5b00365', '10.1021/acs.jced.5b00474'], url='http://openforcefieldgroup.org/thermoml-datasets')

Grab data from the ThermoML and also from another URL

dataset = ThermoMLDataset(keys=thermoml_keys)
dataset.retrieve(keys=local_keys, url='http://openforcefieldgroup.org/thermoml-datasets')

@jchodera - that looks good to me. Did you want me to put this into the README.md as well?

@jchodera - that looks good to me. Did you want me to put this into the README.md as well?

Yes, but please tweak if you think of more use cases or a better API.


After downloading the files with Dockerfile (and Makefile) code has txt extension. Need update the name of the code block for bash.

EPAM AI DIAL chat version
0.23.0
What happened?
Issue1:

Create a chat and send a request like "Generate Dockerfile and Makefile simple examples"
Click on Download button the code block generated for Dockerfile -> suggested name is Dockerfile -> ok
Click on Ok button and check the final file name in downloads history -> the file has .txt extension -> bug
Note: the same is for Makefile

Expected: no extension should be added
Issue2:
Now the code block for bash and sh scripts are always named as bash.
Expected: for sh script the code bloc should be named as sh; for bash script - bash. Extension for both case should be left as .sh
Confidential information

[X] I confirm that do not share any confidential information

Verified on staging env successfully


build: bump versions of dependencies to avoid vulnerabilities

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


[fix][test] Fix flaky test ReplicatorGlobalNSTest#testRemoveLocalClusterOnGlobalNamespace

Fixes #21534
Motivation
The root cause is that retryStrategically only tries to test 50 times, not caring about the result. So the result can be false after 50 times.
MockedPulsarServiceBaseTest.retryStrategically((test) -> !pulsar1.getBrokerService().getTopics().containsKey(topicName), 50, 150);

Then the broker deletes the topic and pulsar1.getBrokerService().getTopics().containsKey(topicName)=false.
But the close command from broker to producer is async, so the producer1(line-97) can be connected at that time.
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Codecov Report

Merging #21708 (30928df) into master (495b141) will increase coverage by 36.62%.
Report is 2 commits behind head on master.
The diff coverage is n/a.

Additional details and impacted files

@@              Coverage Diff              @@
##             master   #21708       +/-   ##
=============================================
+ Coverage     36.75%   73.37%   +36.62%
- Complexity    12271    32654    +20383
=============================================
  Files          1717     1893      +176
  Lines        131197   140714     +9517
  Branches      14339    15502     +1163
=============================================
+ Hits          48220   103249    +55029
+ Misses        76596    29354    -47242
- Partials       6381     8111     +1730

Flag
Coverage Δ

inttests
24.15% <ø> (+0.03%)
:arrow_up:

systests
24.72% <ø> (-0.06%)
:arrow_down:

unittests
72.66% <ø> (+40.79%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
see 1464 files with indirect coverage changes


subscribeProduct

hi
how in subscribeProduct Remove auto-renewal?

This library is not being actively updated. You might want to use the RN library of the cafebazaar itself.


isosurface data rescaling

It would be nice to have the option in the plot_isosurface routine such that the generated isosurface coordinates are mapped back to a user supplied box.
This can now be done by manually scaling back  x,y,z attributes of the generated mesh:
m = p3.plot_isosurface(data,level=0.05)
m.x = (m.x / 300) / (2*np.pi) - np.pi

I am not quite sure if I understand you correctly, however for the scatterplot I was able to set the axis as follows:
fig.ylim = [df.Y.min(), df.Y.max()]
fig.xlim = [df.X.min(), df.X.max()]
fig.zlim = [df.Z.min(), df.Z.max()]

Inspired by the answer here; https://stackoverflow.com/questions/2849286/python-matplotlib-subplot-how-to-set-the-axis-range

Solved in #117


IIIF manifest includes incorrect Cantaloupe url when the api key parameter is included

When requesting the manifest from the frontend /iiif endpoint with the api param included, the image source uri in the manifest contains "___null" for some reason.
The api key value may not be getting to the function that builds the source uri

The api key is fine, the filename is incorrect

Updated to not append a filename if the object path is missing, manifest will display uri with pid only, no filename/delimiter


ssdb native protocol parser

Hi, I have created ssdb protocol parser for python and node.js, they are very fast.

Python port: https://github.com/hit9/spp_py
Nodejs port: https://github.com/hit9/spp_node

Just like hiredis-node to redis and hiredis-py to redis.
Could you add them somewhere in ssdb's docs?

Hi, can you add some demo that actually interact with a ssdb-server instance?

They are just protocol parsers, used in ssdb client libs: ssdb.py and (node-ssdb)(https://github.com/eleme/node-ssdb). They can be demos (at some point.. :)).

Hi, since spp_py is the base of ssdb.py project, I think you should describe spp_py in detail in ssdb.py project, and give a more meaningful description about ssdb.py in http://ssdb.io/docs/clients.html#python

@ideawu Ok. Thanks.


No longer working properly on Joomla 5.x?

This is one of the very few components/code I could find online for educational purposes, I use it to learn Joomla.
Unfortunately it doesn't seem to work properly on Joomla anymore! 5 the menu item: "Hello World -> This view displays a selected message" returns this error:
0 Attempt to assign property "text" on null
Call Stack
1	()	JROOT\components\com_helloworld\src\View\Helloworld\HtmlView.php:30
2	Robbie\Component\Helloworld\Site\View\Helloworld\HtmlView->display() JROOT\libraries\src\MVC\Controller\BaseController.php:697
3	Joomla\CMS\MVC\Controller\BaseController->display()	JROOT\components\com_helloworld\src\Controller\DisplayController.php:31
4	Robbie\Component\Helloworld\Site\Controller\DisplayController->display()	JROOT\libraries\src\MVC\Controller\BaseController.php:730
5	Joomla\CMS\MVC\Controller\BaseController->execute()	JROOT\libraries\src\Dispatcher\ComponentDispatcher.php:143
6	Joomla\CMS\Dispatcher\ComponentDispatcher->dispatch()	JROOT\libraries\src\Component\ComponentHelper.php:361
7	Joomla\CMS\Component\ComponentHelper::renderComponent()	JROOT\libraries\src\Application\SiteApplication.php:218
8	Joomla\CMS\Application\SiteApplication->dispatch()	JROOT\libraries\src\Application\SiteApplication.php:261
9	Joomla\CMS\Application\SiteApplication->doExecute()	JROOT\libraries\src\Application\CMSApplication.php:306
10	Joomla\CMS\Application\CMSApplication->execute()	JROOT\includes\app.php:58
11	require_once()	JROOT\index.php:32

With this "menu item" I should be able to understand how the Parse Url works, but unfortunately it doesn't work.
Am I doing something wrong or is the component no longer compatible with Joomla 5.x/5.2?

I've tried it on Joomla 5.2.0 and 5.2.2 and it's working ok.
The error you're getting would indicate that the URL of the HTTP request is for an id of a helloworld record which doesn't exists.
So some things to check:
If you're using a menuitem then check the Link field of the menuitem and make sure that the id= parameter refers to a helloworld record that is actually in the database.
Similarly if you're not using SEF URLs, but using the Joomla internal format, then check that the id= URL query parameter refers to a helloworld record which exists in the database.
If you still can't see why it should fail you could try stepping through the Helloworld Model getItem() function.

I'll try again, it's the only tutorial I found.
Thanks for posting it!

I wrote up a module tutorial for Joomla 4+ at https://manual.joomla.org/docs/building-extensions/modules/module-development-tutorial/, so you might find that useful as well.


[Bug]: internal error: entered unreachable code

System Info
System:
OS: macOS 14.5
CPU: (8) x64 Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz
Memory: 2.04 GB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 20.11.1 - ~/.nvm/versions/node/v20.11.1/bin/node
npm: 10.2.4 - ~/.nvm/versions/node/v20.11.1/bin/npm
pnpm: 8.15.7 - ~/.nvm/versions/node/v20.11.1/bin/pnpm
Browsers:
Chrome: 127.0.6533.120
Safari: 17.5
Details
Hello,
I've tried to update axios to 1.7.4 and here is the result of the production build.
Panic occurred at runtime. Please file an issue on GitHub with the backtrace below: https://github.com/web-infra-dev/rspack/issues
Message:  internal error: entered unreachable code
Location: crates/rspack_plugin_javascript/src/dependency/esm/provide_dependency.rs:79

Run with COLORBT_SHOW_HIDDEN=1 environment variable to disable frame filtering.
Run with RUST_BACKTRACE=full to include source snippets.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 1: _napi_register_module_v1
    at <unknown source file>
 2: _napi_register_module_v1
    at <unknown source file>
 3: _napi_register_module_v1
    at <unknown source file>
 4: _napi_register_module_v1
    at <unknown source file>
 5: _napi_register_module_v1
    at <unknown source file>
 6: _wasmer_vm_imported_memory32_atomic_notify
    at <unknown source file>
 7: _wasmer_vm_imported_memory32_atomic_notify
    at <unknown source file>
 8: _napi_register_module_v1
    at <unknown source file>
 9: _napi_register_module_v1
    at <unknown source file>
10: _napi_register_module_v1
    at <unknown source file>
11: _napi_register_module_v1
    at <unknown source file>
12: _napi_register_module_v1
    at <unknown source file>
13: _napi_register_module_v1
    at <unknown source file>
14: _napi_register_module_v1
    at <unknown source file>
15: _napi_register_module_v1
    at <unknown source file>
16: _napi_register_module_v1
    at <unknown source file>
17: _napi_register_module_v1
    at <unknown source file>
18: _napi_register_module_v1
    at <unknown source file>
19: _napi_register_module_v1
    at <unknown source file>
20: _napi_register_module_v1
    at <unknown source file>
21: _napi_register_module_v1
    at <unknown source file>
22: _napi_register_module_v1
    at <unknown source file>
23: _napi_register_module_v1
    at <unknown source file>
24: _wasmer_vm_imported_memory32_atomic_notify
    at <unknown source file>
25: _napi_register_module_v1
    at <unknown source file>
26: _napi_register_module_v1
    at <unknown source file>
27: _napi_register_module_v1
    at <unknown source file>
28: _napi_register_module_v1
    at <unknown source file>
29: __pthread_start
    at <unknown source file>
 ELIFECYCLE  Command failed.

Reproduce link
No response
Reproduce Steps

Clone this repo: https://github.com/centreon/centreon
Go to centreon/centreon and install dependencies using pnpm@8
Update axios using pnpm update<EMAIL_ADDRESS>Build using pnpm centreon:build
-> You can find the same error message

It's a bug. The real reason for your issue is process/browser cannot be resolved from 'axios', because if the provided dependency is relative path
However due to the default errors are all batched, the build process is not finished here, causing some UB in the seal phase
It is resolved based on current context, and axios do not have process dependency
So make sure use right configuration

I'll fix this unreadable panic message, thanks for providing detailed repro ❤

Thanks for the resolution ❤


Install should use vendored ruby or warn user if irb is not present

install.sh currently only checks if ruby is present, but Linuxbrew also requires irb which is not guaranteed to be present (https://github.com/Linuxbrew/brew/issues/931).
The installer script should either use a vendored ruby in this case, or warn the user that irb is required.

I believe that irb should only really be required by the brew irb command. It's a bug that brew crashes if irb is not otherwise available. Would you like to take a stab at fixing it? Here's the problematic line:
https://github.com/Homebrew/brew/blob/a75a8c69b39aa9584c299d37826a1700256e8ab8/Library/Homebrew/debrew/irb.rb#L1

This repository is deprecated. It has been merged into Homebrew/install.


1.3.1 (patch) release included breaking changes (auto-injecting css)

Describe the bug 📝
Hey all, the 1.3.1 patch version (marked as latest) included a breaking change, which should not be the case, as it's just minor not a major release.
This is the release commit, which is title 1.3.0 but the npm package version is 1.3.1: https://github.com/IFCjs/components/commit/5bff295d3aecedcdcdac76b651c0cc1f3bd91d37
The auto-inject of styles broke our app, by simply applying global styles automatically (we had manual stylings which were scoped before). For example all scroll bars in our app now look purple.
This is the PR which added the auto-injection of styles (which is a good idea, although it should be toggleable): https://github.com/IFCjs/components/pull/218
But this should not happen during a patch release, as those are expected to be only bugfixes and not any major changes which requires migration by the consumers of the packages.
I'd vote to revert those changes and wait for the next major release. Until the major release we can make the styles injectable by calling a method explicitly (like injectStyles). Then, with the next major release, inject them as a default and make it possible to disable that behaviour.
Reproduction ▶
No response
Steps to reproduce 🔢
No response
System Info 💻
System:
    OS: macOS 14.1
    CPU: (14) arm64 Apple M3 Max
    Memory: 92.34 MB / 36.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 18.19.0 - ~/Library/pnpm/node
    npm: 10.2.3 - ~/Library/pnpm/npm
    pnpm: 8.12.0 - ~/Library/pnpm/pnpm
  Browsers:
    Chrome: 120.0.6099.234
    Safari: 17.1
  npmPackages:
    openbim-components: 1.3.1 => 1.3.1

### Used Package Manager 📦

pnpm

### Error Trace/Logs 📃

_No response_

### Validations ✅

- [X] Read the [docs](https://docs.thatopen.com/intro).
- [X] Check that there isn't [already an issue](https://github.com/IFCjs/components/issues) that reports the same bug to avoid creating a duplicate.
- [X] Make sure this is a repository issue and not a framework-specific issue. For example, if it's a THREE.js related bug, it should likely be reported to [mrdoob/threejs](https://github.com/mrdoob/three.js) instead.
- [X] Check that this is a concrete bug. For Q&A join our [Community](https://people.thatopen.com/).
- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.

Not only is the library casually polluting global :root, *, ::before, ::after, html, .container, scrollbars etc, but the way the stylesheet is loaded is also pretty crazy:
    const fetchResponse = await fetch(
      "https://raw.githubusercontent.com/IFCjs/components/main/resources/styles.css"
    );

So resources/styles.css can never be renamed or deleted from the repository, or existing installations will suddenly just lose their styles. Also good luck trying to even maintain that file when all changes to it will also affect previous versions 👍

Hi @NiklasPor!
Are you using the built-in UI from components?

Actually not, but some components throw errors if the UI isn't enabled, so I still have it enabled (but I'm not rendering anything with components).

Awesome, all of this sounds good. I'd obviously disagree on the breaking change part, as the update broke the styles of our app.
For the uiEnabled issue, acrtually I don't have it anymore. Might've been in an older version (I didn't check if this still appears every upgrade).
Thanks for all the hard work 👏

@HoyosJuan actually I still get one error when I disable the ui, the components.dispose() call throws:

Should I open a separate issue?

I have another suggestion to the auto injected styles. It would be nice to have the compiled styles and also the "Material Icons" font in the npm package to load it manually. Loading google fonts from their website is especially in the EU kind of critical because of GDPR.

The auto-injected CSS issue should be solved in the latest version of the libraries, as we have decoupled all the UI-related logic to a separate library. As for the breaking changes - sorry. We are a small team advancing fast, but from now on, all patch versions should be non-breaking. If that's not the case in the future, let us know! Cheers


BigDecimal instead of Float?

How would you feel about changing from using Float to BigDecimal internally?
We've done this in our fork of paypal-express, though we're now looking at upgrading to your better-maintained fork.
I believe the library avoids float-rounding errors currently by only guaranteeing two-decimal precision, and truncating (not rounding) longer numbers to two decimals. Using BigDecimal instead could be a less fragile way of achieving the same, though maybe it wouldn't be worth to change what isn't broken?
This is what our change looked like, anyway:

https://github.com/barsoom/paypal-express/commit/b5a7f0af53cb0c92141a028ecc4f11577e52af86
https://github.com/barsoom/paypal-express/commit/51d74a59141bf58aa56721d0c4b69b37c5730747

Hi Henrik,
The truncation doesn't so much avoid errors as hide them to keep PayPal happy. I agree that rounding is better than truncation for PoLS but I'd be tempted to go one further and check that the value given is two decimal places and raise otherwise. This puts the onus on the user to truncate or round. I'm happy to start with your change and go further later and see if there's any upset.
I have no problems with users passing in floats other than in the above case. But let's update wiki and specs to set a better example like you've suggested.
Returning a BigDecimal back out of the API is much more responsible. I can't see this causing any unexpected behaviour changes, can you?
Thanks!

I like the idea of having the user do the rounding or truncation!
I agree, returning BigDecimals seems a better way to go. It should be trivial to add on a .to_f if anyone really needs that, but they should work the same (only without rounding issues) in most contexts.
Thank you!


Should the permissions to clone a PVC (DV's source) while creating VM, still be checked if the DV and PVC are already created?

It's more of a question than a bug.
What happened:
I am trying to create a VM that has datavolume source set to a PVC from different namespace. Let's say this is the VM that I have. When I create this VM this is the error that I see
The request is invalid: spec.dataVolumeTemplates[0]: Authorization failed, message is: User system:serviceaccount:vmtwo:default has insufficient permissions in clone source namespace vm-source

This error message seems logical that the SA is not authz to clone the other namespace, but I was thinking if we should even do this validation if in this particular case the datavolume and respective PVC for the VM are already available in the VM's namespace. Or in other words for this example should we even do this validation if the VM's DV rhel8-vm-02 and PVC rhel8-vm-02 are already available in the  vmtwo namespace?
How to reproduce it (as minimally and precisely as possible):
Create the VM mentioned above and we would see an authz related problem.

@mhenriks @awels @akalenyu

auth should be skipped if the dataVolume exists and has the cdi.kubevirt.io/storage.prePopulated annotation

auth should be skipped if the dataVolume exists and has the cdi.kubevirt.io/storage.prePopulated annotation

yep https://github.com/kubevirt/kubevirt/blob/3a2b0b04ca06fbfa784c2ba3415f58e6b3ca8421/vendor/kubevirt.io/containerized-data-importer-api/pkg/apis/core/v1beta1/authorize.go#L104-L106

Reproducing issue
I just verified this and things don't seem to work. Below are the details. I have a VM that is specifying datavolume named rhel8-vm-02 in its resource manifest. The datavolume's source is set to a PVC in different namespace
spec:
      source:
        pvc:
          name: rhel8-vm-01
          namespace: vm-source

The compete VM manifest can be found here.
Now, we can check the referred DataVolume and respective PVC to make sure they are bound to each other and respective annotations are also set.
Check the annotation on datavolume:
k get dv -n vm-target rhel8-vm-02
NAME          PHASE       PROGRESS   RESTARTS   AGE
rhel8-vm-02   Succeeded   100.0%                15m

k get dv -n vm-target rhel8-vm-02 -ojsonpath='{.metadata.annotations}' | jq
{
  "cdi.kubevirt.io/cloneType": "csi-clone",
  "cdi.kubevirt.io/storage.clone.token": "...",
  "cdi.kubevirt.io/storage.prePopulated": "rhel8-vm-02",
  "cdi.kubevirt.io/storage.usePopulator": "true"
}

Check the PVC and it's annotation:
k get pvc -n vm-target rhel8-vm-02
NAME          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS                                 AGE
rhel8-vm-02   Bound    pvc-0d5fe4cf-dfab-4490-8f7d-8dc29bb9994d   32Gi       RWO            ocs-storagecluster-ceph-rbd-virtualization   16m

k get pvc -n vm-target rhel8-vm-02 -ojsonpath='{.metadata.annotations}' | jq
{
  "cdi.kubevirt.io/clonePhase": "Succeeded",
  "cdi.kubevirt.io/cloneType": "csi-clone",
  "cdi.kubevirt.io/createdForDataVolume": "d904ec7d-301d-4d02-9b4b-8ed61c67022d",
  "cdi.kubevirt.io/storage.condition.running": "false",
  "cdi.kubevirt.io/storage.condition.running.message": "Clone Complete",
  "cdi.kubevirt.io/storage.condition.running.reason": "Completed",
  "cdi.kubevirt.io/storage.contentType": "kubevirt",
  "cdi.kubevirt.io/storage.pod.restarts": "0",
  "cdi.kubevirt.io/storage.populatedFor": "rhel8-vm-02",
  "cdi.kubevirt.io/storage.populator.progress": "100.0%",
  "cdi.kubevirt.io/storage.preallocation.requested": "false",
  "cdi.kubevirt.io/storage.usePopulator": "true",
  ...,
  "pv.kubernetes.io/bind-completed": "yes"
}

and even after that if I go ahead and create the VM, below is the error that we get into.
k create -f vm-02.yaml -n vm-target
The request is invalid: spec.dataVolumeTemplates[0]: Authorization failed, message is: User system:serviceaccount:vm-target:default has insufficient permissions in clone source namespace vm-source

Server versions
I am on OCP version 4.15.5, so KubeVirt version would be 1.1 and CDI would be  1.58.0.

/assign akalenyu
Just summarizing the findings. The bug is in that we discard these annotations completely in the webhook: https://github.com/kubevirt/kubevirt/blob/3a2b0b04ca06fbfa784c2ba3415f58e6b3ca8421/vendor/kubevirt.io/containerized-data-importer-api/pkg/apis/core/v1beta1/authorize.go#L104-L106 This is because https://github.com/kubevirt/kubevirt/blob/3a2b0b04ca06fbfa784c2ba3415f58e6b3ca8421/pkg/virt-api/webhooks/validating-webhook/admitters/vms-admitter.go#L358-L361 and dataVolume is never grabbed from the API server https://github.com/kubevirt/kubevirt/blob/3a2b0b04ca06fbfa784c2ba3415f58e6b3ca8421/pkg/virt-api/webhooks/validating-webhook/admitters/vms-admitter.go#L336

Does your problem have been solved now? I created a VM in the same way as you and got the same error. @viveksinghggits

Does your problem have been solved now? I created a VM in the same way as you and got the same error. @viveksinghggits

It looks like the PR that fixes this is merged, but it not part of the KubeVirt release 1.3.1. So we will have to wait for the next release of KubeVirt. That should have this improvement.


Add a mechanism to access and process data in the extras objects

All object definitions in glTF 2.0 can have an optional 'extras' property, which is an object that can hold application specific data. The loader needs some mechanism to access and process this data.

Fixed in https://github.com/playcanvas/playcanvas-gltf/commit/6b9b76ef40772df80c048e69b42c2a8b9f465e08


fix(anvil): increase timestamp offset by 1 sec if manually set

Motivation
the timestamp's resolution is seconds, if manually set (evm_setNextBlockTimestamp), followed by an immediate evm_mine both blocks can have the timestamp.
since this is manually set, it would make sense to make sure that the next block will definitely have a newer timestamp.

Solution

Hello. Just wanted to check that this was an intentional change and not a regression:
The starting block.timestamp when running tests is now 1 when it used to be 0. This caused some of our test suite to break, as we emit events with a timestamp in and we're expecting a specific value in the test.
Fixing is trivial but just wanted to check if this was expected. Thanks

sorry, but in what context is this supposed to be 1 or 0?
did you set this manually to 0 first?

@Willyham block.timestamp used to default to 0 but that was changed in https://github.com/foundry-rs/foundry/pull/1449

ah so this is related to forge test and unrelated to anvil, @Willyham ?

Yes sorry. Not familiar with the internals of forge so assumed this was related based on the title. My issue was only related to running forge test as @onbjerg points out.
As an aside, maybe time to think about cutting semver versions? I could help set up some of the tooling etc for that

we still break things constantly, that's the main reason we're not doing it, so currently there's only a nightly release channel, because it's hard to mark a release version just because we're constantly fixing things.
we also don't publish on crates.io because publishing monorepos is still a pain.
I guess you're referring to publishing certain semver versions that can be foundryup'ed? that be nice to have I think, wdyt @onbjerg ?

Yep, the main issue was just having different behaviour on CI (because it always installs the latest nightly foundry to run the tests) causing tests to fail. I guess it's possible to pin to a specific nightly build in CI and then use that locally, though I'm not sure how long those tags stay alive as I only see the last 3 in the repo. Ideally just a pre-release semver tag to match the version reported by forge --version would be ideal.
(ps. Happy to move this discussion elsewhere if more useful)

We intentionally do not keep more than 3-4 days worth of nightlies since we want people to update for now. Once we cut a release this will change


The packaged version released on PyPi is in debug mode

Maybe it is better to release the PyPi package in release mode
(on my own machine, the binaries in release mode are much smaller and faster)

Thank you, that was a bug.
Fixed in version 0.0.33, see #12 (docker was re-built and pushed to docker hub, also updated pdfium to 4196)


Add policy buttons to physical server page

This PR enables:

policy buttons to be displayed in Physical Server page.

@juliancheal @AparnaKarve

LGTM 👍

@miq-bot assign @agrare

LGTM as well


Don't limit catalog files to their first three extents

Until today, every HFS volume I'd seen had either a completely contiguous catalog file, or at least a catalog file that fit in three extents. (Particularly as I'd mostly been looking at CD-ROMs. Why wouldn't the CD-ROM mastering software defragment it? Such programs generally did, resulting in zero fragmentation and generally empty extents overflow files.)
Enter this thing: https://macintoshgarden.org/apps/mac-collection-v9
The catalog file actually occupies four extents (and its logical length is inaccurate, being the sum of the lengths of the first three, ignoring the fourth). And there are live nodes in that fourth extent, so reading only the first three extents means impluse fails to read the catalog file.

Needed:

Consistency checking of the catalog file, at least in analyze
Look up the catalog file in the extents overflow file

Encountered 6677 nodes
Encountered 14699 files, 4925 folders (including root directory), 4925 threads
Volume header says it has 14699 files, 4924 folders (excluding root directory)


Request feature: supporting larger output files

Is your feature request related to a problem? Please describe.
When I try to parse a bands.out file containing about 10000 lines, I get this error:
ERROR: PCRE.exec error: JIT stack limit reached
Stacktrace:
 [1] error(s::String)
   @ Base .\error.jl:33
 [2] exec(re::Ptr{Nothing}, subject::String, offset::Int64, options::UInt32, match_data::Ptr{Nothing})
   @ Base.PCRE .\pcre.jl:197
 [3] exec_r_data
   @ .\pcre.jl:210 [inlined]
 [4] match(re::Regex, str::String, idx::Int64, add_opts::UInt32)
   @ Base .\regex.jl:371
 [5] match
   @ .\regex.jl:369 [inlined]
 [6] match
   @ .\regex.jl:388 [inlined]

The error is thrown at this line.
Describe the solution you'd like
Appropriate pre-processing to avoid blowing up the regex module, or maybe increasing the JIT stack as is suggested by the error message?

Hi @jywu20, I have never thought a 10000 lines of data would make it out of memory. I am not familiar with how PCRE works but it seems that it is a problem of PCRE and not unique to our code or Julia:

pcre error -27 (JIT stack limit) on long regex string
PCRE JIT stack size limit
RegEx not working for long pattern PCRE's JIT compiler stack limit - PHP7

Yeah, I have checked all the three links before I submitted this issue. The location of this error is quite straightforward: it has nothing to do with the logic of the QuantumESPRESSO part. What concerns me is there seems to be no well-documented method to increase the memory allocated for PCRE. This post provides a ccall code to increase the allocation, which I tried but it didn't work.


Jasmine to accept invitation to become a collaborator.

Hey Jasmin,
Please can you accept an invitation to become a collaborator on this project. You should have an email from GitHub that was sent on Saturday (it might be in your junk box).
If you have any problems you can leave a comment on this issue and we will be around to help you out.

Thanks Peter.
I've just been looking through all the issues/comments, it's all very exciting!
I have put together a rough template of ideas and basic images of what the App could look like. It’s on Microsoft Word so was just wondering how I can send this across to you and Ewelina for your thoughts.

Hi @Jasminpatel1 thank you for looking over everything, I hope you have not found it too overwhelming. I think you can drag the word document into a comment in an issue (where we are writing now) and we will be able to download it. You can definitely do this with a PDF.

Thanks, I'm next in the office tomorrow so will send it over to you then. By the way do you have the timelines of when the prototype is going to be finished by? I have lots to share with you both

Hi Peter, I'll send this across shortly, hopefully by tomorrow. Just to double check when is the deadline for the MVP to be completed by? I have quite a few ideas to share!! Is this the best method of communication?

@Jasminpatel1 We'll be finishing the prototype at the end of Thursday, so if you have ideas you'd like to be implemented tomorrow & thursday then sharing it here by early tomorrow would be ideal.
We'll be having a morning-standup meeting some time between 10-10:30am tomorrow, in which we discuss our current progress & plans for the day. If you're able to join us remotely we could chat with you then as well?

Hi, this looks good and seems very appropriate for the younger kids. I attach my draft version of the App, this is what I envisaged it to look like and I wonder if it is more suited for children aged 7/8 years old up to 12 years? Let me know what you both think and what is possible in the time frame.

I tried attaching the pdf here, also tried dragging and dopping but it doesn't work. I will try again tomorrow.

Thanks Jasmine, I am happy for you to email it to me at<EMAIL_ADDRESS>

Thanks Peter, I think it will work now as I have changed the web browser. Please let me know if the attachment comes through.
Welcome to CAMHS App-Jasmin Patel Jan 2016.pdf

Hello Jasmine, thank you for the pdf.
If you are free to chat at any time today via phone call that would be great and we will be here until 6pm. This may be the most efficient way to get a clear idea of what you would like design wise.
In response to the tweaking of the app to fit more inline with what you feel is appropriate for 8 - 12 year olds, we have had a chat with Bradley and have come up with a plan. We're confident that we can do this but not in time for the pitches to Anna Freud tomorrow. We are going to create the 3 more pages today in the same style so that we can present a solid and cohesive product, next week when you test the product on the age range we should be able to get some clear feedback from the young people about their thoughts on the style and if they think it is suitable for them. If we win the contract we would be able to easily take this feedback and create imagery that is most appropriate.
Does this sound ok?

Hi Peter, thats sounds great.
I can call you now if you would like, wha number are you on?

Hi Jasmin my number is<PHONE_NUMBER>6 (note-to-self, delete my number from here later)

Hi Jasmin, are you free tomorrow evening from 5.30pm-7.20pm to re-pitch your product using the prototype that Ewelina and I are creating? Sorry for asking you so late notice. I believe that you will have the prototype to test/run past some young people next week, but you won't be expected to present again after tomorrow.

@RhodesPeter @Jasminpatel1 my understanding is that we'll be presenting the prototypes tomorrow and that you'll need to prepare your presentation for a separate evening next Thursday. Apologies for any confusion if I'm mistaken, I was out of office when Peter spoke to you earlier.
@MHemsley @CYPIAPT-admin Could you confirm if this is correct?

Hi, thank you. that's great! see you all tomorrow.

We have an update from Alex:
Dear All,
A reminder that tomorrow evening (Thursday 2nd February from 5:30pm) the working prototypes will be presented to the group of product owners and developers at a Prototype Handover event.
Food and refreshments will be available from 5:30pm and each of the six teams will have 10mins to present their app. The session will close soon after 7pm.
The purpose of the event is to handover the apps to product owners and for the whole group to see the apps so far.
Product owners will be then be gathering feedback over the next week, in preparation for the Pitch event on 9th February (5:30pm onwards, as for the Prototype Handover) by their product owners and developers for a panel to choose which 2 apps will be developed further.

I am closing this issue as it refers to the prototype. We will raise new issues for the MVP.


Fix exception fingerprinting spark test

The test was previously failing due to a NPE because mapreduce.jobhistory.done-dir was null because new Configuration() was not loading mapred-default.xml by default. Added conf.addDefaultResource("mapred-default.xml"); to fix this.

Looks like a different error now:
Caused by: java.lang.RuntimeException: Unable to read AggregatorConf.xml
	at com.linkedin.drelephant.util.Utils.loadXMLDoc(Utils.java:89)
	at com.linkedin.drelephant.ElephantContext.loadAggregators(ElephantContext.java:149)
	at com.linkedin.drelephant.ElephantContext.loadConfiguration(ElephantContext.java:121)
	at com.linkedin.drelephant.ElephantContext.<init>(ElephantContext.java:109)
	at com.linkedin.drelephant.ElephantContext.instance(ElephantContext.java:102)
	at com.linkedin.drelephant.exceptions.core.ExceptionFingerprintingSpark.<clinit>(ExceptionFingerprintingSpark.java:64)
	... 68 more

All tests pass after switching Travis CI command to sbt clean test.

This PR has been merged as part of #576.


ENH: Console formatting for user-defined expression types

The _get_type_display method in ibis.expr.format only recognizes a limited set of built-in expression types. If you define other Expr subclasses, these won't be able to be console-formatted properly when repr is called

done in https://github.com/cloudera/ibis/commit/a576be2bd75d3fab446eadf6d6a71404076304b4


Change BVH traversal to vkCmdDispatchIndirect

Should use vkCmdDispatchIndirect to save more threads when launching cluster culling after bvh traversal

Finished. Around 10% fps increase.
Tested on RTX3060 . 15 x 15 dragon scene. 144(before) to 158(enhanced)


Fix typo: requires_python -> python_requires.

See python_requires documentation.
Currently the package is installed irrespective of Python version.
With this change we now have the following when attempting an installation in an environment with a Python version < 3.9:
(venv38) resc-backend % pwd
/Users/markbyrne/programming/repository-scanner/components/resc-backend
(venv38) resc-backend % pip install -e .

ERROR: Package 'resc-backend' requires a different Python: 3.8.0 not in '>=3.9'

hi @mbyrnepr2, if you could rebase your branch, the latest changes on main should fix the current issue.
Thanks :)

Thanks for the review @fatma-dahmane! I think its good to go.

Hi @mbyrnepr2 once again thank you for the contribution, can you sign your commit, an unsigned commit is a pipeline blocker.
Thanks in advance.


Prompt user to save when attempting to run an action

Instead of complaining that the file is dirty, ask them if the user wants to save it first and then continue with the action.

Released in 0.5.9.


Add aten reshape

Details:

[x] add aten::reshape operator
[x] add layer test for aten::reshape operator

Ticket:
94262

@bszmelcz, can we go forward with this? If new changes are done to cover all feedback gathered, please retrigger review request to @mvafin.

@bszmelcz Please create ticket to move ListConstruct handling to transformation step.

@mvafin It is already created :)


WritePatchByType

We need the ability to output DDL scripts by type, similiar to that of the WriteDDLByType() method.
Due to our database team's strict requirements, each DocumentType table will need to have its own DDL script that will include GRANT privileges all the way down to the column level.  Separating each DocumentType into its own DDL patch script will help in automating the creation of these delta scripts and managing those grants by our database team.
Included in this is the ability to persist these document types with a different file naming convention that will work with our database versioning framework; adding an iterative prefix to the filename is all we require.  So the ability to pass a function into the method that would be ran on each document type, overwriting the default file name, would suffice.  We are using a versioning framework called Sqitch.  the file naming convention we plan on using as an example is 2016-07-27T130102.TW-15485.{documentTypeName}.sql.  We would want to prepend a ISO 8601 timestamp with our database team ticket number to the original file name; the document type name.
This is a low priority item.  We can name and split these scripts up by hand for now.

@bradyclifford That's already possible, though arguably complicated and ugly. Here's how you'd do that today, assuming that you had your own tooling around it.
For the short term, how about an extension method on IDocumentSession for WritePatch(Type documentType) that just encapsulates the mess below.
For the longer term (the week of the 15th), I'd like to go ahead and make a 2nd Marten package w/ a command line tool that includes some kind of mechanism to allow you to write Sqitch files w/ WritePatch().
var mapping = store.Schema.MappingFor(typeof(YourDocumentType));
var patch = new SchemaPatch();
mapping.SchemaObjects.WritePatch(store.Schema, patch);

var sql = patch.UpdateDDL;


Compose spec

One of the great features of clojure.spec is the ability of merging specs, because they are essentially data (ok macros are still in the way, but nothing is perfect).
At the moment js.spec does not do that, but it would be great if we could do something like:
const aSpec = S.spec.map("a spec", {
  a: S.spec.object,
  b: S.spec.object,
});

const composedSpec = S.merge(aSpec , {
  c: S.spec.object
}

Ok the example does not make too much sense, but we should be composing and reusing specs.
...I have had a look at the code and this is actually a big shift because of the use of class...still think is worth doing it...maybe the S.merge function can just merge the fields...

So you're saying neither Spec.or nor Spec.and will work. Can you provide a link to the Clojure Spec docs section that shows how to do this?

It is more on the composition of each individual spec, where one just adds fields on top of the other.
In normal spec there is a merge:
(s/def :animal/kind string?)
(s/def :animal/says string?)
(s/def :animal/common (s/keys :req [:animal/kind :animal/says]))
(s/def :dog/tail? boolean?)
(s/def :dog/breed string?)
(s/def :animal/dog (s/merge :animal/common
                            (s/keys :req [:dog/tail? :dog/breed])))
(s/valid? :animal/dog
  {:animal/kind "dog"
   :animal/says "woof"
   :dog/tail? true
   :dog/breed "retriever"})

Does this only apply to map specs?


Release a new package

Currently the latest version on npm & in package.json is 1.7.0, however there has been a few merges into master since then. I would suggest next version should be 1.8.0 as it will include the bump to the latest vorpal, however I haven't encountered any breaking changes

Thanks. Will do in a little - might revert a change on Vorpal on a messy PR, but in a day or two it will be stable and then ill republish.

@dthree Any update on this?

One year later

Not to be yet another bumper, but would love to use this package if it could be updated.  Anything I can do to help on this?


NoSeriesManagement - add var to handle obsolete No Series[Bug]:

Describe the issue
On the previous versions of BC there was an event:

But now there is new event:

And var is missing despite of that the function in body has a var.
Expected behavior
NoSeriesLine should have var
Steps to reproduce
Create document with No. Series set up.
Additional context
No response
I will provide a fix for a bug

[X] I will provide a fix for a bug

### Tasks
- [ ] https://github.com/microsoft/BCApps/pull/1267

@AndreasMoth, could you please triage this issue?

@bussik please review the PR https://github.com/microsoft/BCApps/pull/1446

When can we expect fixes available to install? @JesperSchulz @grobyns

@bussik hotfix is on the way :) We started rolling it out last week and will continue to roll it this week.
If you want to test it already now in a docker environment the fix should already be available in the latest artifacts.
New-BcContainer -artifactUrl (Get-BCArtifactUrl -version 24.0 -select Latest -country W1) -accept_eula
Should create a container with the updated No Series module.


Resolves #1309 by only requiring the lodash pieces in use, the overall file size required is reduced

[x] double-check your branch is based on dev and targets dev
[x] Pull request has tests (we are going for 100% coverage!)
[x] Code is well-commented, linted and follows project conventions
[x] Internal code generators and templates are updated (if necessary)
[x] Description explains the issue/use-case resolved and auto-closes related issues

LGTM 💯

Coverage remained the same at 98.578% when pulling 383b0959814f7b87490cf47406e9bab5ca8b5657 on jwinn:feature-1309 into 2e191915fe53f4d0ebfdea6464b7c3443916c234 on mxstbr:dev.

Webpack 2 is supposed to work with namespaced imports, unfortunately, people are still having trouble with it: https://github.com/webpack/webpack/issues/2867. This PR reduces the size of the main chunk by about 60kB 👍 .
LGTM

LGTM


[macOS] Main Thread segfaults before MainWindow is rendered

latest nightly as of typing this issue - https://github.com/mat1jaczyyy/apollo-studio/tree/avalonia-update
the main thread sometimes segfaults (11) both in debug and release mode while loading the main window. not consistent, but happens maybe 2/3 of the time. rarely does bus error (10). doesn't show apple problem report.
lldb stuff i was trying out

Check if that happens before https://github.com/AvaloniaUI/Avalonia/commit/349ffa16002016e346f6a966b170314e78486353

Actually, before https://github.com/AvaloniaUI/Avalonia/commit/8cb5eedcda7e06f76bc0be81dd4cd17f154033a8#diff-2fdb72b7bb56ba34b631da01b12f2f52 which didn't compile

@kekekeks do you know what the corresponding myget cibuild number before that commit would be? i can't seem to find a list of builds by time/commit

@mat1jaczyyy its quite hard to narrow down on devops, but seems to be:
Avalonia.0.8.999-cibuild0003748-beta

doesn't reproduce on Avalonia.0.8.999-cibuild0003748-beta
let me know if i should try any other build

Does that happens with control catalog?
Could you debug our native library with XCode (the path to dylib can be set in this property)?

i can reproduce on latest control catalog from cloned repo.
$ dotnet ControlCatalog.NetCore.dll
Segmentation fault: 11

never used xcode before, currently trying to figure out how to debug

i think that's it

Does that happen with a hello world app from a template? Which OSX version?
The only thing that could go wrong here is NSApp being null for some reason. Please check if  any of the functions in https://github.com/AvaloniaUI/Avalonia/blob/master/native/Avalonia.Native/src/OSX/app.mm get executed.

@kekekeks yes, also happens with hello world template. osx version is 10.12.6.
doesn't look like nsapp is null:

line20 in app.mm (inside InitializeAvnApp) is being hit when i put a breakpoint, after continuing execution i'm greeted with the same EXC_BAD_ACCESS.
note that this doesnt reproduce consistently, it takes a couple attempts to get it but it always surfaces eventually. this screams race condition to me.

@mat1jaczyyy are you building avalonia yourself?

i can repro this both from myget, and when i build avalonia myself @danwalmsley

I upgraded my computer to Mojave 10.14, can't reproduce anymore on cibuild0004405 on both netcoreapp2.2 and netcoreapp3.0 (when I made the issue I was using 2.2).
Perhaps it's 10.12 specific. No clue if this happens on 10.13 though. Might have just been my computer going wonky tbh it was begging for a reinstall for a while now

I'm using 10.13 for testing. Not sure if we should still support 10.12 since extended support from Apple ended this September.

@kekekeks @mat1jaczyyy shall we close this?

I've checked with 10.13 today's morning and it works there

Could this be the same? 2 of our Avalonia based applications are crashing quite consistently 4 times in 10 on Mac OS X 10.12. Sometimes a couple of times in a row, with the following:
Process:               xyz [599]
Path:                  /Applications/xyz
Identifier:            xyz
Version:               <IP_ADDRESS> (<IP_ADDRESS>)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           xyz [599]
User ID:               501
Date/Time:             2019-11-21 14:11:18.676 +0100
OS Version:            Mac OS X 10.12.6 (16G2136)
Report Version:        12
Anonymous UUID:        513457A0-691B-C5C4-1B1F-3A345DF5F4C1
Time Awake Since Boot: 1000 seconds
System Integrity Protection: enabled
Crashed Thread:        0  Dispatch queue: com.apple.main-thread
Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000010010
Exception Note:        EXC_CORPSE_NOTIFY
Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]
VM Regions Near 0x10010:
-->
__TEXT<PHONE_NUMBER>0a6000-00000001090ca000 [  144K] r-x/rwx SM=COW  /Applications/xyz
Application Specific Information:
objc_msgSend() selector name: respondsToSelector:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libobjc.A.dylib                 0x00007fffba75005d objc_msgSend + 29
1   com.apple.AppKit                0x00007fffa337dbcc -[NSApplication(NSAppleEventHandling) _registerRequiredAEHandlers] + 310
2   com.apple.AppKit                0x00007fffa337c57a -[NSApplication finishLaunching] + 123
3   com.apple.AppKit                0x00007fffa337c0f8 -[NSApplication run] + 267
4   libAvaloniaNative.dylib         0x000000010c50089c PlatformThreadingInterface::RunLoop(IAvnLoopCancellation*) + 94
5   ???                             0x000000011b0c2057 0 +<PHONE_NUMBER>
6   ???                             0x000000011b0c1de9 0 +<PHONE_NUMBER>
7   ???                             0x000000011b0c183f 0 +<PHONE_NUMBER>
8   ???                             0x000000011b0c17c8 0 +<PHONE_NUMBER>
9   ???                             0x000000011b0596d3 0 +<PHONE_NUMBER>
10  ???                             0x0000000118409e57 0 +<PHONE_NUMBER>
11  ???                             0x00000001183d45ca 0 +<PHONE_NUMBER>
12  libcoreclr.dylib                0x00000001096c18c7 CallDescrWorkerInternal + 124
13  libcoreclr.dylib                0x000000010952e08d MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 909
14  libcoreclr.dylib                0x000000010940426a RunMain(MethodDesc*, short, int*, PtrArray**) + 682
15  libcoreclr.dylib                0x00000001094044df Assembly::ExecuteMainMethod(PtrArray**, int) + 223
16  libcoreclr.dylib                0x0000000109444174 CorHost2::ExecuteAssembly(unsigned int, char16_t const*, int, char16_t const**, unsigned int*) + 436


docs: update project status

Codecov Report

Merging #628 (7739eb1) into master (b917d2b) will decrease coverage by 0.30%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #628      +/-   ##
==========================================
- Coverage   52.35%   52.05%   -0.31%
==========================================
  Files          95       95
  Lines        3287     3287
==========================================
- Hits         1721     1711      -10
- Misses       1208     1223      +15
+ Partials      358      353       -5

Impacted Files
Coverage Δ

x/schedule/cutoff.go
36.66% <0.00%> (-50.00%)
:arrow_down:

pkg/upload/sftp.go
67.58% <0.00%> (+2.74%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #628 (7739eb1) into master (b917d2b) will decrease coverage by 0.30%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #628      +/-   ##
==========================================
- Coverage   52.35%   52.05%   -0.31%
==========================================
  Files          95       95
  Lines        3287     3287
==========================================
- Hits         1721     1711      -10
- Misses       1208     1223      +15
+ Partials      358      353       -5

Impacted Files
Coverage Δ

x/schedule/cutoff.go
36.66% <0.00%> (-50.00%)
:arrow_down:

pkg/upload/sftp.go
67.58% <0.00%> (+2.74%)
:arrow_up:

Continue to review full report at Codecov.

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


Translations update from Mattermost Weblate

Translations update from Mattermost Weblate for mattermost-languages-shipped/mattermost-mobile-v2.
Current translation status:

Hello @weblate,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

/relese-note-none

/release-note-none


How a PVC related to the 1024 filesystems limitation?

Does this mean I can only have 1024 PVCs?

Hello,
Please take a look at the usage.md
There are 3 volume flavors in the new CSI 2.0
The filesystem-backed flavor is indeed limited by number of filesystems
Snapshot-backed volumes have much larger limits

@sergeyberezansky thanks!

@sergeyberezansky where can I find more details about the security model for the directory-backed volumes?
(I need to understand the isolation model between the volumes)

Only the node that publishes any directory on a filesystem as a CSI volume, actually mounts that filesystem.
Then it performs a mount bind for the particular directory to a separate path, which in turn is bound inside the pod by Kubernetes. So the pod has a root of the volume set to be the directory
In new version, if different mount options are used via storage class definitions, node may mount the filesystem multiple times per actual set of mount options.
The node uses Weka authenticated mount to mount the filesystem (if supported by your Weka cluster version)


differential_evolution with maxiter=0

It would be useful to initialise the population in scipy.optimize.differential_evolution, and calculate the energies of all the population members (to find the fittest member), without going through the evolution process. You could think of this as a quick and dirty brute force search.
It should be possible to do this within DifferentialEvolutionSolver, but setting maxiter=0.  However, the __init__ method has the following code:
self.maxiter = maxiter or 1000

This means that self.maxiter can never be 0. I would like to change the code to:
self.maxiter = 1000
if maxiter is not None:
    self.maxiter = maxiter

This will permit initialisation and calculation of the initial population energies, without evolving the population.

Why not just setting maxiter=1000 in signature?

Test failures are unrelated to this PR.

As you say, it's much easier changing maxiter in signature. However, I'm going to include this simple change in #5606, so am closing this PR.


View live schedule of starred tracks

Seems like we're probably just going to link to SXSW website instead. Backlogging.


.input-group-addon height doesn't match  height

Here is the table-cell, so the padding-top/bottom & line-height is no meaning for the vertical middle

Are you referring to Bootstrap v4? If so, this is a duplicate of #17035.

Hey there!
We're automatically closing this issue since the original poster (or another commenter) hasn't yet responded to the question or request made to them 14 days ago. We therefore assume that the user has lost interest or resolved the problem on their own. Closed issues that remain inactive for a long period may get automatically locked.
Don't worry though; if this is in error, let us know with a comment and we'll be happy to reopen the issue.
Thanks!
(Please note that this is an automated comment.)


"Edit this page" link at the bottom of pages

Add a "edit this page" link at the bottom of editable pages (i.e. "wiki" pages) so that a) our own team can easily edit pages b) others realize they can edit pages and some do so.
Context: All our content is here in github in markdown so people can directly correct it.
Acceptance

[ ] Edit this page or similar at the bottom of each page that comes from markdown/MDX source (so not home page for example)

so easiest way to implement is just to be a part of the MDX layout component

[ ] Links to correct "edit" version of page here on github e.g. /concepts/web3 links to https://github.com/life-itself/web3/edit/main/concepts/web3.md

@rufuspollock
I found your issue intersting,I have solution .
do you agree that i contribute in this project ?
thank you .

@samyberkane04 yes - please jump in and propose your solution or do a pull request.

I think a simple approach to solving this issue is.
Firstly: Add an edit this page link or button in the MDX component
Secondly: Get the file path link using the flattened path returned in the slug.js page
Thirdly: The link ensures it takes the editor to the right edit version of the page on GitHub
Lastly: The editor can edit the page and create a PR
@rufuspollock what do you think?

@AceTheCreator sounds good as an approach.

Comment from @olayway in the PR #159 copied here:

Changes

'Edit this page' button added at the bottom of the guide, claims, and concepts pages

Notes
I've arbitrarily added this option only for /guide, /claims/[...] and /concepts/[...] pages since it didn't make much sense to me to add it for non-wiki-like pages (e.g. notes from our podcasts which I thought should not be subject to external user's changes). However, not adding this button on a particular page doesn't really prevent a user from finding it directly to GitHub and committing changes.
Content protection
There is no way to create protection rules on GitHub for selected paths or files within a project = protection rules can only be set on a whole branch (but I may be wrong). Thus there seem to be a few options we could consider (I'm no expert in this subject so please take it with a grain of salt):
Solution A
Making the main branch protected and allowing commits only through PRs that require reviews from someone from Life Itself.
Solution B
Making the main branch protected and creating a separate non-protected branch, e.g. contributions that anyone could commit to.

potential issues: how to make this non-protected branch (contributions) up-to-date with main branch, so that the content the user sees on the webpage (sourced from main) and intends to edit is the same he will see when clicking on 'Edit this page' (redirects to the page file on contributions branch) are in constant alignment.
possible solution: GitHub Action on push that would automatically pull from main (after someone from Life Itself has pushed some changes) to contributions. However, there may occur some conflicting changes in this case in which such pull would fail, and further action would be required.

Solution C (The best option in my opinion)
Creating an unprotected branch e.g. contributions and creating a submodule of web3 repo, that would point to itself but to its unprotected branch (contributions). So, we would have:

contributions - unprotected branch with:

directories with pages we want others to easily commit to

main - protected branch with:

submodule pointing to the contributions branch of the repo

Flow:

Some user makes changes to any file and commits them to the contributions branch:

cd web3/submodule-with-unprotected-content
# modify files
git add .
git commit -m "modify submodule-with-unprotected-content files"

In order to make these changes reflected on the main branch we would do sth like this:

# on web3 repo main branch
git add submodule-with-unprotected-content
git commit -m "record submodule-with-unprotected-content new SHA1"
git push

Reference: https://stackoverflow.com/a/35307501


Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key event being sent doesn't properly set its modifier flags.

Steps to Reproduce

Create IntegrationTest
in a testWidgets method place following code:

    testWidgets('Success', (tester) async {
    ...
    // Scroll down.
      await tester.drag(find.byType(ListView), const Offset(0, -300));
      await tester.pump();
      await Future.delayed(const Duration(seconds: 5));
    }

While application is waiting during Future.delayed if you do ALT + TAB in the launched window (in my case it is Windows App), following exception occurs.

══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
The following assertion was thrown during a platform message callback:
Attempted to send a key down event when no keys are in keysPressed. This state can occur if the key
event being sent doesn't properly set its modifier flags. This was the event:
RawKeyDownEvent#8fef2(logicalKey: LogicalKeyboardKey#e5ce6(keyId: "0x200000104", keyLabel: "Alt
Left", debugName: "Alt Left"), physicalKey: PhysicalKeyboardKey#f0183(usbHidUsage: "0x000700e2",
debugName: "Alt Left"), repeat: false) and its data: RawKeyEventDataWindows#2bce9(keyCode: 164,
scanCode: 56, characterCodePoint: 0, modifiers: 0)
'package:flutter/src/services/raw_keyboard.dart':
Failed assertion: line 683 pos 7: 'event is! RawKeyDownEvent || _keysPressed.isNotEmpty'

Either the assertion indicates an error in the framework itself, or we should provide substantially
more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

When the exception was thrown, this was the stack:
#2      RawKeyboard.handleRawKeyEvent (package:flutter/src/services/raw_keyboard.dart:683:7)
#3      KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:951:30)
#4      BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:214:49)
#5      _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:393:35)
#6      _invoke2.<anonymous closure> (dart:ui/hooks.dart:186:15)
#10     _invoke2 (dart:ui/hooks.dart:185:10)
#11     _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:40:5)
#12     _Channel.push (dart:ui/channel_buffers.dart:130:31)
#13     ChannelBuffers.push (dart:ui/channel_buffers.dart:326:17)
#14     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:664:22)
#15     _dispatchPlatformMessage (dart:ui/hooks.dart:86:31)
(elided 5 frames from class _AssertionError and dart:async)
════════════════════════════════════════════════════════════════════════════════════════════════════
Test failed. See exception logs above.

Expected results:
Dont' throw this exception, or provide a way to handle gracefully.
Actual results:
Exception Thrown.
Code sample
 testWidgets('Success', (tester) async {

      app.main();
      await tester.pumpAndSettle();

      // Scroll down.
      await tester.drag(find.byType(ListView), const Offset(0, -300));
      await tester.pump();
      await Future.delayed(const Duration(seconds: 5));
    });

Logs
Supplied above.

Hi @reyou
I've tried reproducing this on Windows but the issue didn't happen on my end (even after pressing Alt + Tab several times).
Could you provide a complete minimal sample code along with the output of flutter doctor -v?


Allow users to narrow down type

Hi! Thank you for creating a great package. However, while using it, I noticed I couldn't narrow down the object types using standard TS type guards. For example, given an item: Track | Episode; I can't narrow it down to Track by simply checking item.type === "episode".
This happens because all interfaces share the same SpotifyType, which doesn't guarantee an Episode will always have a "episode" as a type.
Could we change them to simple literal types to benefit from type narrowing? I'd like to file a PR if you're interested.

I will work on this issue when i get some time. You can file a pr if you are interested too.
As for now, you can do it like this,
const track = item as Track;