Cargo build failed in 0.6.4 [windows]

Error compiling openssl-sys:
Executing: cargo  build
Compiling traitobject v0.0.1
Compiling lazy_static v0.1.11
Compiling libc v0.1.9
Compiling pkg-config v0.3.5
Compiling winapi-build v0.1.0
Compiling httparse v0.1.5
Compiling language-tags v0.0.7
Compiling bitflags v0.3.2
Compiling matches v0.1.2
Compiling rustc-serialize v0.3.15
Compiling unicase v0.1.0
Compiling gcc v0.3.8
Compiling typeable v0.1.2
Compiling log v0.3.1
Compiling num_cpus v0.2.6
Compiling winapi v0.1.23
Compiling kernel32-sys v0.1.2
Compiling hpack v0.2.0
Compiling mime v0.0.12
Compiling openssl-sys v0.6.4
Build failed, waiting for other jobs to finish...
failed to run custom build command for openssl-sys v0.6.4
Process didn't exit successfully: D:\a\b\target\debug\build\openssl-sys-149f6ef08ad7404d\build-script-build (exit code: 101)
--- stdout
cargo:rustc-link-lib=dylib=eay32
cargo:rustc-link-lib=dylib=ssl32
TARGET = Some("x86_64-pc-windows-gnu")
TARGET = Some("x86_64-pc-windows-gnu")
CARGO_MANIFEST_DIR = Some("C:\Users\anon\.cargo\registry\src\github.com-1ecc6299db9ec823\openssl-sys-0.6.4")
OUT_DIR = Some("D:\a\b\target\debug\build\openssl-sys-149f6ef08ad7404d\out")
OPT_LEVEL = Some("0")
PROFILE = Some("debug")
debug 0
TARGET = Some("x86_64-pc-windows-gnu")
HOST = Some("x86_64-pc-windows-gnu")
CC_x86_64-pc-windows-gnu = None
CC_x86_64_pc_windows_gnu = None
HOST_CC = None
CC = None
TARGET = Some("x86_64-pc-windows-gnu")
HOST = Some("x86_64-pc-windows-gnu")
CFLAGS_x86_64-pc-windows-gnu = None
CFLAGS_x86_64_pc_windows_gnu = None
HOST_CFLAGS = None
CFLAGS = None
TARGET = Some("x86_64-pc-windows-gnu")
HOST = Some("x86_64-pc-windows-gnu")
CC_x86_64-pc-windows-gnu = None
CC_x86_64_pc_windows_gnu = None
HOST_CC = None
CC = None
running: "gcc" "-O0" "-c" "-ffunction-sections" "-fdata-sections" "-mwin32" "-m64" "-fPIC" "C:\Users\anon.cargo\registry\src\github.com-1ecc6299db9ec823\openssl-sys-0.6.4\src/openssl_shim.c" "-o" "D:\a\b\target\debug\build\openssl-sys-149f6ef08ad7404d\out\src\openssl_shim.o"
failed to execute command: The system cannot find the file specified.
(os error 2)
Is gcc not installed? (see https://github.com/alexcrichton/gcc-rs#windows-notes for help)
--- stderr
thread '' panicked at 'explicit panic', C:\Users\anon.cargo\registry\src\github.com-1ecc6299db9ec823\gcc-0.3.8\src\lib.rs:497

@shinchiro openssl requires some native dependencies to build on windows, see this section from the rust-openssl README: https://github.com/sfackler/rust-openssl#windows.

I have a weirder, but I think related, error:
$ cargo test --features hyper
   Compiling rand v0.3.8
   Compiling num_cpus v0.2.6
   Compiling winapi v0.1.23
   Compiling log v0.3.1
   Compiling memchr v0.1.3
   Compiling url v0.2.36
   Compiling openssl-sys v0.6.4
Build failed, waiting for other jobs to finish...
failed to run custom build command for `openssl-sys v0.6.4`
Process didn't exit successfully: `C:\users\austin\Rust\multipart\target\debug\build\openssl-sys-765ddf9de3c5179c\build-script-build` (exit code: 101)
--- stdout
cargo:rustc-link-lib=dylib=eay32
cargo:rustc-link-lib=dylib=ssl32
TARGET = Some("x86_64-pc-windows-gnu")
TARGET = Some("x86_64-pc-windows-gnu")
CARGO_MANIFEST_DIR = Some("C:\\msys64\\home\\Austin\\.cargo\\registry\\src\\github.com-0a35038f75765ae4\\openssl-sys-0.6.4")
OUT_DIR = Some("C:\\users\\austin\\Rust\\multipart\\target\\debug\\build\\openssl-sys-765ddf9de3c5179c\\out")
OPT_LEVEL = Some("0")
PROFILE = Some("debug")
debug 0
TARGET = Some("x86_64-pc-windows-gnu")
HOST = Some("x86_64-pc-windows-gnu")
CC_x86_64-pc-windows-gnu = None
CC_x86_64_pc_windows_gnu = None
HOST_CC = None
CC = None
TARGET = Some("x86_64-pc-windows-gnu")
HOST = Some("x86_64-pc-windows-gnu")
CFLAGS_x86_64-pc-windows-gnu = None
CFLAGS_x86_64_pc_windows_gnu = None
HOST_CFLAGS = None
CFLAGS = None
TARGET = Some("x86_64-pc-windows-gnu")
HOST = Some("x86_64-pc-windows-gnu")
CC_x86_64-pc-windows-gnu = None
CC_x86_64_pc_windows_gnu = None
HOST_CC = None
CC = None
running: "gcc" "-O0" "-c" "-ffunction-sections" "-fdata-sections" "-mwin32" "-m64" "-fPIC" "C:\msys64\home\Austin\.cargo\registry\src\github.com-0a35038f75765ae4\openssl-sys-0.6.4\src/openssl_shim.c" "-o" "C:\users\austin\Rust\multipart\target\debug\build\openssl-sys-765ddf9de3c5179c\out\src\openssl_shim.o"

command did not execute successfully, got: exit code: 1

--- stderr
C:\msys64\home\Austin\.cargo\registry\src\github.com-0a35038f75765ae4\openssl-sys-0.6.4\src/openssl_shim.c:1:0: warning: -fPIC ignored for target (all code is position independent)
 #include <openssl/hmac.h>
 ^
In file included from /usr/include/openssl/x509.h:107:0,
                 from /usr/include/openssl/ssl.h:156,
                 from C:\msys64\home\Austin\.cargo\registry\src\github.com-0a35038f75765ae4\openssl-sys-0.6.4\src/openssl_shim.c:2:
/usr/include/openssl/sha.h:184:16: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘h’
     SHA_LONG64 h[8];
                ^
thread '<main>' panicked at 'explicit panic', C:\msys64\home\Austin\.cargo\registry\src\github.com-0a35038f75765ae4\gcc-0.3.8\src\lib.rs:497

Compiling with MSYS2, I made sure OpenSSL was installed with pacman -S openssl. Maybe gcc is trying to link with the wrong dialect for the header file? I dunno.

It's not about the OpenSSL installation!
Mind this message above: "failed to execute command: The system cannot find the file specified."
The message says that gcc tried to execute something and failed.
If you run with cargo build --verbose and then manually repeat the gcc command with an extra -v flag then you'll see gcc trying to execute cc1 and there's no cc1 in the Rust installation.
smolny:~/AgaSleep$ gcc -v -O0 -c -ffunction-sections -fdata-sections -mwin32 -m64 -fPIC -I c:/spool/OpenSSL-Win64/include C:/spool/cygwin/home/Artem/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-sys-0.6.4/src/openssl_shim.c -o C:/spool/Promo/projects/AgaSleep/target/debug/build/openssl-sys-765ddf9de3c5179c/out/src/openssl_shim.o
Using built-in specs.
COLLECT_GCC=C:\spool\Rust\bin\rustlib\x86_64-pc-windows-gnu\bin\gcc.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-4.9.1/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw491/x86_64-491-win32-seh-rt_v3-rev1/mingw64 --with-gxx-include-dir=/mingw64/x86_64-w64-mingw32/include/c++ --enable-shared --enable-static --disable-multilib --enable-languages=ada,c,c++,fortran,objc,obj-c++,lto --enable-libstdcxx-time=yes --enable-threads=win32 --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-isl-version-check --disable-cloog-version-check --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw491/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw491/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw491/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw491/prerequisites/x86_64-w64-mingw32-static --with-cloog=/c/mingw491/prerequisites/x86_64-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='x86_64-win32-seh-rev1, Built by MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/c/mingw491/x86_64-491-win32-seh-rt_v3-rev1/mingw64/opt/include -I/c/mingw491/prerequisites/x86_64-zlib-static/include -I/c/mingw491/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -I/c/mingw491/x86_64-491-win32-seh-rt_v3-rev1/mingw64/opt/include -I/c/mingw491/prerequisites/x86_64-zlib-static/include -I/c/mingw491/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS= LDFLAGS='-pipe -L/c/mingw491/x86_64-491-win32-seh-rt_v3-rev1/mingw64/opt/lib -L/c/mingw491/prerequisites/x86_64-zlib-static/lib -L/c/mingw491/prerequisites/x86_64-w64-mingw32-static/lib '
Thread model: win32
gcc version 4.9.1 (x86_64-win32-seh-rev1, Built by MinGW-W64 project)
COLLECT_GCC_OPTIONS='-v' '-O0' '-c' '-ffunction-sections' '-fdata-sections' '-mwin32' '-m64' '-fPIC' '-I' 'c:/spool/OpenSSL-Win64/include' '-o' 'C:/spool/Promo/projects/AgaSleep/target/debug/build/openssl-sys-765ddf9de3c5179c/out/src/openssl_shim.o' '-mtune=core2' '-march=nocona'
 cc1 -quiet -v -I c:/spool/OpenSSL-Win64/include -iprefix C:/spool/Rust/bin/rustlib/x86_64-pc-windows-gnu/bin/../lib/gcc/x86_64-w64-mingw32/4.9.1/ -U_REENTRANT C:/spool/cygwin/home/Artem/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-sys-0.6.4/src/openssl_shim.c -quiet -dumpbase openssl_shim.c -mwin32 -m64 -mtune=core2 -march=nocona -auxbase-strip C:/spool/Promo/projects/AgaSleep/target/debug/build/openssl-sys-765ddf9de3c5179c/out/src/openssl_shim.o -O0 -version -ffunction-sections -fdata-sections -fPIC -o C:\spool\cygwin\tmp\ccZSgpmE.s
gcc.exe: error: CreateProcess: No such file or directory

Also, if you don't want https support (or at least, from openssl), you can
disable the 'ssl' feature.
On Tue, Jul 14, 2015, 6:37 AM Artem<EMAIL_ADDRESS>wrote:

It's not about the OpenSSL installation!
Mind this message above: "failed to execute command: The system cannot
find the file specified."
The message says that gcc tried to execute something and failed.
If you run with cargo build --verbose and then manually repeat the gcc
command with an extra -v flag then you'll see gcc trying to execute cc1
and there's no cc1 in the Rust installation.
smolny:~/AgaSleep$ gcc -v -O0 -c -ffunction-sections -fdata-sections -mwin32 -m64 -fPIC -I c:/spool/OpenSSL-Win64/include C:/spool/cygwin/home/Artem/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-sys-0.6.4/src/openssl_shim.c -o C:/spool/Promo/projects/AgaSleep/target/debug/build/openssl-sys-765ddf9de3c5179c/out/src/openssl_shim.o
Using built-in specs.
COLLECT_GCC=C:\spool\Rust\bin\rustlib\x86_64-pc-windows-gnu\bin\gcc.exe
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-4.9.1/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw491/x86_64-491-win32-seh-rt_v3-rev1/mingw64 --with-gxx-include-dir=/mingw64/x86_64-w64-mingw32/include/c++ --enable-shared --enable-static --disable-multilib --enable-languages=ada,c,c++,fortran,objc,obj-c++,lto --enable-libstdcxx-time=yes --enable-threads=win32 --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-isl-version-check --disable-cloog-version-check --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw491/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw4
91/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw491/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw491/prerequisites/x86_64-w64-mingw32-static --with-cloog=/c/mingw491/prerequisites/x86_64-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='x86_64-win32-seh-rev1, Built by MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/c/mingw491/x86_64-491-win32-seh-rt_v3-rev1/mingw64/opt/include -I/c/mingw491/prerequisites/x86_64-zlib-static/include -I/c/mingw491/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -I/c/mingw491/x86_64-491-win32-seh-rt_v3-rev1/mingw64/opt/include -I/c/mingw491/prerequisites/x86_64-zlib-static/include -I/c/mingw491/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS= LDFLAGS='-pipe -L/c/mingw491/x86_64-491-win32-seh-rt_v3-rev1/mingw64/opt/lib -L/c/mingw491/prerequisites/x86_64-zlib-static/lib -L/c/mingw491/prerequisites/x86_64-w64-mingw32-static/lib '
Thread model: win32
gcc version 4.9.1 (x86_64-win32-seh-rev1, Built by MinGW-W64 project)
COLLECT_GCC_OPTIONS='-v' '-O0' '-c' '-ffunction-sections' '-fdata-sections' '-mwin32' '-m64' '-fPIC' '-I' 'c:/spool/OpenSSL-Win64/include' '-o' 'C:/spool/Promo/projects/AgaSleep/target/debug/build/openssl-sys-765ddf9de3c5179c/out/src/openssl_shim.o' '-mtune=core2' '-march=nocona'
cc1 -quiet -v -I c:/spool/OpenSSL-Win64/include -iprefix C:/spool/Rust/bin/rustlib/x86_64-pc-windows-gnu/bin/../lib/gcc/x86_64-w64-mingw32/4.9.1/ -U_REENTRANT C:/spool/cygwin/home/Artem/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-sys-0.6.4/src/openssl_shim.c -quiet -dumpbase openssl_shim.c -mwin32 -m64 -mtune=core2 -march=nocona -auxbase-strip C:/spool/Promo/projects/AgaSleep/target/debug/build/openssl-sys-765ddf9de3c5179c/out/src/openssl_shim.o -O0 -version -ffunction-sections -fdata-sections -fPIC -o C:\spool\cygwin\tmp\ccZSgpmE.s
gcc.exe: error: CreateProcess: No such file or directory
—
Reply to this email directly or view it on GitHub
https://github.com/hyperium/hyper/issues/607#issuecomment-121210986.

@cybergeek94 Im pretty sure you're using wrong gcc, MSYS2 one, instead of gcc that comes with mingw-w64-x86_64-toolchain. Maybe you missed step 3 from here?
To make sure see what gcc -v gives you (should be COLLECT_GCC=C:\msys64\mingw64\bin\gcc.exe). Also with pacman -S openssl you, most likely, just reinstalled openssl that used by msys2, while openssl that youl need comes with mingw-w64-x86_64-toolchain and have name mingw-w64-x86_64-openssl, thus instead of pacman -S something use pacman -S mingw-w64-x86_64-something to get missing package

@shinchiro I think something "wrong" with your gcc setup (see this issue from gcc-rs). If you want to build hyper with openssl just follow build instructions from rust repo (this also mentioned in rust-openssl here).

@semmaz Thanks..finally I managed to compile hyper via mingw64_shell.bat.
But is it possible to compile it inside IDE like atom (build package) with mingw64_shell or something like that

@shinchiro Just bring gcc from mingw-w64-x86_64-toolchain into PATH environment variable (e.g. set PATH=C:\msys64\mingw64\bin;%PATH%), preferably temporarily, as this might cause issue with cmd elsewhere and you should be golden.
As for atom specific build package, this is achievable with custom build command, but, it seems that setting PATH with this is broken right now on windows, you might overcome this by good old bat file:
set PATH=C:\msys64\mingw64\bin;%PATH%
cargo build

and launching it from custom build command.

Got it..thanks :)
To make the bat for flexible, I changed to this so it can accept any parameter aside 'build'
set PATH=C:\msys64\mingw64\bin;%PATH%
cargo %*

Closing as this seems to be an openssl issue, and it seems to have been fixed-ish.


[python] Using optimized reindexer in blockwise iterators

Issue and/or context: #2066
Block-wise iterators still use panda indexers and this must to switch to our new indexer.
Changes:
Notes for Reviewer:
I may add a benchmark for this change later.

@bkmartinjr I revised the PR as you recommended to propagate the context from top of the stack. The key to this change is I borrowed the context from SparseNDArrayBlockwiseRead::array field and brought it down to the block blockwise iterators.

You are right. I think somehow I confused the logic and flags. I'll fix them now and ping you as soon as CI is clear.


tvOS target includes unsupported permissions

Before submitting a new issue

[X] I tested using the latest version of the library, as the bug might be already fixed.
[X] I tested using a supported version of react native.
[X] I checked for possible duplicate issues, with possible answers.

Bug summary
We have a single podfile for both iOS and tvOS. If we include permissions for notification on iOS, the RNPermissionHandlerNotifications.h is also included in the tvOS podspec.
Resulting in the following build error:

Library version
4.1.5
Environment info
RN 0.75

Steps to reproduce
See podfile example below.
Can probably also replicate if you call
setup_permissions([
  'Notifications',
])

in a tvos target
Reproducible sample code
target 'App' do
  platform :ios, "15.5"

  setup_permissions([
    'Notifications',
  ])
  ...
end

target 'App-tvOS' do
  platform :tvos, "15.5"

  # this doesn't do anything, the above `Notifications` are still loaded
  setup_permissions([])
   ...
end

# this doesn't do anything, the above `Notifications` are still loaded
setup_permissions([])

That's unfortunately expected given what it does (under the hood, it update the react-native-permissions podspec file).
I think the easiest way to fix this is just to wrap the unavailable APIs with #if TARGET_OS_IOS


Missing ci for helm bump - simulator patch

HKube micro-service
simulator, helm
Describe the bug
No simulator version update in values.yaml in helm's corresponding release branch, as seen when working on hkube core release branch
Expected behavior
Update helm values file correctly for simulator
To Reproduce

commits made on simulator's  release branch
verify no action/commits in the corresponding helm value

done in commit (no RP) https://github.com/kube-HPC/simulator/commit/46c7cd6c7d0024167bf2fc3dab5b0e3283d317c8


Btn023-BtnIconRaised-818

Looks good :+1:
Possible future refactor to merge #818 and #678 with icon prop.


xvfb problem.

I've noticed a problem when trying to add xvfb-run djvTest to check() function in Arch Linux PKGBUILD.
Here's my output from djv -log_console running in xvfb as djvTest throws simple error message saying xvfb-run -s "-screen 0 1920x1080x24" ./djvTest -log_console ERROR: Cannot create GLFW window.
xvfb-run -s "-screen 0 1920x1080x24" djv -log_console
Tue Sep 29 16:16:40 2020               djv::Core::Context | Application: djv
Tue Sep 29 16:16:40 2020               djv::Core::Context | System: Linux 5.8.12-arch1-1 x86_64
Tue Sep 29 16:16:40 2020               djv::Core::Context | Hardware concurrency: 8
Tue Sep 29 16:16:40 2020               djv::Core::Context | RAM: 15GB
Tue Sep 29 16:16:40 2020               djv::Core::Context | argv0: /opt/djv/bin/djv
Tue Sep 29 16:16:40 2020               djv::Core::Context | Resource paths:
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Application: /opt/djv/
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Documents: /home/bartus/Documents/DJV
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Log File: /home/bartus/Documents/DJV/djv.log
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Settings File: /home/bartus/Documents/DJV/djv.json
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Audio: /opt/djv/etc/Audio
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Fonts: /opt/djv/etc/Fonts
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Icons: /opt/djv/etc/Icons
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Images: /opt/djv/etc/Images
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Models: /opt/djv/etc/Models
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Shaders: /opt/djv/etc/Shaders
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Text: /opt/djv/etc/Text
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Color: /opt/djv/etc/Color
Tue Sep 29 16:16:40 2020               djv::Core::Context |     Documentation: /opt/djv/docs/_site/documentation.html
Tue Sep 29 16:16:40 2020                djv::AV::AVSystem | djv::AV::AVSystem starting...
Tue Sep 29 16:16:40 2020            djv::AV::GLFW::System | djv::AV::GLFW::System starting...
Tue Sep 29 16:16:40 2020            djv::AV::GLFW::System | GLFW version: 3.3.2
Tue Sep 29 16:16:40 2020                djv::AV::AVSystem | djv::AV::AVSystem exiting...
Tue Sep 29 16:16:40 2020            djv::AV::GLFW::System | djv::AV::GLFW::System exiting...
Tue Sep 29 16:16:40 2020            djv::Core::CoreSystem | djv::Core::CoreSystem exiting...
Tue Sep 29 16:16:40 2020     djv::Core::Animation::System | djv::Core::Animation::System exiting...
ERROR: Cannot create GLFW window.

and output of glxinfo run in xvfb
xvfb-run glxinfo|grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 10.0.1, 256 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 20.1.8
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.1 Mesa 20.1.8
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 20.1.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:

My cmake build invocation for djv:
        cmake -S "${pkgname^^}-${pkgver}" -B ${pkgname^^}-Release \
                -DCMAKE_BUILD_TYPE=Release \
                -DCMAKE_INSTALL_PREFIX="$DJV_BUILD/${pkgname^^}-install" \
                -DCMAKE_PREFIX_PATH="$DJV_BUILD/${pkgname^^}-install" \
                -DCMAKE_INSTALL_RPATH=""

I'm building against Arch dependencies:
{ffmpeg:4.3.1,freetype:2.10.2,glfw:3.3.2,glm:<IP_ADDRESS>,libpng,libjpeg,libtiff,opencolorio,openexr,rtaudio}
Does djv requires higher OpenGL than 3.30, or am I doing something wrong :confused:

Hi, thanks for the detailed bug report; DJV requires OpenGL 4.1 which is causing the window creation to fail. I need to add the version requirement to the documentation, there is a reminder for me to do that in issue https://github.com/darbyjohnston/DJV/issues/334.
I recently added experimental support for OpenGL ES 2.0 if you are interested in trying that, though it's missing a number of features like floating point image formats and OpenColorIO color management. To enable it you can pass the flag "-DDJV_GL_ES2=TRUE" to cmake.
Is OpenGL 3.3 still fairly common on Linux? I thought Mesa now supported OpenGL 4.0+?
https://mesamatrix.net/

@darbyjohnston Thanks for comprehensive explanation, you exhausted the subject pretty much here.
I'll investigate further mesa OpenGL capability and report figure it out.
I consider this issue solved 😏


[BUG] Install.completion flag is never used

Describe the bug
Parameter completion of the Install config is never used, so it's impossible to disable completion installation.
If I understand correctly, it's just a matter of adding !options.install.completion && return to the beginning of install_completion.
Version of the package:
v1.0.1

fixed in 5af139a23262a92af7a05fc6e0333f49aa20f1af

reopen since this behaviour is not tested


Add more nix install documentation

The part you want to Enhancement
In Nix you can install or use packages directly from a github url, in this case, we can do:
nix run github:MHNightCat/superfile#superfile
or
 nix profile install github:MHNightCat/superfile#superfile
Why it is necessary to enhancement
People may not be aware that they do not need a flake configuration to test or install this package.
Additional context

Updated it.
Thanks for your advice!

In main it now says nix profile install github:MHNightCat/superfile#superfile twice.

Which doesn't work, btw:
error: getting status of '/nix/store/l6prg341zqv51a8z9jn4cbfxgdcn7vkx-source/src/gomod2nix.toml': No such file or directory

@juanibiapina  Got it!
I try to fix it in https://github.com/MHNightCat/superfile/commit/87587f058f81ca274e6fedf4fb4b60a6af36b666
I'm not a Nix user so I'm not sure if this is fixed correctly if you have any issue please let me know!


RealOutput in SM_PermanentMagnet, etc. show up in component icon layer

Reported by jriel on 25 Feb 2015 18:43 UTC
In
Modelica.Electrical.Machines.BasicMachines.SynchronousInductionMachines.SM_ElectricalExcited
Modelica.Electrical.Machines.BasicMachines.SynchronousInductionMachines.SM_PermanentMagnet
Modelica.Electrical.Machines.BasicMachines.SynchronousInductionMachines.ReluctanceRotor

the ir and idq_dr ports, which are only used internally, are declared as public.  Because they use Modelica.Blocks.Interfaces.RealOutput, which has an associated icon annotation, an icon for these ports appears in the component icon.
I believe that these ports should be protected.

Migrated-From: https://trac.modelica.org/Modelica/ticket/1666

Comment by beutlich on 19 Mar 2015 09:38 UTC
See e6a020a43dfe822d11a03347bf4886c0d5166af5 for #1223.

Comment by beutlich on 4 May 2015 11:08 UTC
Screenshot from SimulationX:

Comment by dietmarw on 4 May 2015 13:06 UTC
To me this looks like a problem with the non-definition of what is supposed to be displayed when no Placement annotation is provided. As I could see Dymola and OMEdit both decide to simply not display the graphical annotation when no Placement is given. SimulationX and Maplesim seem to display it in the component origin (if I understand it correctly).  But I could not find any mention of how to handle this in the Spec. So none of the tools is probably wrong or right.
Making the component protected would be a workaround but the underlying question of how components w/o Placement annotations should be displayed should also be clarified.

Comment by ahaumer on 22 Jun 2015 15:10 UTC
IMHO this is a tool issue: shall an "input" without graphical annotation be displayed?
We have to use the "input" prefix to be able to set the variables later, extending from
Modelica.Electrical.Machines.Interfaces.PartialBasicInductionMachine

Making these variables protected prevents the user to access them for plotting, postprocessing, defining initial conditions, etc.
For now I don't find a solution -> postponed / shifted.

Modified by christiankral on 2 Nov 2015 06:58 UTC

I agree with @AHaumer, this issue has to be treated in the Modelica Specification.

Since Modelica Language Specification 3.0 we have "visible" attribute as part of the Placement - together with the transformations.
That will make it invisible from both icon and diagram-layer and as far I can see that was the intention in these cases.

This issue also applies to Modelica.Blocks.Interfaces.RealOutput idq_dr[2] of the machine models in Modelica.Electrical.Machines.BasicMachines.SynchronousInductionMachines. Additionally,  the same issue applies to Modelica.Magnetic.FundamentalWave.BasicMachines.SynchronousInductionMachines and Modelica.Magnetic.QuasiStatic.FundamentalWave.BasicMachines.SynchronousMachines.


Write series

Overview
This pull request adds the ability to write series data to the server and store it in a shard. This involves creating series, creating shards, and creating fields before finally encoding the raw value data for a series point.
Write series flow

Create series if not exists.
Create shard group for time range (if it doesn't already exist).
Find appropriate shard for series in the shard group.
If all fields are available, encode value data to use field ids and send raw data to the broker.
If all fields are not available, encode string-key map of values to broker and create fields at apply-time.

There are two separate messages used for writing series:

writeRawSeriesMessageType - Accepts raw encoding of series id, timestamp and values for fast insertion.
writeSeriesMessageType - Accepts string-key map of values and creates new fields as needed.

The non-raw write is only needed the first time a new field is seen. After the field is created, raw messages are sent.
Changes
The following are the main changes (in order as shown in this PR):

Shard groups
Field creation during apply
Field count limiting
Subscribe/unsubscribe endpoint & client interface
Renamed the metastore's "Server" bucket to "Meta".
Added sequence generation.
Write series
Write raw series
Read series - just used for testing
Point header marshalling
Value marshalling

Took a first pass, it is making sense to me. I am concerned, however, that we are using the word "shard" to mean different things at different times. I might be wrong though. Can you comment?

:clap: :heavy_multiplication_x: :100:


Updates the Quickstart around coredns and networkmgr

Description

Updates responses to latest and greatest such as now it is coredns and not kube-dns anymore
Adds info about Network Manager
Updates to Debian 9 as this is what kubeadm requires now

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

@emanic we should port these changes to at least the v3.3 docs


Build tools in Elm

Here's a crazy idea:
What if everything was written in Elm?
I mean, we already have

[x] Full client side support (JS, html, stylesheets)
[x] Server support (with node!)
[x] Database support (with node bindings!)

Why not go one more, and add build tools for Elm, in Elm too?
How do we do that? By abusing Elm, of course!
Firstly, there are some rules to make this work:

Any Native code will be injected into the output file if the Native module is imported anywhere
The Native code will be injected as found in the file
Native code is bound before compiled Elm code
timeouts make thing run later.
ports get run by default if you include the file as Elm.worker(Elm.module)

With this in mind, it's pretty easy to make Elm output a file that can run itself. Or one that can run another file!
Add this little guy to the end of the Native module and watch what happens
setTimeout(function() {
    console.log("starting elm..");
    Elm.worker(Elm.Bootstrapper);
, 1000);

At the moment, this file will -

[x] Run itself
[x] Compile other modules
[x] Run the module it just compiled

In the real world, there's not really a case for this to be used. This is just here as an example - if you want an Elm project that can replace any other tool you have except for node, here's the guy to gun for.

FYI, here's an old tool I wrote that's half written in Elm: https://github.com/avh4/elm-compile-html
I think it would be great to make it easy to write command line tools in Elm.. I had a few ideas around that before starting on elm-format, but I haven't gotten back to them yet.

This change makes it function and bootstrap like a standard node.js "binary" file, so it effectively a command line app. I also thought about considering a port of elm-format to Elm, but for speed reasons it probably makes sense to be in Haskell right now


wip short-circuiting proof composition

Doesn't compile, unfinished.
The idea is to make an abstraction over "statements", such that they are either done by a recursive proof verification or by doing some minor logic in-circuit.
For the action state extension statement, it would be short-circuiting if source and target are only N actions from each other (for e.g. N = 8), but more than that could use a recursive proof (and reusing the portion of the circuit to verify the last N ones).
Then, we can define short-circuiting proof composition, currently called WrapTwo dumbly,
such that if either of the two wrapped statements can be short-circuited, then we avoid an extra proof.
This is very useful for reducing proofs to deal with the 2 recursive proof verifications per circuit limit, since you can stack WrapTwos on top of WrapTwos, and only proving when necessary, short-circuiting the rest.
Closes #162

I've currently unprioritized this since it's non-trivial and hard to audit.


Add project roles module to terraform configs.

This allows the caller to specify a mapping of members to a list of roles.
e.g.
iam_members_to_roles = {
<EMAIL_ADDRESS>= [
    "roles/viewer",
    "roles/container.developer"
  ],
<EMAIL_ADDRESS>= [
    "roles/viewer",
    "roles/monitoring.dashboardEditor"
  ],
<EMAIL_ADDRESS>= [
    "roles/iam.securityAdmin"
  ],
}

Summary

Release Note

Documentation

Do I need to take action for the failed check "Fulcio&Rekor E2E Test Using Release"?

Do I need to take action for the failed check "Fulcio&Rekor E2E Test Using Release"?

That test is unrelated to terraform changes, I usually just rerun

Thanks, I pushed the same changes with an amended commit to retrigger checks.


Incompatible with version 12

Hopefully this module gets updated.
I just managed to port a map to Foundry before updating it and now the module cannot be enabled anymore.

Thanks for letting me know, I had set a maximum version for version 11 in the manifest, but as it turns out the module is broken in v12. I'm in the middle of a rewrite currently with a bunch of awesome updates and should hopefully get this out in the next week with working v12!

Any Update on the v12 upgrade?

Real life unfortunately got very busy. The rewrite is in progress still, and I'm taking another stab at it this morning.

Should be solved by #44 . Just released a new version.


hp-x2-210-g2 Touchpad failure: POINTER_MOTION_ABSOLUTE, kpminus

This is a strange problem with a 2-in-1 tablet laptop hp-x2-210-g2 that was sold by HP Japan.
It seems a bit complicated, so please let me know if there is any information needed.
Maybe it has something to do with the touch display.
https://jp.ext.hp.com/notebooks/business/hp_x2_210_g2_camera/
keyd-git 2.4.2.r74.1f3a780-1

the pointer warps (POINTER_MOTION_ABSOLUTE) when touching the touchpad
touching the touchpad causes "kpminus" to be entered

https://user-images.githubusercontent.com/102382754/191412611-86724ae9-d583-4554-95c7-8dc23463eb8e.mp4
Occurs in keyd-git 2.4.2.r74.1f3a780-1 and not in the stable version (keyd 2.4.2-1).
$ paru -Q keyd-git sway wlroots
keyd-git 2.4.2.r74.1f3a780-1
sway-git r6961.cffb006f-1
wlroots-git 0.16.0.r5714.ebd4c83c-1
$

Device list in keyd monitor
device added: 06cb:17ad SYNP1000:00 06CB:17AD (/dev/input/event18)
device added: 06cb:17ad SYNP1000:00 06CB:17AD Stylus (/dev/input/event17)
device added: 04f3:0755 HID 04f3:0755 (/dev/input/event6)
device added: 04f3:0755 Elan Touchpad (/dev/input/event5)
device added: 04f3:0755 HID 04f3:0755 (/dev/input/event4)

Only the touchpad 04f3:0755 is listed in [ids] in the keyd configuration.
Device 06cb:17ad is not a touchpad, but a touch display.
/etc/keyd/test.conf
[ids]
04f3:0755

keyd monitor -t
+0 ms   Elan Touchpad   04f3:0755       kpminus down
+0 ms   Elan Touchpad   04f3:0755       numlock down
Unrecognized EV_ABS code: 24
Unrecognized EV_ABS code: 58
Unrecognized EV_ABS code: 24
Unrecognized EV_ABS code: 57
+0 ms   Elan Touchpad   04f3:0755       kpminus up
+0 ms   Elan Touchpad   04f3:0755       numlock up
Unrecognized EV_ABS code: 24

libinput debug-events
-event22  POINTER_MOTION_ABSOLUTE +2184.910s     42.15/ 57.07

libinput debug-events when keyd is not running
 event5   GESTURE_HOLD_BEGIN      +323.305s     1
 event5   GESTURE_HOLD_END        +323.321s     1

stable-keyd (keyd 2.4.2-1)
Doesn't seem to be a problem.
https://user-images.githubusercontent.com/102382754/191412683-b0c9d1c4-7ad8-4168-aae4-f93a3967bc97.mp4

Can you post the output of keyd itself using the latest commit? Also set KEYD_DEBUG=2 (E.g make && sudo KEYD_DEBUG=2 ./bin/keyd)

keyd-20220921-231144.log
https://user-images.githubusercontent.com/102382754/191574750-93dc6092-7a83-477b-89ba-73821c005dcd.mp4

Sorry,  I should have mentioned touchpads are currently unsupported. Adding support for this is non-trivial since a lot of work needs to be done on the raw touch events to make them usable (which is why libinput exists). I was aware of this when I originally added mouse support ,but forgot to make a note of it in the man page. I might add some preliminary support for it later.

It would be nice if we could put only the keyboard (event4) under keyd control and exclude the other touchpads (event5), etc., but this does not seem possible because both have the same id 04f3:0755.
It would be nice if some identifier could be used to separate them, such as event4 or HID 04f3:0755, how do you feel?

I probably should have added some kind of special prefix to distinguish mice to begin with. At this point it would be a breaking change, but it might be worth doing anyway since there isn't really good alternative. It is worth noting that if you use the wildcard id (*) it won't match any mice by default.
E.g:
[ids]
*
-<excluded keyboard>

Personally, that method worked for me anyway.
I use a tool called yadm to share *.conf in keyd with each environment, and if I rename hp1.conf to hp1.conf##hostname.hp1 and share it, the following symbolic link is created with just hostname hp1.
hp1.conf -> hp1.conf##hostname.hp1

https://yadm.io/docs/alternates
I was able to avoid the problematic phenomenon by including the following setting here.
[ids]
*

It worked in my case, but if there are no cases where the boundary between keyboard and pointing device is blurred in general, it may be fine as it is now.

Thinking about it some more, I think it would be best if we could target "keyboards with 04f3:0755" by using some kind of identifier representation, but non-target "devices other than keyboards with 04f3:0755".

I've added some device type prefixes (m: and k:) to the latest commit. Let me know how you get along with them.

Thanks! The k:04f3:0755 works as expected.
I thought it would be more comprehensive in terms of setting targets if I could also exclude them with -m:04f3:0755 and so on. How do you feel about this?

* only matches keyboards by default, so -m:* is unnecessary. In general, mouse support is quite limited and should be avoided unless strictly necessary. I have been meaning to add some clarification in the man page.

Understood. Thank you👍

I've added some device type prefixes (m: and k:) to the latest commit. Let me know how you get along with them.

Thanks a million. I was already filing a bug at the libinput project :sweat_smile:. My cursor was jumping around as well, when using the trackpad. Would be good to add this the the readme as well.

Not sure how I missed the prefixing, but for what it's worth I had this same issue and found it difficult to discover.


RFC 19: Random Beacon v2

Proposal to simplify the pricing, rewards, and make timeouts more forgiving. Lessons learned on v1 of the random beacon.

Did a grammar pass which was a really useful was to try to carefully understand exactly what was being discussed.
Also! I know that I made a borderline obnoxious amount of grammar suggestions, but I think upfront clarity work pays long-term dividends. https://www.grammarly.com/grammar-check is also super useful for catching subject/verb agreement and whatnot

I improved some parts after the feedback from Michalina. @eth-r @michalinacienciala can you please take another look? I think we should be good to merge if you approve the changes.


make Qt5 the default for Kinetic, fix issues

This pr will make Qt5 the default option (rather than Qt4) in ROS Kinetic. It will also address some issues with Python support.

@ros-pull-request-builder please test this

@ros-pull-request-builder retest this please

I'll have to disable PySide2 support for now as I had to do a lot of hacks to get Shiboken2 to do the code generation and even then the generated code results in invalid C++ code (which fails to compile). I'm going to defer fixing that until a future Kinetic release, so I've disabled PySide2 support for now. My work so far is in this branch: https://github.com/ros-visualization/rviz/tree/wjwwood-qt5-pyside2
/cc @dirk-thomas


Pre commit

Adoption of Pre-commit [0] is one of the most straightforward ways maintain style consistency as well as general quality in an opensource project. Individual maintainers may install hooks locally, testing their code before every commit, without taxing CI or requiring undue attention from reviewers.
Selected tests can be adjusted using individual config files and additional tests may be selected from the pre-commit catalogue.[1]
After initial style harmonization the pre-commit will maintain style consistency across developers. Provided they install it, of course.
The settings, as at this time, intentionally exclude some directories due to the large number of style violations present.
Their harmonization can be done during followup PRs, or they can be kept as they are.
[0]https://pre-commit.co
[1]https://pre-commit.com/hooks.html

I'll leave it to PyLadies to decide if this is worth it, but: please don't change original/, that's a historical archive.

I'm looking at it, but gathering thoughts and summarizing will take some time.

I'm sorry, this has slipped form my mind entirely.
While I really like the idea and want to try it out on some projects, I see two issues with this feature.
As a person who has never used pre-commit, I lack information how it works. I would welcome documentation for the users as to:

does it work out of the box or should I install something to my environment?
how to run this thing on my local changes?
how to deal with issues this finds? (does it fix them or does it require me to fix all that's found?)
will it prevent me from committing at all if my changes don't fulfill the rules? what if we want to change some rules?
what about commits which come from the online GitHub editors? will this apply for them too?
how can I disable it?

The second, and I think bigger issue is with our community approach to this website. AFAIK from the historical discussions, easiness to contribute was among the top design priorities. It's often the first git repository PyLadies work with. We want to encourage them to learn how to set up the project locally, edit the yamls, make first commits, see the CI results. I remember how hard (but rewarding) the experience is for a beginner. I'm rather against adding a layer of complexity here.
There one more aspect to that: we don't talk about the code formatting much in the beginner's courses. This repository would be their first and rather hard experience with it. (Actually I think formatters could be a great idea for a PyWorking!). However this adds to my reluctance to enforce this here.
All in all: I'm against adding pre-commit to this repository.
It's not a hard no - if there are folks in the community who want to introduce this, properly document and maintain it, I can imagine it working.

@befeleme asked me to look at this suggestion as I am one of the contributors.
To be honest, I had to read it twice to understand that this is not something for some specific part of PyLadies website but it may change the overall process of contributing to this repo.
I agree that maintain style consistency as well as general quality in an opensource project is generally a good practice, but I also strongly agree with Karolina's second point - not only is this website content focused on beginners, it is usually maintained by beginners as well. I would rather go without style consistency and keep this website easy to contribute to, than discourage newbies to pitch in.


Support landscape mode

What

Support landscape mode

Part of

#1171

Can you clarify where you'd like landscape mode and why ? Are you talking about a computer, a tablet, a phone ?

Tablet, because I prefer landscape mode and most apps support it.


A problem occurred configuring project ':flutter_compass'.

The error message I receive is as follows. Can you help me?
FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
A problem occurred configuring project ':flutter_compass'.
> Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
   > Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.

     If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
Failed to query the value of property 'buildFlowServiceProperty'.
> Could not isolate value org.jetbrains.kotlin.gradle.plugin.statistics.BuildFlowService$Parameters_Decorated@1815d0fe of type BuildFlowService.Parameters
   > A problem occurred configuring project ':flutter_compass'.
      > Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl.
         > Namespace not specified. Specify a namespace in the module's build file. See https://d.android.com/r/tools/upgrade-assistant/set-namespace for information about setting the namespace.

           If you've specified the package attribute in the source AndroidManifest.xml, you can use the AGP Upgrade Assistant to migrate to the namespace value in the build file. Refer to https://d.android.com/r/tools/upgrade-assistant/agp-upgrade-assistant for general information about using the AGP Upgrade Assistant.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
==============================================================================

BU�LD FAILED in 1s
Running Gradle task 'assembleDebug'...                           2.192ms
Error: Gradle task assembleDebug failed with exit code 1

did you find a solution?

I had to delete the library because I couldn't find the solution.

i just override the namespace and its working fine

@hissro
could you show how to do this override step, plz ?

I believe you need to add the namespace to the android directory flutter_compass uses, not your main application directory. In other words you'll have to modify your local .pub-cache file: https://github.com/hemanthrajv/flutter_compass/blob/0dc2628ae5a22887fcb0f3072cd065652739226d/android/build.gradle#L24.
Either that or consider using another AGP version.

@koman96 there many way to fix this error:
A:

you simply edit on flutter_compass directly from  the path
C:\Users\User\AppData\Local\Pub\Cache\hosted\pub.dev\flutter_compass-0.8.0\android.
then add  insedie android tag :
namespace = "com.hemanthraj.fluttercompass"

B: there second way  you add dependency_overrides  for flutter_compass


rename multiply divide, add multiply divide methods

Codecov Report

Merging #5 (5e3ebf9) into master (28f32ed) will decrease coverage by 2.98%.
The diff coverage is 33.33%.

@@             Coverage Diff             @@
##            master       #5      +/-   ##
===========================================
- Coverage   100.00%   97.01%   -2.99%
===========================================
  Files            1        1
  Lines           65       67       +2
===========================================
  Hits            65       65
- Misses           0        2       +2

Impacted Files
Coverage Δ

vector3/vector3.go
97.01% <33.33%> (-2.99%)
:arrow_down:

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 28f32ed...5e3ebf9. Read the comment docs.


Remove the duplicate code in mbedtls/include/mbedtls/check_config.h

Removing the extra preprocessor directives found within the specified
source file.
Description
Removing the extra preprocessor directives found within the specified source file. Specifically, removing the duplicate code found within the source file mbedtls/include/mbedtls/check_config.h.
Pull request type
[ ] Patch update
Test results
[ ] No Tests required for this change

Thanks for the patch! Please make an identical patch against the other supported branches: development_2.x and mbedtls-2.16.

Hello,
Does this mean you want me to checkout to those branches and then push that change as well, or something else?

I am sorry, but I have screwed up my branch too much. I will have to close this and try again. I hope you understand. Thank you.


Fuel truck stay even if completed

as title

Fenix2GSX20240309.log

the only way to progress on is to add manually the KG on the MCDU and it goes ahead with the services

What was the planned Fuel?
Seems the current FOB was greater than the planned FOB.

That was your Problem: 9575 > 8256.
You probably closed/restarted Fenix2GSX with a FOB of 9575 before and that was then reapplied on the Start of this Session.
For the mean Time don't close/restart Fenix2GSX when the Aircraft is already fueled (or make sure yourself that the current FOB is not higher than planned - by "Reset All" before OFP Import).
The next Version will only save the FOB upon Arrival after the Engines where stopped.


throw an exception if specified parent menu not found

@kokokenada Can you elaborate why we should throw an error instead gracefully handling it? Also, make sure you add tests. Lastly, make sure you follow the commit message guidelines. https://github.com/meanjs/mean/blob/master/CONTRIBUTING.md#commit-message-guidelines

$log.error() would work better here.

+1 on just using $log.error()

Hi @codydaig , The original motivation was because I ran into the problem when I was first getting going with MEANJS and the silent failure caused me to spend more time on it than necessary.  $log seems better than throw as the developer is alerted to the problem with stopping the execution.  I'll redo the pull request with the change (and change two un-handled throws that were in the original code.)  Thanks for the commit guide-lines.  Do really think tests for this are warranted in this case?
Incidentally, there's a related problem where the ordering of adding the menus is problematic.  You get the problem that is logged with this PR if the sub menus are processed prior to parent.  I had to tweak the files in config/assets to work around it (the construction ordered seemed to be alphabetic.).  I'll add an issue for that...

(Oh -  I see now that pushing to my repository updates the PR..)

@kokokenada Anything that can be tested needs too be tested. If there's an issue with ordering, I welcome an issue or PR too fix that as well. If you can write a test too prove that's it broken and then fixed, that's true TDD! :-D

I'll just enter the issue for now. :-) A lot on my plate right now...

@kokokenada The tests are failing right now. You'll have too modify the tests too match the new error handling.

I have the test failure replicated.  Do you know off hand how the tests should be modified to look for the $log.error?

Put  spy on $log.error and check what it gets called with

@kokokenada great to see someone learning while doing a PR! Congrats and thanks for your efforts. :-)

@simison -thanks.  Yes a very useful process for me personally.  I've had implementing the tests for my work related MEAN modules on my to-do for a while and this will help.  And I have a lot of possible changes for MEANJS (not nearly ready yet) and I thought I'd start with a simple one.

@simison Tis the beauty of open source projects! :-D
@kokokenada Thanks for helping out!

I pushed an interim check in. So I can ask a question.  On my local build, when I inject $log, $log is equal to {}, which of course causes "error()" to not be found.  Not sure why this is happening.
I'm suspicious that I have a local environment problem which may or may not be related.   When I run the client tests, I get an error:
PhantomJS 2.0.0 (Windows 8 0.0.0): Executed 9 of 120 SUCCESS (0 secs / 0.137 secs)
PhantomJS 2.0.0 (Windows 8 0.0.0) ChatController when user logged in should make sure socket is connected FAILED
TypeError: Attempted to assign to readonly property. (line 9)
	at io (C:/Users/Ken/WebstormProjects/mean-fork/modules/core/tests/client/socket.io.client.service.tests.js:9:9)
	at connect (C:/Users/Ken/WebstormProjects/mean-fork/modules/core/client/services/socket.io.client.service.js:10:25)
	at C:/Users/Ken/WebstormProjects/mean-fork/modules/chat/client/controllers/chat.client.controller.js:16:21

Also, should installing phantomjs be part of the set up instructions?

I'm suspicious that I have a local environment problem which may or may not be related. When I run the client tests, I get an error:

This is resolved by https://github.com/meanjs/mean/pull/1198/files#diff-82e9255cbb27270ad882fe4908220795

@kokokenada another ping to come back and finish this PR
@rhutchison did you mean that this issue is no longer relevant at all or were you referring to something else? I couldn't track this reference back in the history of this issue.

Hi - sorry for the delay. I've rebased my project on Meteor, so I've lost the synergy to work on this.
I was able to avoid the exception and make it do something useful with orphans by adding:
  var savedForLater = [];
    this.saveForLater = function(menuId, parentItemState, options) {
      savedForLater.push({menuId: menuId, parentItemState:parentItemState, options: options});
    };

    this.trySavedForLater = function() {
      var tryList = savedForLater;
      savedForLater = [];
      for (var i=0; i< tryList.length; i++) {
        this.addSubMenuItem(tryList[i].menuId, tryList[i].parentItemState, tryList[i].options);
      }
    };
```

and calling it instead of throwing an exception:
```
if (!pushed)
        this.saveForLater(menuId, parentItemState, options);
```

Then at the end of addMenuItem:

// See if some orphans can be integrated
this.trySavedForLater();

Whole file is here: I hope it helps:

//Menu service used for managing  menus
angular.module('core').service('Menus', ['$log',
function ($log) {
// Define a set of default roles
this.defaultRoles = ['user', 'admin'];
// Define the menus object
this.menus = {};

// A private function for rendering decision
var shouldRender = function () {
  var user = CORE.getCurrentUser();
  if (!!~this.roles.indexOf('*')) {
    return true;
  } else {
    if(!user) {
      return false;
    }
    for (var userRoleIndex in user.roles) {
      for (var roleIndex in this.roles) {
        if (this.roles[roleIndex] === user.roles[userRoleIndex]) {
          return true;
        }
      }
    }
  }

  return false;
};

// Validate menu existance
this.validateMenuExistance = function (menuId) {
  if (menuId && menuId.length) {
    if (this.menus[menuId]) {
      return true;
    } else {
      $log.error('Menu "' + menuId +'" does not exist');
    }
  } else {
    $log.error('MenuId was not provided');
  }

  return false;
};

// Get the menu object by menu id
this.getMenu = function (menuId) {
  // Validate that the menu exists
  this.validateMenuExistance(menuId);

  // Return the menu object
  return this.menus[menuId];
};

// Add new menu object by menu id
this.addMenu = function (menuId, options) {
  options = options || {};

  // Create the new menu
  this.menus[menuId] = {
    roles: options.roles || this.defaultRoles,
    items: options.items || [],
    shouldRender: shouldRender
  };

  // Return the menu object
  return this.menus[menuId];
};

// Remove existing menu object by menu id
this.removeMenu = function (menuId) {
  // Validate that the menu exists
  this.validateMenuExistance(menuId);

  // Return the menu object
  delete this.menus[menuId];
};

// Add menu item object
this.addMenuItem = function (menuId, options) {
  options = options || {};

  // Validate that the menu exists
  this.validateMenuExistance(menuId);

  // Push new menu item
  this.menus[menuId].items.push({
    title: options.title || '',
    state: options.state || '',
    type: options.type || 'item',
    class: options.class,
    roles: ((options.roles === null || typeof options.roles === 'undefined') ? this.defaultRoles : options.roles),
    position: options.position || 0,
    items: [],
    shouldRender: shouldRender
  });

  // Add submenu items
  if (options.items) {
    for (var i in options.items) {
      this.addSubMenuItem(menuId, options.state, options.items[i]);
    }
  }

  // See if some orphans can be integrated
  this.trySavedForLater();

  // Return the menu object
  return this.menus[menuId];
};

// Add submenu item object
this.addSubMenuItem = function (menuId, parentItemState, options) {
  options = options || {};

  // Validate that the menu exists
  this.validateMenuExistance(menuId);

  // Search for menu item
  var pushed = false;
  for (var itemIndex in this.menus[menuId].items) {
    if (this.menus[menuId].items[itemIndex].state === parentItemState) {
      // Push new submenu item
      this.menus[menuId].items[itemIndex].items.push({
        title: options.title || '',
        state: options.state || '',
        roles: ((options.roles === null || typeof options.roles === 'undefined') ? this.menus[menuId].items[itemIndex].roles : options.roles),
        position: options.position || 0,
        shouldRender: shouldRender
      });
      pushed = true;
    }
  }
  if (!pushed)
    this.saveForLater(menuId, parentItemState, options);

  // Return the menu object
  return this.menus[menuId];
};

var savedForLater = [];
this.saveForLater = function(menuId, parentItemState, options) {
  savedForLater.push({menuId: menuId, parentItemState:parentItemState, options: options});
};

this.trySavedForLater = function() {
  var tryList = savedForLater;
  savedForLater = [];
  for (var i=0; i< tryList.length; i++) {
    this.addSubMenuItem(tryList[i].menuId, tryList[i].parentItemState, tryList[i].options);
  }
};

// Remove existing menu object by menu id
this.removeMenuItem = function (menuId, menuItemState) {
  // Validate that the menu exists
  this.validateMenuExistance(menuId);

  // Search for menu item to remove
  for (var itemIndex in this.menus[menuId].items) {
    if (this.menus[menuId].items[itemIndex].state === menuItemState) {
      this.menus[menuId].items.splice(itemIndex, 1);
    }
  }

  // Return the menu object
  return this.menus[menuId];
};

// Remove existing menu object by menu id
this.removeSubMenuItem = function (menuId, submenuItemState) {
  // Validate that the menu exists
  this.validateMenuExistance(menuId);

  // Search for menu item to remove
  for (var itemIndex in this.menus[menuId].items) {
    for (var subitemIndex in this.menus[menuId].items[itemIndex].items) {
      if (this.menus[menuId].items[itemIndex].items[subitemIndex].state === submenuItemState) {
        this.menus[menuId].items[itemIndex].items.splice(subitemIndex, 1);
      }
    }
  }

  // Return the menu object
  return this.menus[menuId];
};

//Adding the topbar menu
this.addMenu('topbar', {
  roles: ['*']
});

}
]);

@codydaig would you like to pick it up from here?

Closing old issue.
@kokokenada you're welcome to chime in again and test if there's any further work you wish to suggest on this topic.


Intersection Flow Type error

Receiving the following error:
Cannot read property 'properties' of undefined
TypeError: Cannot read property 'properties' of undefined
    at annotation.types.reduce (/Users/proj/node_modules/eslint-plugin-react/lib/rules/default-props-match-prop-types.js:180:44)
    at Array.reduce (<anonymous>)
    at getPropertiesFromIntersectionTypeAnnotationNode (/Users/proj/node_modules/eslint-plugin-react/lib/rules/default-props-match-prop-types.js:173:31)
    at getPropTypesFromTypeAnnotation (/Users/proj/node_modules/eslint-plugin-react/lib/rules/default-props-match-prop-types.js:197:26)
    at Object.handleStatelessComponent (/Users/proj/node_modules/eslint-plugin-react/lib/rules/default-props-match-prop-types.js:331:42)
    at updatedRuleInstructions.(anonymous function) (/Users/proj/node_modules/eslint-plugin-react/lib/util/Components.js:666:75)
    at listeners.(anonymous function).forEach.listener (/Users/proj/node_modules/eslint/lib/util/safe-emitter.js:47:58)
    at Array.forEach (<anonymous>)
    at Object.emit (/Users/proj/node_modules/eslint/lib/util/safe-emitter.js:47:38)
    at NodeEventGenerator.applySelector (/Users/proj/node_modules/eslint/lib/util/node-event-generator.js:251:26)

When attempting to use intersection flow type like so:
import type { FieldProps } from "redux-form"

type Props = {
  label: string,
  type: string,
  options: Array<SelectOption>
} & FieldProps

I looked through previous issues and PR's and noticed similar issues however I am not sure if this has been resolved or not or if I am not doing this correctly.
Also I am using version 7.4.0 of this plugin.

I'm seeing the same issue since I enabled react/default-props-match-prop-types rule. The error goes away when I disable the rule.

Hope this helps, this is how I have been able to replicate.
This works:
// @flow

import React from 'react';
import type { ElementProps } from 'react';
import './button.scss';

type FooProps = ElementProps<'div'>;

function Foo(props: FooProps) {
    return (
        <div {...props} />
    );
}

export default Foo;

This errors (introduced additional prop 'bar'):
// @flow

import React from 'react';
import type { ElementProps } from 'react';
import './button.scss';

type FooProps = ElementProps<'div'> & {
	bar: string,
};

function Foo(props: FooProps) {
    return (
        <div {...props} />
    );
}

Foo.defaultProps = {
	bar: 'hello world',
}

export default Foo;

Could be wrong, but seems related to this issue: https://github.com/yannickcr/eslint-plugin-react/issues/1413

we're also hitting this; with the additional issue that the reference intersection type is made available from our .flowconfig's [libs] section as a declared type vs. being an imported one

// @flow

type Opts = { name: string } & { kek: Function }

// eslint crash
function foo({ name }: Opts) {}

// no error
function foo(opts: Opts) {
    const { name } = opts;
}

eslint-react-plugin crashes when see union type destructuring

I created an MR with a failing test and hopefully a resolution to this.
https://github.com/yannickcr/eslint-plugin-react/pull/1563

Fixed in #1563


ブキ統計が遅い

こういうやつが4回走るので死ぬほど遅い。


Fix an error for Rails/UniqueValidationWithoutIndex

This PR is fix an error for Rails/UniqueValidationWithoutIndex.
Code to reproduce in models/**/*.rb:
validates :name, presence: true

Occurred Error:
An error occurred while Rails/UniqueValidationWithoutIndex cop was inspecting /Users/ydah/test/app/models/test.rb:18:2.
undefined method `falsey_literal?' for nil:NilClass
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-rails-2.20.0/lib/rubocop/cop/rails/unique_validation_without_index.rb:34:in `on_send'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:143:in `public_send'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:143:in `block (2 levels) in trigger_restricted_cops'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:171:in `with_cop_error_handling'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:142:in `block in trigger_restricted_cops'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:141:in `each'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:141:in `trigger_restricted_cops'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:70:in `on_send'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-ast-1.29.0/lib/rubocop/ast/traversal.rb:137:in `block in on_dstr'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-ast-1.29.0/lib/rubocop/ast/traversal.rb:137:in `each'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-ast-1.29.0/lib/rubocop/ast/traversal.rb:137:in `on_dstr'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:71:in `on_begin'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-ast-1.29.0/lib/rubocop/ast/traversal.rb:154:in `on_class'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:71:in `on_class'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-ast-1.29.0/lib/rubocop/ast/traversal.rb:20:in `walk'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/commissioner.rb:87:in `investigate'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/team.rb:156:in `investigate_partial'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cop/team.rb:98:in `investigate'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:345:in `block in inspect_file'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:344:in `each'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:344:in `flat_map'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:344:in `inspect_file'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:287:in `block in do_inspection_loop'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:321:in `block in iterate_until_no_changes'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:314:in `loop'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:314:in `iterate_until_no_changes'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:283:in `do_inspection_loop'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:164:in `block in file_offenses'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:189:in `file_offense_cache'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:163:in `file_offenses'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:154:in `process_file'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:135:in `block in each_inspected_file'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:134:in `each'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:134:in `reduce'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:134:in `each_inspected_file'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:120:in `inspect_files'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/runner.rb:73:in `run'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli/command/execute_runner.rb:26:in `block in execute_runner'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli/command/execute_runner.rb:52:in `with_redirect'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli/command/execute_runner.rb:25:in `execute_runner'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli/command/execute_runner.rb:17:in `run'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli/command.rb:11:in `run'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli/environment.rb:18:in `run'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli.rb:118:in `run_command'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli.rb:125:in `execute_runners'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli.rb:51:in `block in run'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli.rb:77:in `profile_if_needed'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/lib/rubocop/cli.rb:43:in `run'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/exe/rubocop:19:in `block in <top (required)>'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/3.0.0/benchmark.rb:308:in `realtime'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/rubocop-1.52.1/exe/rubocop:19:in `<top (required)>'
/Users/ydah/.rbenv/versions/3.0.4/bin/rubocop:25:in `load'
/Users/ydah/.rbenv/versions/3.0.4/bin/rubocop:25:in `<top (required)>'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/cli/exec.rb:58:in `load'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/cli/exec.rb:58:in `kernel_load'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/cli/exec.rb:23:in `run'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/cli.rb:491:in `exec'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/cli.rb:34:in `dispatch'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/cli.rb:28:in `start'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/exe/bundle:45:in `block in <top (required)>'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/Users/ydah/.rbenv/versions/3.0.4/lib/ruby/gems/3.0.0/gems/bundler-2.4.3/exe/bundle:33:in `<top (required)>'
/Users/ydah/.rbenv/versions/3.0.4/bin/bundle:25:in `load'
/Users/ydah/.rbenv/versions/3.0.4/bin/bundle:25:in `<main>'

bundle exec rubocop -V
1.52.1 (using Parser <IP_ADDRESS>, rubocop-ast 1.29.0, running on ruby 3.0.4) [x86_64-darwin21]
  - rubocop-capybara 2.18.0
  - rubocop-factory_bot 2.23.1
  - rubocop-performance 1.18.0
  - rubocop-rails 2.20.0
  - rubocop-rspec 2.22.0

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.
[ ] If this is a new cop, consider making a corresponding update to the Rails Style Guide.

Anyway, this solves the problem, so let's merge it. Thank you!


How can I refresh the access token?

I'm using this adapter inside a queue. Once it's registered via Storage::extend(), it'll be reused as long as the queue is running. Unfortunately, the access token expires in 1 hour and I can't seem to refresh it.
What I was trying to do was to make a singleton out of the Google client used by the adapter then set up a scheduler task every 30 minutes where I do this app('googleClient')->refreshToken(config('filesystems.disks.google.refreshToken')); then cache the credentials and finally app('googleClient')->setAccessToken(cache('the access token')) on every job I put in the queue. Didn't work. I've also tried to refresh the token on every job and it doesn't work either.

Hello @johnRivs ,
I'm with the same issue, maybe we can think together.
I tried cleanup from tinker with:
Storage::disk('google')->getDriver()->getAdapter()->getService()->getClient()->getCache()->clear()

And don't works, but let's think in some points.
I saw that GoogleAPI package did use the PSR CacheItemPoolInterface to deal with the cache.
I don't sure if, when the process queue:worker is running, it use the same cache of my tinker, I guess not.
I want mean that, I think is not about default cache defined of application with CACHE_DRIVER and the process running has your own cache.
I dont try yet, but if the JOB run the cleanup command with ->getCache()->clear(), this will cleanup the process cache of driver? What do you think?
One bad way to fix it fast, is try run queue:restart inside our job. Because, when the worker is restarted, works. Because, I guess, the service provider is registered from zero.

This is what I ended up doing.
I have a class responsible for getting a new access token:
<?php

namespace App\Services;

use Illuminate\Support\Facades\Cache;

class Google
{
    static function refreshToken()
    {
        $credentials = app('googleClient')->refreshToken(config('filesystems.disks.google.refreshToken'));

        Cache::put('google-drive-credentials', $credentials);
    }
}

It's scheduled to run every 30 minutes:
<?php

namespace App\Console;

use App\Services\Google;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    function schedule(Schedule $schedule)
    {
        $schedule->call(function () {
            Google::refreshToken();
        })->everyThirtyMinutes();
    }
}

In EventServiceProvider.php, when a CompleteOrder job is put into the queue, I register the driver. When it's done processing, I remove the driver:
<?php

namespace App\Providers;

use App\Jobs\CompleteOrder;
use League\Flysystem\Filesystem;
use Illuminate\Support\Facades\Event;
use Illuminate\Support\Facades\Storage;
use Illuminate\Queue\Events\JobProcessed;
use Illuminate\Queue\Events\JobProcessing;
use Hypweb\Flysystem\GoogleDrive\GoogleDriveAdapter;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;

class EventServiceProvider extends ServiceProvider
{
    function register()
    {
        $this->app->singleton('googleClient', function () {
            $client = new \Google_Client();

            $client->setClientId(config('filesystems.disks.google.clientId'));
            $client->setClientSecret(config('filesystems.disks.google.clientSecret'));

            return $client;
        });
    }

    function boot()
    {
        $this->prepareGoogleStorageForQueue();
        $this->registerGoogleStorage();
    }

    function prepareGoogleStorageForQueue()
    {
        Event::listen(JobProcessing::class, function($event) {
            if ($event->job->resolveName() === CompleteOrder::class) $this->registerGoogleStorage();
        });

        Event::listen(JobProcessed::class, function($event) {
            if ($event->job->resolveName() === CompleteOrder::class) Storage::forgetDisk('google');
        });
    }

    function registerGoogleStorage()
    {
        Storage::extend('google', function() {
            app('googleClient')->setAccessToken(cache('google-drive-credentials')['access_token']);

            $service = new \Google_Service_Drive(app('googleClient'));
            $adapter = new GoogleDriveAdapter($service);

            return new Filesystem($adapter);
        });
    }
}

Hello my friend,
Thanks for share your way.
I merged my way and your way and looks good to run without scheduled task to update token.
I'm checking to ensure yet, but looks good.
I create one service to take about this:
<?php

namespace App\Services\Google;

use App\Providers\GoogleDriveAdapter;
use Storage;

class GoogelDriveStorageAuth
{
    public static  function reloadGoogleStorage()
    {
        $accessTokenExpired = Storage::disk('google')->getDriver()
            ?->getAdapter()
            ?->getService()
            ?->getClient()
            ->isAccessTokenExpired();

        if ($accessTokenExpired) {
            \Log::info('GoogelDriveStorageAuth: access token expired - Storage Reloaded');
            Storage::forgetDisk('google');
            self::registerStorage();
        }
    }

    public static function registerStorage()
    {
        \Storage::extend('google', function ($app, $config) {
            $app; // to fix grumphp settings -> variable not used
            $client = new \Google_Client();
            $client->setClientId($config['clientId']);
            $client->setClientSecret($config['clientSecret']);

            /**
             * Cache access token to reduce requests to Google
             */
            if (\Cache::has('google access token')) {
                $token = \Cache::get('google access token');
                $client->setAccessToken($token);
            }

            if ($client->isAccessTokenExpired()) {
                $refreshToken = $config['refreshToken'];
                if ($refreshToken) {
                    $token = $client->fetchAccessTokenWithRefreshToken($refreshToken);
                    $client->setAccessToken($token);
                    \Cache::add('google access token', $token);
                } else {
                    /**
                     * Invalid refresh token and or credentials
                     *
                     * Check cloud wiki on how to create an app and get credentials and refresh token
                     */
                    throw new \Exception("Invalid refresh token, check cloud wiki");
                }
            }

            $service = new \Google_Service_Drive($client);
            $options = [];
            $adapter = new GoogleDriveAdapter($service, $config['folderId'], $options);
            return new \League\Flysystem\Filesystem($adapter);
        });
    }
}

And, inside my Jobs, I put this line to, if necessary, update token:
GoogelDriveStorageAuth::reloadGoogleStorage();

Thanks

Oh yes! Great! Good point!
Thanks

https://github.com/masbug/flysystem-google-drive-ext/pull/34/files


pypyodbc plan?

Newbie to github. Don't know how to contact lionheart.
You create a great package! Thank you very much.
Do you have plan of using pypyodbc? It solved my problem when pyodbc failed to work on my mac.

As you can see by the crickets, no such plan at the moment.


Branch staff list updates

Codecov Report
Base: 72.81% // Head: 72.53% // Decreases project coverage by -0.27% :warning:

Coverage data is based on head (396e5b8) compared to base (6f9df24).
Patch coverage: 39.58% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #120      +/-   ##
============================================
- Coverage     72.81%   72.53%   -0.28%
- Complexity      626      633       +7
============================================
  Files           103      103
  Lines          1920     1948      +28
  Branches        234      235       +1
============================================
+ Hits           1398     1413      +15
- Misses          457      470      +13
  Partials         65       65

Impacted Files
Coverage Δ

src/main/java/seedu/address/model/Model.java
100.00% <ø> (ø)

src/main/java/seedu/address/ui/MainWindow.java
0.00% <0.00%> (ø)

src/main/java/seedu/address/ui/StaffListPanel.java
0.00% <ø> (ø)

...rc/main/java/seedu/address/model/ModelManager.java
67.74% <31.57%> (-7.57%)
:arrow_down:

...u/address/storage/JsonSerializableAddressBook.java
75.75% <33.33%> (-15.91%)
:arrow_down:

src/main/java/seedu/address/model/AddressBook.java
74.13% <43.75%> (-11.58%)
:arrow_down:

...rc/main/java/seedu/address/logic/LogicManager.java
77.27% <100.00%> (+14.77%)
:arrow_up:

...va/seedu/address/logic/commands/DeleteCommand.java
100.00% <100.00%> (ø)

...java/seedu/address/logic/commands/ViewCommand.java
100.00% <100.00%> (ø)

... and 1 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Handle invalid credentials

If the credentials passed are invalid and the API response does not include a token field, it fails to cast a nil interface to string and a panic occurs.

Thanks @nstafie.  Will fix.  Need to modify it so it receives into a small struct instead of that evil map.

SHA: 30252123a02ab76a8f6292491281daa782239bde does not fix this issue.


Infer number of ticks for Months, Years, and Temporal scale types

Hardcoded to five after implementing smart ticker.

Should actually just use a variation of the new smart-ticker for these.

Not any more, cause they don't exist anymore! Haha!


Don't show categories in create form you don't have create permissions on

Right now, in the create discussion form, it will show all categories as long as you don't have a "deny access" permission to, but it should also take into account whether you have create topic permissions as you only find this out when you click create and get an error message. It would be better to just not show it as a category at all.
Maybe you can extend the GetAllowedCategories method to accept a ActionType enum with options such as View, Create, Edit, Delete. That way you can request allowed categories for a given action as you may want to just check View access in some places (ie, for listing categories) but in other, such as here in the create dialog, you want to check Create permissions.

This is done in v1.7 - I haven't used an enum as I can't make it partial, it would make it difficult to allow people to create their own new permissions. So I have just stuck with a string, as we already have AppConstants for the default permissions you still get a certain amount of intellisense.
Usage like so
var allowedAccessCategories = _categoryService.GetAllowedCategories(UsersRole);
var allowedCreateTopicCategories = _categoryService.GetAllowedCategories(UsersRole, AppConstants.PermissionCreateTopics);


cache key for warm_up_cache and explore_json are not matching

Both the /warm_up_cache/ and /explore_json/ API endpoints should produce the same cache key for a given slice
Expected results
should return same cache key
Actual results
different cache key are getting generated
Screenshots
If applicable, add screenshots to help explain your problem.
How to reproduce the bug

run cache warmup for a slice
check the cache key value
explore the same slice in browser
different cache key will be generated so query will be fired.

Environment
(please complete the following information):

superset version: 1.1.0
python version: 3.8.9
node.js version: 12

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Json_Data for Explore chart
{"changed_on":1621922272000.0,"columns":["app_name"],"datasource":"1__table","extra_cache_keys":[],"extras":{"having":"","having_druid":[],"time_grain_sqla":"P1D","time_range_endpoints":["inclusive","exclusive"]},"filter":[],"granularity":null,"groupby":[],"is_rowcount":false,"is_timeseries":false,"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"column_name":"app_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":5,"is_dttm":false,"python_date_format":null,"type":"STRING","verbose_name":null},"expressionType":"SIMPLE","hasCustomLabel":false,"isNew":false,"label":"COUNT_DISTINCT(app_id)","optionName":"metric_6qp914zxuux_o2r0useg7ob","sqlExpression":null}],"order_desc":true,"orderby":[[{"aggregate":"COUNT_DISTINCT","column":{"column_name":"app_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":5,"is_dttm":false,"python_date_format":null,"type":"STRING","verbose_name":null},"expressionType":"SIMPLE","hasCustomLabel":false,"isNew":false,"label":"COUNT_DISTINCT(app_id)","optionName":"metric_6qp914zxuux_o2r0useg7ob","sqlExpression":null},false]],"rls":[],"row_limit":100,"row_offset":0,"time_range":"Last week","timeseries_limit":0,"timeseries_limit_metric":null}
Json Data for warmup
{"changed_on":"2021-05-25T05:57:52","datasource":"1__table","extra_cache_keys":[],"extras":{"druid_time_origin":"","having":"","having_druid":[],"time_grain_sqla":"P1D","time_range_endpoints":["inclusive","exclusive"],"where":""},"filter":[],"granularity":null,"groupby":["app_name"],"is_timeseries":false,"metrics":[{"aggregate":"COUNT_DISTINCT","column":{"column_name":"app_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":5,"is_dttm":false,"python_date_format":null,"type":"STRING","verbose_name":null},"expressionType":"SIMPLE","hasCustomLabel":false,"isNew":false,"label":"COUNT_DISTINCT(app_id)","optionName":"metric_6qp914zxuux_o2r0useg7ob","sqlExpression":null}],"order_desc":true,"orderby":[[{"aggregate":"COUNT_DISTINCT","column":{"column_name":"app_id","description":null,"expression":null,"filterable":true,"groupby":true,"id":5,"is_dttm":false,"python_date_format":null,"type":"STRING","verbose_name":null},"expressionType":"SIMPLE","hasCustomLabel":false,"isNew":false,"label":"COUNT_DISTINCT(app_id)","optionName":"metric_6qp914zxuux_o2r0useg7ob","sqlExpression":null},false]],"rls":[],"row_limit":100,"time_range":"Last week","timeseries_limit":0,"timeseries_limit_metric":null}

Facing the same issue, I hit warm_up_cache endpoint and it generates new key in redis.
Also, the celery job hits explore endpoint  to warm_up_cache which is non functional as well.
@ukm21 were you able to solve this ?


Left alignment on dynamic content

The title and the body text in the dynamic content card is misaligned, and should be realigned so the left sides match up.

Acceptance Criteria

[ ]  The title and body text on the dynamic content card are aligned on all devices

Steps for QA:

@ian-lin-PG taking this issue from you

Pass with release 1.56.1

Pass with release 1.56.1


Add a helper method for generating a PaginationCursor

Currently the only way to get a pagination cursor is from a query response that has more than the number of records you've queried for.
However there could be some cases where the user wants to keep track of the last record they have retrieved and retrieve subsequent records.

Codecov Report
Attention: Patch coverage is 54.28571% with 16 lines in your changes are missing coverage. Please review.

Project coverage is 90.76%. Comparing base (1d59f71) to head (76ecb16).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #513      +/-   ##
==========================================
- Coverage   90.81%   90.76%   -0.06%
==========================================
  Files         116      116
  Lines       29442    29474      +32
  Branches     2156     2156
==========================================
+ Hits        26739    26752      +13
- Misses       2668     2687      +19
  Partials       35       35

Components
Coverage Δ

agent
79.80% <33.33%> (-0.11%)
:arrow_down:

api
97.68% <85.71%> (-0.24%)
:arrow_down:

common
98.68% <ø> (ø)

credentials
95.26% <ø> (ø)

crypto
93.81% <ø> (ø)

dids
97.66% <ø> (ø)

identity-agent
96.70% <ø> (ø)

crypto-aws-kms
100.00% <ø> (ø)

proxy-agent
96.70% <ø> (ø)

user-agent
96.70% <ø> (ø)


feature/ARC 586 simple runner

ARC-586 Use simple runner by default
ARC-586 Include .mpl folder in dockerignore

Stage.BUILD job, service
Stage.TEST job, service
:test_tube: 1 :x: 0 :broken_heart: 0 :see_no_evil: 0
Stage.DEPLOY job, service


Change proto3 message types to be optional

Message types can be used as wrappers (e.g. wrappers.proto) to encode "nullable" types. For proto3, the current generated messages does not add the "has_" fields to indicate this, so I've changed it as such :)

Thanks. Related issue: #308.
It's been pending for too long and not a big change code-wise. I'll see about merging this and updating the test case.

Ok, merged to dev_proto3_msgs branch. Because it is a breaking change for a lot of code, I'll wait for some time if anyone has comments before merging to master.

Thanks @PetteriAimonen for taking this in! Didn't realise someone else did the exact same change 😆
I assume this PR can be closed off now?


addresses issue #110 add git reflog

The effect of this can be seen on new-raku go to footer, popup 'generated'
Please review the effect. Maybe reword the github related text??

Currently shows:
This page is generated from

Website/structure-sources/index.rakudoc

on 2023-02-19 at 22:18:40

Raku source files upto commit ｢305537cc6｣, see [github.com/Raku/doc/tree/305537cc6](https://github.com/Raku/doc/tree/305537cc6)

I think this can be shorted to:
This page is generated from

Website/structure-sources/index.rakudoc

on 2023-02-19 at 22:18:40, from rev 305537cc6

I changed, see new-raku
@coke please look again.
I did this yesterday and forgot to update this thread. Also please look at the RakuTM next to it

Yup, this looks good.


1.0.4b should be greater than 1.0.2

It isn't though, as pseudosem treats 4b as a pre-release version. Appending letters is a fairly common versioning method, so it should be supported. Reported via loot/loot#599.

Fixed in 214be06175809b255d7bc20cc18a3a023ff27438.


GraphiQL broken in 3.6.0

See https://github.com/graphql-java/graphql-spring-boot/commit/4cb422c663d579a25b14b326c37c1fe94ba1f981
GraphiQL page is rendered as text.

See https://github.com/graphql-java/graphql-spring-boot/pull/27

My open pull request adresses this issue.

This is fixed in 3.7.0, syncing now.


Speed up add_mixed_assign in TE Projective

This PR adds an optimization which should speed up the calls to add_assign_mixed - it adds a t coordinate on Affine points, which saves a multiplication.

@julesdesmit do we have any benchmarks to confirm the speedup and %?


Updating existing installation

I have already installed previous version. Is there any way to install new version without loosing my data?

I have already installed previous version. Is there any way to install new version without loosing my data?

No its not possible till now . But you can take backup of your data by creating an archive of your files then reinstall modded-ubuntu then simply restore it. Also search for Backup/Restore in Linux terminal and you will get some ideas.


default_allow_sql setting (a re-imagining of the old allow_sql setting)

In 49d6d2f7b0f6cb02e25022e1c9403811f1fa0a7c as part of #813 I removed the allow_sql setting - on the basis that users could disable the ability to execute custom SQL queries using the new permission system instead.
I don't think this was the right decision. Disabling custom SQL is an important security capability, and explaining how to do it using permissions is significantly  more complex than letting people know they can add --setting allow_sql off.
So I want to bring that setting back - maybe with a different, better name - and have it modify the default for that option if the permissions system doesn't have an opinion.
That way people can still use the setting but then use permissions to allow specific signed-in users access to execute SQL.

I think I may like disable_sql better. Some options:

--setting allow_sql off (consistent with allow_facet and allow_download and allow_csv_stream - all which default to on already)
--setting disable_sql on
--setting disable_custom_sql on

The existence of three allow_* settings does make a strong argument for staying consistent with that.

I think I can make this modification by teaching the default permissions code here to take the allow_sql setting into account: https://github.com/simonw/datasette/blob/ff253f5242e4b0b5d85d29d38b8461feb5ea997a/datasette/default_permissions.py#L38-L45

The other option would be to use the setting to pick the default= argument when calling self.ds.permission_allowed( request.actor, "execute-sql", resource=database, default=True).
The problem with that is that there are actually a few different places which perform that check, so changing all of them raises the risk of missing one in the future:
https://github.com/simonw/datasette/blob/a6c8e7fa4cffdeff84e9e755dcff4788fd6154b8/datasette/views/table.py#L436-L444
https://github.com/simonw/datasette/blob/a6c8e7fa4cffdeff84e9e755dcff4788fd6154b8/datasette/views/table.py#L964-L966
https://github.com/simonw/datasette/blob/d23a2671386187f61872b9f6b58e0f80ac61f8fe/datasette/views/database.py#L220-L221
https://github.com/simonw/datasette/blob/d23a2671386187f61872b9f6b58e0f80ac61f8fe/datasette/views/database.py#L343-L345
https://github.com/simonw/datasette/blob/d23a2671386187f61872b9f6b58e0f80ac61f8fe/datasette/views/database.py#L134-L136

I think the correct solution is for the default permissions logic to take the allow_sql setting into account, and to return False if that setting is set to off AND the current actor fails the actor_matches_allow checks.

My rationale for removing it: https://github.com/simonw/datasette/issues/813#issuecomment-640916290

Naming problem: Datasette already has a config option with this name:
$ datasette serve data.db --config allow_sql:1

https://datasette.readthedocs.io/en/stable/config.html#allow-sql
It's confusing to have two things called allow_sql that do slightly different things.
I could retire the --config allow_sql:0 option entirely, since the new metadata.json mechanism can be used to achieve the exact same thing.
I'm going to do that.

This is true. The "allow_sql" permissions block in metadata.json does indeed have a name that is easily confused with --setting allow_sql off.
So I definitely need to pick a different name from the setting. --setting default_allow_sql off is a good option here.

One of these two options:

--setting default_allow_sql off
--setting allow_sql_default off

Existing settings from https://docs.datasette.io/en/0.58.1/settings.html with similar names that I need to be consistent with:

default_page_size
allow_facet
default_facet_size
allow_download
default_cache_ttl
default_cache_ttl_hashed
allow_csv_stream

I think default_allow_sql is more consistent with the current naming conventions.

If I was prone to over-thinking (which I am) I'd note that allow_facet and allow_csv_stream are both settings that do NOT have an equivalent in the newer permissions system, which is itself a little weird and inconsistent.
So maybe there's a future task where I introduce those as both permissions and metadata "allow_x" blocks, then rename the settings themselves to be called default_allow_download and default_allow_csv_stream.

Documentation:

https://docs.datasette.io/en/latest/authentication.html#controlling-the-ability-to-execute-arbitrary-sql
https://docs.datasette.io/en/latest/settings.html#setting-default-allow-sql


Cache fills up forever

A simple solution: Set a max limit, throw away half the map when full before inserting.
Must clear etag cache at the same time, otherwise the 304 check flow will be broken when we start deleting cached items.

Another solution that can be made quite simple is an LRU cache.
We can evict the least recently used element when inserting a new item, if full.
It would mean we also have to update a last_used timestamp for every get operation.


Getting error in import of the @import '~material-design-icons-iconfont/src/material-design-icons';

Getting error in import of the @import '~material-design-icons-iconfont/src/material-design-icons'; in angular 16.
This import was working in angular 13 but after migration from angular 13 to v16 import the icons giving error.
Error: "Module build failed (from ./node_modules/sass-loader/dist/cjs.js): Can't find stylesheet to import."

Request to help in this.
My Environment is as below:

Have a similar issue after migrating to Angular v17, and after adding Native Federation to the project:
X [ERROR] No loader is configured for ".eot" files: node_modules/material-design-icons-iconfont/dist/fonts/MaterialIcons-Regular.eot

    node_modules/material-design-icons-iconfont/dist/material-design-icons.css:7:11:
      7 │   src: url("./fonts/MaterialIcons-Regular.eot");
        ╵            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1 of 7 errors shown (disable the message limit with --log-limit=0)
 ERR!  Error bundling shared npm package
 ERR!  Build failed with 7 errors:
 ERR!  node_modules/@angular/flex-layout/fesm2020/angular-flex-layout-server.mjs:4:38: ERROR: Could not resolve "@angular/platform-server"
 ERR!  node_modules/material-design-icons-iconfont/dist/material-design-icons.css:7:11: ERROR: No loader is configured for ".eot" files: node_modules/material-design-icons-iconfont/dist/fonts/MaterialIcons-Regular.eot
 ERR!  node_modules/material-design-icons-iconfont/dist/material-design-icons.css:9:25: ERROR: No loader is configured for ".woff2" files: node_modules/material-design-icons-iconfont/dist/fonts/MaterialIcons-Regular.woff2
 ERR!  node_modules/material-design-icons-iconfont/dist/material-design-icons.css:9:85: ERROR: No loader is configured for ".woff" files: node_modules/material-design-icons-iconfont/dist/fonts/MaterialIcons-Regular.woff
 ERR!  node_modules/material-design-icons-iconfont/dist/material-design-icons.css:9:143: ERROR: No loader is configured for ".ttf" files: node_modules/material-design-icons-iconfont/dist/fonts/MaterialIcons-Regular.ttf
 ERR!  ...

Was able to get our application running again with this configuration modification
package.json
"material-design-icons-iconfont": "6.7.0",
angular.json
"stylePreprocessorOptions": {
"includePaths": [
"node_modules/material-design-icons-iconfont",
app.scss
@import 'src/material-design-icons.scss';