Cannot install prism on OpenBSD/adJ 7.4

Trying to install globally with
doas gem install prism

produces:
Fetching prism-0.24.0.gem
Building native extensions. This could take a while...
ERROR:  Error installing prism:
        ERROR: Failed to build gem native extension.

    current directory: /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/ext/prism
/usr/local/bin/ruby33 extconf.rb
checking for prism.h in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/include... yes
checking for prism/extension.h in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/ext... yes
checking for whether -fvisibility=hidden is accepted as CFLAGS... yes
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
building build/libprism.a
ar: warning: creating build/libprism.a
ar: error: build/libprism.a: No such file or directory
*** Error 1 in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0 (Makefile:36 'build/libprism.a': @ ar r build/libprism.a  >/dev/null)
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include=${opt-dir}/include
        --without-opt-include
        --with-opt-lib=${opt-dir}/lib
        --without-opt-lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/local/bin/$(RUBY_BASE_NAME)33
        --enable-debug-mode-build
        --disable-debug-mode-build
extconf.rb:41:in `system': Command failed with exit 2: make (RuntimeError)
        from extconf.rb:41:in `block in make'
        from extconf.rb:40:in `chdir'
        from extconf.rb:40:in `make'
        from extconf.rb:92:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /usr/local/lib/ruby/gems/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0 for inspection.
Results logged to /usr/local/lib/ruby/gems/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/gem_make.out

The contents of the file  /usr/local/lib/ruby/gems/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/gem_make.out is
current directory: /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/ext/prism
/usr/local/bin/ruby33 extconf.rb
checking for prism.h in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/include... yes
checking for prism/extension.h in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/ext... yes
checking for whether -fvisibility=hidden is accepted as CFLAGS... yes
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
building build/libprism.a
ar: warning: creating build/libprism.a
ar: error: build/libprism.a: No such file or directory
*** Error 1 in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0 (Makefile:36 'build/libprism.a': @ ar r build/libprism.a  >/dev/null)
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include=${opt-dir}/include
	--without-opt-include
	--with-opt-lib=${opt-dir}/lib
	--without-opt-lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/local/bin/$(RUBY_BASE_NAME)33
	--enable-debug-mode-build
	--disable-debug-mode-build
extconf.rb:41:in `system': Command failed with exit 2: make (RuntimeError)
	from extconf.rb:41:in `block in make'
	from extconf.rb:40:in `chdir'
	from extconf.rb:40:in `make'
	from extconf.rb:92:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /usr/local/lib/ruby/gems/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/mkmf.log

extconf failed, exit code 1

The contents of the file /usr/local/lib/ruby/gems/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/mkmf.log is:
find_header: checking for prism.h in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/include... -------------------- yes

LD_LIBRARY_PATH=.:/usr/local/lib "cc -o conftest -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC conftest.c  -L. -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L. -L/usr/local/lib -fstack-protector-strong -Wl,-E -Wl,--no-as-needed -lpthread -lc++abi     -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lruby33  -lm -pthread  -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return !!argv[argc];
6: }
/* end */

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC   -c conftest.c"
conftest.c:3:10: fatal error: 'prism.h' file not found
#include <prism.h>
         ^~~~~~~~~
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <prism.h>
/* end */

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC  -I/usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/include -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <prism.h>
/* end */

--------------------

find_header: checking for prism/extension.h in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/ext... -------------------- yes

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -I/usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/include -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC   -c conftest.c"
conftest.c:3:10: fatal error: 'prism/extension.h' file not found
#include <prism/extension.h>
         ^~~~~~~~~~~~~~~~~~~
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <prism/extension.h>
/* end */

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -I/usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/include -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC  -I/usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/ext -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <prism/extension.h>
/* end */

--------------------

append_cflags: checking for whether -fvisibility=hidden is accepted as CFLAGS... -------------------- yes

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -I/usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/include -I/usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0/ext -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC  -fvisibility=hidden -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return !!argv[argc];
6: }
/* end */

--------------------

Something similar happens when I try to update any application or engine that uses the gem rubocop, for example trying to update the open source engine msip available at https://gitlab.com/pasosdeJesus/msip:
% bundle update
Fetching https://github.com/kreeti/kt-paperclip.git
Fetching https://github.com/vtamara/cocoon.git
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Installing prism 0.24.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /var/www/bundler/ruby/3.3/gems/prism-0.24.0/ext/prism
/usr/local/bin/ruby33 extconf.rb
checking for prism.h in /var/www/bundler/ruby/3.3/gems/prism-0.24.0/include...
yes
checking for prism/extension.h in
/var/www/bundler/ruby/3.3/gems/prism-0.24.0/ext... yes
checking for whether -fvisibility=hidden is accepted as CFLAGS... yes
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
building build/libprism.a
ar: warning: creating build/libprism.a
ar: error: build/libprism.a: No such file or directory
*** Error 1 in /var/www/bundler/ruby/3.3/gems/prism-0.24.0 (Makefile:36
'build/libprism.a': @ ar r build/libprism.a  >/dev/null)
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include=${opt-dir}/include
        --without-opt-include
        --with-opt-lib=${opt-dir}/lib
        --without-opt-lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=/usr/local/bin/$(RUBY_BASE_NAME)33
        --enable-debug-mode-build
        --disable-debug-mode-build
extconf.rb:41:in `system': Command failed with exit 2: make (RuntimeError)
        from extconf.rb:41:in `block in make'
        from extconf.rb:40:in `chdir'
        from extconf.rb:40:in `make'
        from extconf.rb:92:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which
can be found here:

  /var/www/bundler/ruby/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /var/www/bundler/ruby/3.3/gems/prism-0.24.0
for inspection.
Results logged to
/var/www/bundler/ruby/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/gem_make.out

  /usr/local/lib/ruby/site_ruby/3.3/rubygems/ext/builder.rb:125:in `run'
/usr/local/lib/ruby/site_ruby/3.3/rubygems/ext/ext_conf_builder.rb:28:in
`build'
/usr/local/lib/ruby/site_ruby/3.3/rubygems/ext/builder.rb:193:in
`build_extension'
/usr/local/lib/ruby/site_ruby/3.3/rubygems/ext/builder.rb:227:in `block in
build_extensions'
  /usr/local/lib/ruby/site_ruby/3.3/rubygems/ext/builder.rb:224:in `each'
/usr/local/lib/ruby/site_ruby/3.3/rubygems/ext/builder.rb:224:in
`build_extensions'
/usr/local/lib/ruby/site_ruby/3.3/rubygems/installer.rb:852:in
`build_extensions'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/rubygems_gem_installer.rb:76:in
`build_extensions'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/rubygems_gem_installer.rb:28:in
`install'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/source/rubygems.rb:205:in
`install'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/installer/gem_installer.rb:54:in
`install'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/installer/gem_installer.rb:16:in
`install_from_spec'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/installer/parallel_installer.rb:132:in
`do_install'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/installer/parallel_installer.rb:123:in
`block in worker_pool'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/worker.rb:62:in
`apply_func'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/worker.rb:57:in
`block in process_queue'
  <internal:kernel>:187:in `loop'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/worker.rb:54:in
`process_queue'
/usr/local/lib/ruby/gems/3.3/gems/bundler-2.5.6/lib/bundler/worker.rb:90:in
`block (2 levels) in create_threads'

An error occurred while installing prism (0.24.0), and Bundler cannot
continue.

In Gemfile:
  code-scanning-rubocop was resolved to 0.6.1, which depends on
    rubocop was resolved to 1.61.0, which depends on
      rubocop-ast was resolved to 1.31.0, which depends on
        prism

The file /var/www/bundler/ruby/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/gem_make.out is
current directory: /var/www/bundler/ruby/3.3/gems/prism-0.24.0/ext/prism
/usr/local/bin/ruby33 extconf.rb
checking for prism.h in /var/www/bundler/ruby/3.3/gems/prism-0.24.0/include... yes
checking for prism/extension.h in /var/www/bundler/ruby/3.3/gems/prism-0.24.0/ext... yes
checking for whether -fvisibility=hidden is accepted as CFLAGS... yes
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
building build/libprism.a
ar: warning: creating build/libprism.a
ar: error: build/libprism.a: No such file or directory
*** Error 1 in /var/www/bundler/ruby/3.3/gems/prism-0.24.0 (Makefile:36 'build/libprism.a': @ ar r build/libprism.a  >/dev/null)
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include=${opt-dir}/include
	--without-opt-include
	--with-opt-lib=${opt-dir}/lib
	--without-opt-lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/local/bin/$(RUBY_BASE_NAME)33
	--enable-debug-mode-build
	--disable-debug-mode-build
extconf.rb:41:in `system': Command failed with exit 2: make (RuntimeError)
	from extconf.rb:41:in `block in make'
	from extconf.rb:40:in `chdir'
	from extconf.rb:40:in `make'
	from extconf.rb:92:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /var/www/bundler/ruby/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/mkmf.log

extconf failed, exit code 1

and the contents of /var/www/bundler/ruby/3.3/extensions/x86_64-openbsd/3.3/prism-0.24.0/mkmf.log is
find_header: checking for prism.h in /var/www/bundler/ruby/3.3/gems/prism-0.24.0/include... -------------------- yes

LD_LIBRARY_PATH=.:/usr/local/lib "cc -o conftest -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC conftest.c  -L. -L/usr/local/lib -Wl,-rpath,/usr/local/lib -L. -L/usr/local/lib -fstack-protector-strong -Wl,-E -Wl,--no-as-needed -lpthread -lc++abi     -Wl,-rpath,/usr/local/lib -L/usr/local/lib -lruby33  -lm -pthread  -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return !!argv[argc];
6: }
/* end */

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC   -c conftest.c"
conftest.c:3:10: fatal error: 'prism.h' file not found
#include <prism.h>
         ^~~~~~~~~
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <prism.h>
/* end */

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC  -I/var/www/bundler/ruby/3.3/gems/prism-0.24.0/include -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <prism.h>
/* end */

--------------------

find_header: checking for prism/extension.h in /var/www/bundler/ruby/3.3/gems/prism-0.24.0/ext... -------------------- yes

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -I/var/www/bundler/ruby/3.3/gems/prism-0.24.0/include -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC   -c conftest.c"
conftest.c:3:10: fatal error: 'prism/extension.h' file not found
#include <prism/extension.h>
         ^~~~~~~~~~~~~~~~~~~
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <prism/extension.h>
/* end */

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -I/var/www/bundler/ruby/3.3/gems/prism-0.24.0/include -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC  -I/var/www/bundler/ruby/3.3/gems/prism-0.24.0/ext -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <prism/extension.h>
/* end */

--------------------

append_cflags: checking for whether -fvisibility=hidden is accepted as CFLAGS... -------------------- yes

LD_LIBRARY_PATH=.:/usr/local/lib "cc -I/usr/local/include/ruby-3.3/x86_64-openbsd -I/usr/local/include/ruby-3.3/ruby/backward -I/usr/local/include/ruby-3.3 -I. -I/var/www/bundler/ruby/3.3/gems/prism-0.24.0/include -I/var/www/bundler/ruby/3.3/gems/prism-0.24.0/ext -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include   -O2 -pipe -g -fdeclspec -fno-fast-math -ggdb3 -Wall -Wextra -Wextra-tokens -Wdeprecated-declarations -Wdivision-by-zero -Wdiv-by-zero -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wshorten-64-to-32 -Wwrite-strings -Wold-style-definition -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Wmisleading-indentation -Wundef -fPIC  -fvisibility=hidden -Werror -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main(int argc, char **argv)
4: {
5:   return !!argv[argc];
6: }
/* end */

--------------------

So although the path where prism.h and prism/extension.h are detected, those paths are not added during the compilation with -I.

What do you get when you run ruby -e 'puts RbConfig::CONFIG["SOEXT"]' on the command line?

What do you get when you run ruby -e 'puts RbConfig::CONFIG["SOEXT"]' on the command line?

 % ruby -e 'puts RbConfig::CONFIG["SOEXT"]'
so

What make are you using? make --version

What make are you using? make --version

Thanks for answering.
OpenBSD 7.4 make that should be compliant with POSIX make:
 % make --version
make: unknown option -- -
usage: make [-BeiknpqrSst] [-C directory] [-D variable] [-d flags] [-f mk]
            [-I directory] [-j max_jobs] [-m directory] [-V variable]
            [NAME=value ...] [target ...]

I also have installed the package gmake 4.4.1 that provides GNU make:
% gmake --version
GNU Make 4.4.1
Este programa fue construido para x86_64-unknown-openbsd7.4
Copyright (C) 1988-2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

But you guessed right, when I run:
% cd /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0
% doas make build/libprism.a

I get:
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
Bad modifier: :CONFIG["SOEXT"]')
linking build/libprism.
cc: error: no input files
*** Error 1 in /usr/local/lib/ruby/gems/3.3/gems/prism-0.24.0 (Makefile:32 'build/libprism.': @ cc  -g -O2 -std=c99 -Wall -Werror -Wextra -W...)

But if instead make I use gmake:
% doas gmake build/libprism.a
compiling build/static/diagnostic.o
compiling build/static/encoding.o
compiling build/static/node.o
compiling build/static/options.o
compiling build/static/pack.o
compiling build/static/prettyprint.o
compiling build/static/prism.o
compiling build/static/regexp.o
compiling build/static/serialize.o
compiling build/static/token_type.o
compiling build/static/util/pm_buffer.o
compiling build/static/util/pm_char.o
compiling build/static/util/pm_constant_pool.o
compiling build/static/util/pm_list.o
compiling build/static/util/pm_memchr.o
compiling build/static/util/pm_newline_list.o
compiling build/static/util/pm_state_stack.o
compiling build/static/util/pm_string.o
compiling build/static/util/pm_string_list.o
compiling build/static/util/pm_strncasecmp.o
compiling build/static/util/pm_strpbrk.o
building build/libprism.a
ar: warning: creating build/libprism.a

I have not written a gem with native extension, but other gems with native extensions use to work withouth issue (I wonder if they generate/use standard Makefiles), for example:
 % doas gem install bcrypt
Fetching bcrypt-3.1.20.gem
Building native extensions. This could take a while...
Successfully installed bcrypt-3.1.20
Parsing documentation for bcrypt-3.1.20
Installing ri documentation for bcrypt-3.1.20
Done installing documentation for bcrypt after 1 seconds
1 gem installed

% doas gem install racc
Building native extensions. This could take a while...
Successfully installed racc-1.7.3
Parsing documentation for racc-1.7.3
Installing ri documentation for racc-1.7.3
Done installing documentation for racc after 1 seconds
1 gem installed

ls -l  /var/www/bundler/ruby/3.3/extensions/x86_64-openbsd/3.3

drwxr-xr-x  2 vtamara  www  512 Feb  4 06:29 bcrypt-3.1.18
drwxr-xr-x  2 root     www  512 Feb 12 08:46 bcrypt-3.1.20
drwxr-xr-x  2 root     www  512 Feb 24 15:00 better_html-2.0.2
drwxr-xr-x  2 root     www  512 Feb 12 08:46 bigdecimal-3.1.6
drwxr-xr-x  3 root     www  512 Feb 12 08:46 bindex-0.8.1
drwxr-xr-x  3 root     www  512 Feb 12 08:46 bootsnap-1.18.3
drwxr-xr-x  3 root     www  512 Feb 24 15:00 byebug-11.1.3
drwxr-xr-x  2 root     www  512 Feb 12 08:47 date-3.3.3
drwxr-xr-x  3 root     www  512 Feb 12 08:47 debug-1.9.1
drwxr-xr-x  2 vtamara  www  512 Feb  4 06:29 ffi-1.15.5
drwxr-xr-x  2 root     www  512 Feb 12 08:47 ffi-1.16.3
drwxr-xr-x  2 vtamara  www  512 Feb  4 06:29 io-console-0.6.0
drwxr-xr-x  3 root     www  512 Feb 12 08:47 io-console-0.7.2
drwxr-xr-x  2 root     www  512 Feb 12 08:47 kgio-2.11.4
drwxr-xr-x  2 vtamara  www  512 Feb  4 06:29 libxml-ruby-4.0.0
drwxr-xr-x  2 root     www  512 Feb 12 08:48 libxml-ruby-5.0.2
drwxr-xr-x  2 vtamara  www  512 Feb  4 06:29 msgpack-1.6.0
drwxr-xr-x  3 root     www  512 Feb 12 08:48 msgpack-1.7.2
drwxr-xr-x  2 vtamara  www  512 Feb  4 06:29 nio4r-2.5.8
drwxr-xr-x  2 root     www  512 Feb 12 08:48 nio4r-2.7.0
drwxr-xr-x  3 root     www  512 Feb  4 07:35 nokogiri-1.16.1
drwxr-xr-x  3 root     www  512 Feb 12 08:51 nokogiri-1.16.2
drwxr-xr-x  2 vtamara  www  512 Feb  4 06:29 pg-1.4.5
drwxr-xr-x  3 root     www  512 Feb 12 08:52 pg-1.5.4
drwxr-xr-x  3 root     www  512 Feb 17 18:02 pg-1.5.5
drwxr-xr-x  2 root     www  512 Feb 12 08:52 psych-5.1.2
drwxr-xr-x  3 root     www  512 Feb 12 08:52 puma-6.4.2
drwxr-xr-x  2 vtamara  www  512 Feb  4 06:29 racc-1.6.2
drwxr-xr-x  3 root     www  512 Feb 12 08:52 racc-1.7.3
drwxr-xr-x  2 vtamara  www  512 Feb  4 06:30 raindrops-0.20.0
drwxr-xr-x  2 root     www  512 Feb 12 08:52 raindrops-0.20.1
drwxr-xr-x  2 root     www  512 Feb 12 08:53 redcarpet-3.6.0
drwxr-xr-x  3 root     www  512 Feb 24 15:00 rgeo-3.0.1
drwxr-xr-x  3 root     www  512 Feb 24 21:36 rugged-1.7.1
drwxr-xr-x  3 root     www  512 Feb 24 21:32 rugged-1.7.2
drwxr-xr-x  3 root     www  512 Feb  4 08:32 sassc-2.4.0
drwxr-xr-x  2 root     www  512 Feb 12 08:53 stringio-3.1.0
drwxr-xr-x  2 root     www  512 Feb 12 08:53 unicorn-6.1.0
drwxr-xr-x  2 vtamara  www  512 Feb  4 06:29 websocket-driver-0.7.5
drwxr-xr-x  2 root     www  512 Feb 12 08:53 websocket-driver-0.7.6

This makes me think we're using GNU make -specific syntax. I'll have a look.

This makes me think we're using GNU make -specific syntax. I'll have a look.

Yeah, the $(shell ...) and $(subst ...) aren't compatible. And also the pattern rules with %. BSD makes have alternatives for some of this stuff, but they're also not portable...
BTW, they're patching it to use gmake in the FreeBSD ports:
https://github.com/freebsd/freebsd-ports/blob/main/textproc/rubygem-prism/files/patch-ext-prism-extconf.rb

@vtamara so does it work if you use gmake? I don't have a lot of experience with this — @Math2 do you think it's worth it to try to have a BSDmakefile here or is it common enough to say "just use gmake"?

In the linked PR I've changed the documentation to indicate that GNU make is required and I've added a BSDmakefile which will proxy all of the make commands over to GNU make. Hopefully that fixes your issue. I haven't solved the problem of if BSD make is the only make on the system, but I'm hoping that's not a requirement.

The proposed solution doesn't work on OpenBSD because its make will not use BSDmakefile.
It could use BSDmakefile with make -f BSDmakefile  but with no arguments it will use Makefile.

@vtamara In that case I think https://github.com/ruby/prism/pull/2550 should work

Thanks @kddnewton, #2550 worked.


Metal3 - Network interfaces - Use specific naming scheme

Since metal3:0:8:0 and the use of a ramdisk image based on Leap/SLES 15.6, the names of the network interfaces detected during introspection have changed
As explained by @hardys metal3 0.7.x is 15.5 based ramdisk which used systemd-249.17 while the metal3 0.8.x ramdisk is 15.6 based and used systemd-254.15
metal3:0:7:x :
network_interfaces:
      bond0:
        type: bond
        interfaces:
          - enp75s0f0
          - enp75s0f1

metal3:0.8.x :
network_interfaces:
      bond0:
        type: bond
        interfaces:
          - enp75s0f0np0
          - enp75s0f1np1

We have tried to define net.naming-scheme=v249  in IronicKernelParams without success for the moment.

Sorry for the slow response @rletrocquer - I looked into this and I believe this may be related to a device driver change, specifically I think the Intel i40e driver gained devlink support, which impacts the nic naming.
Unfortunately that naming isn't controlled by the systemd naming-scheme, and even if we can configure the driver to enable the old naming, it will likely then mean the IPA names are inconsistent with newer kernels.
I'm open to suggestions re how we proceed here, but currently I think this is unfortunately a migration path issue related to kernel updates, and it will be impossible to ensure the IPA names always align with different older/newer target OS kernels.

According to your answer @hardys, unfortunately I think we can close the issue.


Figmagic gradients appear different from Figma

Describe the bug
There's difference in the gradient that Figma outputs and the one that figmagic returns. Both in the angle of the gradient, and in the color stops.
You can see an example of this in the code pen I created.
https://codepen.io/tmusser-illumina/pen/jOBJdGb
Figma value linear-gradient(61.68deg, #0045E6 -4.27%, #FDDD33 116.09%)
Figmagic value linear-gradient(8.62deg, rgba(0, 69, 230, 1) 10%, rgba(253, 221, 51, 1) 100%)
To Reproduce
Steps to reproduce the behavior:

Have a gradient color on the colors page
Run figmagic
Check output and compare to figma inspector

Expected behavior
I would expect the same gradient settings between Figma and Figmagic
Screenshots

Figma File
Code Pen Example

Gradient angle in Figma

Additional context
RGBA colors/values are fine.
Json from Files API for gradient in question
{
  "id": "3279:0",
  "name": "TJFINDME",
  "type": "RECTANGLE",
  "blendMode": "PASS_THROUGH",
  "absoluteBoundingBox": {
    "x": -2372.0,
    "y": -1033.0,
    "width": 120.0,
    "height": 120.0
  },
  "preserveRatio": true,
  "constraints": {
    "vertical": "TOP",
    "horizontal": "LEFT"
  },
  "fills": [
    {
      "blendMode": "NORMAL",
      "type": "GRADIENT_LINEAR",
      "gradientHandlePositions": [
        {
          "x": 0.028397589928173650,
          "y": 1.5776396405568802
        },
        {
          "x": 0.48260872530965471,
          "y": -1.4196428150293696
        },
        {
          "x": 1.9517800440212534,
          "y": 5.1467014794766746
        }
      ],
      "gradientStops": [
        {
          "color": {
            "r": 0.0,
            "g": 0.27150836586952209,
            "b": 0.90196079015731812,
            "a": 1.0
          },
          "position": 0.10496804118156433
        },
        {
          "color": {
            "r": 0.99215686321258545,
            "g": 0.86516082286834717,
            "b": 0.19843137264251709,
            "a": 1.0
          },
          "position": 1.0
        }
      ]
    }
  ],
  "strokes": [],
  "strokeWeight": 1.0,
  "strokeAlign": "INSIDE",
  "effects": [],
  "cornerRadius": 4.0,
  "rectangleCornerRadii": [
    4.0,
    4.0,
    4.0,
    4.0
  ]
}

My FIgmagic settings
{
  "debugMode": false,
  "figmaData": "figma.json",
  "fontUnit": "rem",
  "letterSpacingUnit": "em",
  "outputFolderGraphics": "./dist/graphics",
  "outputFolderTokens": "./dist/tokens",
  "outputFormatCss": "ts",
  "outputFormatDesc": "md",
  "outputFormatGraphics": "svg",
  "outputScaleGraphics": 1,
  "outputFormatTokens": "js",
  "syncElements": false,
  "skipFileGeneration": {
    "forceUpdate": true,
    "skipCss": false,
    "skipDescription": false,
    "skipReact": true,
    "skipStorybook": true,
    "skipStyled": true
  },
  "remSize": 16,
  "syncTokens": true,
  "spacingUnit": "px",
}

Hi and thanks for the reproducible example. I looked at this when you first posted it, but my work did not fully cover a solution.
This will have to be on hold from my side until I get more time to look into this.

I've worked on this, to and from, a couple of times since this issue originally popped up. Most recently I also used ChatGPT as well as finding more recent discussions around the gradient handle positions and gradients overall, out on the internet.
Some things seem pretty simple to understand, such as how color positions work in strictly straight lines (0, 90 degrees etc.) but I can't seem to figure out the math when the handles are originating from outside a frame.
There is no obvious way that the Figma-provided output (in the Dev Mode, for example) is calculated, at least to my degree of competence.


[FIX] Reconnect wait was not being honored

The reconnect wait option was not being honored.  Adjust the reconnect logic to honor it.
Partially resolves #329.

Thanks for the reviews.  I moved the check into the loop.

I have no clue why but can't trigger a re-run for the single flapping CI test.  Safe to merge IMO.


Question: Flight Copilot App Deployment Example

Hi @james-tn,
Do you have an example of a deployment script to run the app in Azure?
https://github.com/microsoft/OpenAIWorkshop/tree/main/scenarios/incubations/copilot/realtime_streaming
Now I am experimenting with a similar use case and I found your showcase quite helpful. It would be great if you could provide a template for the automated deployment of Azure resources.
Thanks!

You can review the bicep template in this, and use azd to deploy: https://github.com/microsoft/OpenAIWorkshop/tree/main/infra


Automate CLA check in CI

Expected behavior
As part of this, let's introduce a CLA GitHub PR check which will make sure PRs raised for the repo should've CLA signed by all the contributors. Otherwise, PR should fail. We can use GitHub actions along with some boilerplate code.
Actual behavior
Currently, we don't have these checks in PRs, folks have to manually check PRs whether CLA is signed or not.
Steps to reproduce
N/A
Minimal yet complete reproducer code (or URL to code)

https://github.com/netty/netty/pull/11938#issuecomment-997748989

Netty version
N/A
JVM version (e.g. java -version)
N/A
OS version (e.g. uname -a)
N/A

Let me see if I can make this happen


New quotes added in noraabalogh.json

Check one of the below boxes as per your PR

[x] Adding more quotes issue
[ ] Fixes another issue #00 (<=== Add issue number here)

Make sure these boxes are checked before your pull request (PR) is ready to be reviewed and merged. Thanks!

[x] PR is descriptively titled 📑 and links the original issue above 🔗
[x] code is in uniquely-named branch and has no merge conflicts 📁
[ ] screenshots/GIFs are attached 📎 if applicable
[ ] ask @avats-dev for help, in a comment below

Thanks!

@norabalogh awesome work, thanks for contributing. Can you reverse the order, i.e quote followed by author for the sake of consistency? There is nothing wrong as json is valid.

Hi! I've changed it ;) Thanks

@norabalogh awesome work, thanks for contributing. Can you reverse the order, i.e quote followed by author for the sake of consistency? There is nothing wrong as json is valid.

Hi @avats-dev, I've changed what you asked. Could you please merge my request?

Hi @avats-dev! Is my PR good now? Could you please review it and merge it? Thank you!


Upgrade available but not installing

Brief description of your issue
I ask winget for available upgrades. I tell it, then, to upgrade one. It tells me no applicable upgrade was found.
Steps to reproduce
> winget source update ; winget upgrade
Updating all sources...
Updating source: msstore...
Done
Updating source: winget...
  ██████████████████████████████  100%
Done
Name             Id                       Version     Available   Source
------------------------------------------------------------------------
Microsoft Teams  Microsoft.Teams          <IP_ADDRESS>76 <IP_ADDRESS>89 winget
Markdown Monster WestWind.MarkdownMonster <IP_ADDRESS>     <IP_ADDRESS>     winget
2 upgrades available.
> winget upgrade WestWind.MarkdownMonster
No applicable update found.

Expected behavior
It should've upgraded Markdown Monster
Actual behavior
It says no upgrade is available despite previously showing me an available one
Environment
> winget --info
Windows Package Manager v1.2.10271
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22572.201
Package: Microsoft.DesktopAppInstaller v1.17.10271.0

Can you provide the log files which are created when you try winget upgrade WestWind.MarkdownMonster --verbose-logs ?

ran that command:
> winget upgrade WestWind.MarkdownMonster --verbose-logs
No applicable update found.

Where are the logs put? (side note: would be great to simply print out "Logs written to XXXX" when you run a command with --verbose-logs

@brandonh-msft you can run winget --info to see the log path.

@brandonh-msft you can run winget --info to see the log path.
Log in this gist

@brandonh-msft how many instances of MarkdownMonster are displayed in Windows Apps & Features? It's possible we detected an older version, and the newer version was already installed.

Looks like it may be an issue with [winget-pkgs] specifying the wrong scope -
2022-03-23 08:05:56.518 [CLI ] Installer [X64,inno,User,] not applicable: Installer scope does not matched currently installed scope: User != Machine

Looks like it may be an issue with [winget-pkgs] specifying the wrong scope -

Could be. In my winget settings I've added the install pref to prefer User install instead of machine install
    "installBehavior": {
        "preferences": {
            "scope": "user"
        }
    }

That is true, but unless I'm wrong, a preference shouldn't cause the failure, only a requirement should. Is this accurate @denelon ?
Either way, when I try it on a sandbox and default settings, I get the same error. Changing the metadata in the manifest seemed to resolve the error in my sandbox environment, so I've opened a few PR's over at winget-pkgs

If a package supports both scopes, then the preference would be honored. If it only supported the other scope, having the preference would allow the other scope to be used. Or at least that's what it's supposed to do (there might be a bug).

Looks like it may be an issue with [winget-pkgs] specifying the wrong scope -
2022-03-23 08:05:56.518 [CLI ] Installer [X64,inno,User,] not applicable: Installer scope does not matched currently installed scope: User != Machine

The installer places the registry entries at
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{E3476879-4D00-405A-B058-90D4AEAD7C4A}_is1

It's related to what's happening in https://github.com/microsoft/winget-pkgs/issues/47655 (@OfficialEsco) due to the installer placing the registry entry in the incorrect location which prevents the upgrades from working.
Some Current User (Scope: user) installers in the package repository are installing to %USERPROFILE% but the registry entry is located in HKEY_LOCAL_MACHINE instead of HKEY_CURRENT_USER which breaks the application upgrade because Machine != User.
Some All Users (Scope: machine) installers in the package repository are installing to %ProgramFiles% but the registry entry is located in HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE which breaks the application upgrade because User != Machine.
^ You can take RubyInstallerTeam.Ruby version 3.1.0-1 as an example. It installs to C:\Ruby31-x64 which is machine-wide but when you run winget upgrade RubyInstallerTeam.Ruby you will get the No applicable update found. message because the registry entry is located in Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\RubyInstaller-3.1-x64-mingw-ucrt_is1 instead of HKEY_LOCAL_MACHINE. Package has Scope: machine in it.
Technically we're meant to use Scope: machine for packages that install outside of %USERPROFILE% because that's what @denelon said in one of the pull requests that @vedantmgoyal2009 made as @denelon doesn't want packages to be mislead as machine-wide when it actually installs to %USERPROFILE% or mislead as user when it installs to %ProgramFiles% or other machine-wide directories.

I have the same issue when I'm trying upgrade --all, --force or for id. Including VS C++ package 2015-2019.
(3/3) Encontrado Microsoft Visual C++ 2015-2019 Redistributable (x64) [Microsoft.VC++2015-2019Redist-x64] Versão 14.29.30139.0 Este aplicativo é licenciado para você pelo proprietário. A Microsoft não é responsável por, nem concede licenças a pacotes de terceiros. Downloading https://download.visualstudio.microsoft.com/download/pr/b929b7fe-5c89-4553-9abe-6324631dcc3a/296F96CD102250636BCD23AB6E6CF70935337B1BBB3507FE8521D8D9CFAA932F/VC_redist.x64.exe   ██████████████████████████████  24.0 MB / 24.0 MB Hash do instalador verificado com êxito Iniciando a instalação do pacote... O instalador falhou com o código de saída: 1638 O registro do instalador está disponível em: C:\Users\Aluandalee\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir\WinGet-Microsoft.VC++2015-2019Redist-x<IP_ADDRESS>139.0-2022-03-23-17-38-19.547.log Outra versão deste aplicativo já está instalada.
Log

Hash do instalador verificado com êxito Iniciando a instalação do pacote... O instalador falhou com o código de saída: 1638 O registro do instalador está disponível em: C:\Users\Aluandalee\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir\WinGet-Microsoft.VC++2015-2019Redist-x<IP_ADDRESS>139.0-2022-03-23-17-38-19.547.log Outra versão deste aplicativo já está instalada.

This is an entirely different issue; Your issue is that Visual C++ installer itself is giving an error code 1638. 1638 means that another version of the package is already installed. Based on your screenshot, you can't upgrade because you already have a newer version installed.

Hmm, looks like a 1.1 issue (maybe still in 1.2?), VC++ finally installs correctly for me on 1.3...
Before it would install EITHER x64 or x86 then just skip the other install because it thought it was updated (regex issue)

Hmm, looks like a 1.1 issue (maybe still in 1.2?), VC++ finally installs correctly for me on 1.3... Before it would install EITHER x64 or x86 then just skip the other install because it thought it was updated (regex issue)

I agree, however, it seems like the VC++ installer is finding some other related product. I checked and these product codes don't seem to exist in the repo at all, so I don't know what package they are to
[0754:163C][2022-03-23T17:38:20]i103: Detected related package: {A181A302-3F6D-4BAD-97A8-A426A6499D78}, scope: PerMachine, version: 14.31.31103.0, language: 0 operation: Downgrade
[0754:163C][2022-03-23T17:38:20]i103: Detected related package: {A977984B-9244-49E3-BD24-43F0A8009667}, scope: PerMachine, version: 14.31.31103.0, language: 0 operation: Downgrade
|
[0754:11D4][2022-03-23T17:38:20]e000: Error 0x80070666: Cannot install a product when a newer version is installed.
[0754:163C][2022-03-23T17:38:20]i500: Shutting down, exit code: 0x666

Hash do instalador verificado com êxito Iniciando a instalação do pacote... O instalador falhou com o código de saída: 1638 O registro do instalador está disponível em: C:\Users\Aluandalee\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir\WinGet-Microsoft.VC++2015-2019Redist-x<IP_ADDRESS>139.0-2022-03-23-17-38-19.547.log Outra versão deste aplicativo já está instalada.

This is an entirely different issue; Your issue is that Visual C++ installer itself is giving an error code 1638. 1638 means that another version of the package is already installed. Based on your screenshot, you can't upgrade because you already have a newer version installed.

This is an example only. I had the same issue with MegaSync and had to force refresh some programs a few times. Apparently the tool is not able to verify if there is the newest version installed and when it runs 'winget upgrade' it returns that it is still there to install, as if it were a cache error.

Hash do instalador verificado com êxito Iniciando a instalação do pacote... O instalador falhou com o código de saída: 1638 O registro do instalador está disponível em: C:\Users\Aluandalee\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir\WinGet-Microsoft.VC++2015-2019Redist-x<IP_ADDRESS>139.0-2022-03-23-17-38-19.547.log Outra versão deste aplicativo já está instalada.

This is an entirely different issue; Your issue is that Visual C++ installer itself is giving an error code 1638. 1638 means that another version of the package is already installed. Based on your screenshot, you can't upgrade because you already have a newer version installed.

This is an example only. I had the same issue with MegaSync and had to force refresh some programs a few times. Apparently the tool is not able to verify if there is the newest version installed and when it runs 'winget upgrade' it returns that it is still there to install, as if it were a cache error.

MegaSync is yet another completely different issue. The issue with MegaSync is that the publisher does not provide a version number when the package is installed - See microsoft/winget-pkgs#15946

@denelon - I believe the original issue here was resolved with https://github.com/microsoft/winget-pkgs/pull/55454/

thanks a lot, also affect me

Related: #3011


NuxtAxiosInstance export

Hello, @Teranode. Why you remove the NuxtAxiosInstance export? I really need it, could you return it pls? Thx!

I've updated the npm package, try to see if that works for you.


fix unit test breakage by adding seed method to util/rand

@vishh @thockin

LGTM

Thanks for the quick fix @mikedanese

@k8s-bot: retest this please

@k8s-bot: test this please

@k8s-bot  ok to test

@mikedanese: Shippable has been flaky with this PR.

@k8s-bot ok to test

@k8s-bot ok to test

LGTM

@k8s-bot test this please

Test failure seems to be unrelated:
Kubernetes e2e suite.Monitoring should verify monitoring pods and all cluster nodes are available on influxdb using heapster.
Rerunning e2e tests

@k8s-bot test this please

e2e test flake:
Kubernetes e2e suite.Services should serve multiport endpoints from pods

@k8s-bot test this please


Results not visible using https due to mixed content

For everybody accessing the page via HTTPS the results will not display due to mixed content. Since a lot of people nowadays use HTTPS Everywhere or similar extensions, i propose to change the links to use https as well and - for simplicity - to only serve the page via https, should this be possible using github.io.
Mixed Content: The page at 'https://bpmn-miwg.github.io/bpmn-miwg-tools/' was loaded over HTTPS, but requested an insecure stylesheet 'http://cdn.datatables.net/1.10.4/css/jquery.dataTables_themeroller.css'. This request has been blocked; the content must be served over HTTPS.
bpmn-miwg.github.io/:13 Mixed Content: The page at 'https://bpmn-miwg.github.io/bpmn-miwg-tools/' was loaded over HTTPS, but requested an insecure stylesheet 'http://datatables.net/media/css/jui_themes/redmond/jquery-ui-1.7.2.custom.css'. This request has been blocked; the content must be served over HTTPS.
bpmn-miwg.github.io/:1 Mixed Content: The page at 'https://bpmn-miwg.github.io/bpmn-miwg-tools/' was loaded over HTTPS, but requested an insecure script 'http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js'. This request has been blocked; the content must be served over HTTPS.
bpmn-miwg.github.io/:1 Mixed Content: The page at 'https://bpmn-miwg.github.io/bpmn-miwg-tools/' was loaded over HTTPS, but requested an insecure script 'http://cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js'. This request has been blocked; the content must be served over HTTPS.
bpmn-miwg.github.io/:22 Mixed Content: The page at 'https://bpmn-miwg.github.io/bpmn-miwg-tools/' was loaded over HTTPS, but requested an insecure stylesheet 'http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css'. This request has been blocked; the content must be served over HTTPS.
bpmn-miwg.github.io/:1 Mixed Content: The page at 'https://bpmn-miwg.github.io/bpmn-miwg-tools/' was loaded over HTTPS, but requested an insecure script 'http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js'. This request has been blocked; the content must be served over HTTPS.
bpmn-miwg.github.io/:31 Uncaught ReferenceError: $ is not defined

Duplicate of #25


Make CCL accept a cosmology dictionary

For better integration to TJPCosmo, let's make pyCCL accept https://github.com/philbull/cosmoparams instead of cosmological parameters on by one.

I think we are going to punt on this for now.


 Got the following error message: all pipelines must be stopped to run garbage collection xxx is not.
Environment?:

Pachyderm CLI and pachd server version (use pachctl version): 1.9.9

This is actually a duplicate of #4593


Logging out doesn't bring up log in dialogue

In case you experience issues with docker image provided by linuxserver.io/papermerge, please open bug report in their repository.
Description
When the admin user logs out, there is a blank screen with a single word: "error".
Expected
The standard Papermerge login screen
Actual
a blank screen with a single word: "error" at the top left
Info:

OS: server: Ubuntu 20.04 LTS] docker, desktop: Linuxmint
Browser Chrome
Database SQLite
Papermerge Version 3

@thndrbck could you please attach containers logs? (web app logs would suffice)

Hi @ciur I am facing the same issue.
Need to mention that if you reload the page with 'Error" message it redirects to the log dialog and it is working again.
 Some other files included too.
On Mon, Jan 8, 2024 at 11:03 AM Mark Simko @.***> wrote:

Sure. Where can I find those? Looking now.
On Sat, Jan 6, 2024, 8:14 AM Eugen Ciur @.***> wrote:

@thndrbck https://github.com/thndrbck could you please attach
containers logs? (web app logs would suffice)
—
Reply to this email directly, view it on GitHub
https://github.com/ciur/papermerge/issues/574#issuecomment-1879683609,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEADQQVV6QP4LEUZ73XCLJDYNFEZ5AVCNFSM6AAAAABBNVEJASVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZZGY4DGNRQHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

confirmed in 3.0.2

This PR fixes the problem.
Signing out before the fix:

Signing out after the fix:

@thndrbck could you please confirm that issue was solved in 3.0.3 ?


Mapping literal "<" does not override label

It seems that if I want to use "<" as a map, it doesn't seem to care about what label I provide. Something like this doesn't work (the command works, just the label doesn't show up):
        ['<'] = {"<Cmd>edit #<CR>", "Previous Buffer"},

Is this a bug or should I be passing an option somewhere?

In keybindings you need to use <lt> for this. Please check the vim docs :h <lt>.


Unwanted symbol in project version metadata dialogue

Project about dialogue has a weird symbol ahead of its info in the metadata.
To Reproduce
Steps to reproduce the behavior:

Create a project
Then, click on it's about tab
Finally, see the bug

Current Results

The weird symbol $1 appears ahead of it
Expected Behavior

No unwanted characters should be present
Screenshots

Closed by #3482.

Closed by #3482.

We need a different fix for this.

We need a different fix for this.

Ah thanks! My mistake for merging that too quickly.

Ah thanks! My mistake for merging that too quickly.


[Qualcomm feedback] 3.3 Guest

Reference: https://lists.riscv.org/g/tech-ap-tee-io/topic/103498833#47

The TSM prevents both TDIs

which both? was the intention to say "more than one"?

I think both here means:
The TSM prevents both "TDIs from directly accessing the TVM confidential memory" and "the TVM from doing memory mapped I/O with TDIs", unless the TVM guest accepts the TDI.
I will clarify that.


Add Application Number for Search and Migration Fix

Issue:

https://github.com/bcgov/entity/issues/23279
https://github.com/bcgov/entity/issues/23364

Description of changes:

[x] applicationNumber added to application_json for search
[x] Migrations strr-api/migrations/versions/20240908_0710_7a9f3c2e8b5d_.py and strr-api/migrations/versions/20240916_1420_8b2e4d1f9c3a_.py removed
[x] Migration strr-api/migrations/versions/20240908_1010_7a9f3c2e8b4e_.py added
[x] Change to 14 character long random digits only application_number
[x] nanoid collision logic

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun


Lack of necessary "requirements.txt".

First of all, I want to express my appreciation for your outstanding work and the open-source spirit behind your project on GitHub. However, I encountered some difficulties while attempting to reproduce the project due to the absence of necessary installation files, "requirements.txt". It would be greatly helpful if you could provide the required requirements file.
Once again, thank you for your remarkable contribution to the open-source community. I look forward to hearing from you and potentially resolving this matter.

In addition, when executing the script "sh scripts/install_deps. sh", there is also a command "pip install-r requirements. txt". Is it the same file?

Hi,
I have updated the "requirements.txt" file.


Text vectors not working correctly

Normally in LDPL, text variables are by default initialized to "", the empty string. I've just noticed this is not the case with vectors. If you declare a text vector and then access a non-initialized index, the value stored there will be 0. No "0", but 0. This has to do with how LDPL declares and stores variables. Long story short, when text variables are declared, they are assigned the value of "" by default. When vectors are initialized, no values are assigned, you can't assign a value to every possible subindex of the vector, so when you try to access an uninitialized index you get the default value for an uninitialized variable in LDPL, that is 0.
This will be fixed soon as it is not the intended behavior of this data structure.

I think this has been fixed!


pvt.cppan.demo.danbloomberg.leptonica-1.74.4.dll

Hello Egor. I'm trying to build a Tesseract 4 with OpenCV. I assembled a new version of OpenCV based on this instruction: http://answers.opencv.org/question/171470/opencv-ocrtesseractcreate-v305/?answer=171659#post-id-171659 (previously I assembled successfully Tesseract 3.05 and OpenCV in the Visual Studio project using this instruction). This time for Tesseract 4 and OpenCV I also assembled successfully. I wrote new paths to the project and the project was compiled successfully, but when I tried to ran it, I got this error:

I want to note that when assembling Tesseract 4 in CMake it was not possible to register a path to Leptonica 1.74 or 1.75, so I realized that cppan automatically loads Leptonica 1.75 to Tesseract 4.

It is also possible, that you have that buggy unstable cppan client from me.
Try to download from site as you have now latin user folder or try another unstable client from this post:
cppan.zip

Hi Egor, I tried to run tesseract 4 on test image and it recognized image. Can we consider that cppan compiled well?

Do you have any instructions how to build opencv+tess using cppan like your example (https://cppan.org/pvt.cppan.demo.intel.opencv.contrib.text/version/3.4.1)?

I tried to build webcam_demo:
git clone https://github.com/cppan/webcam_demo
cd webcam_demo
cppan --build webcam_demo.cpp
bin\webcam_demo
There are some errors:

Can we consider that cppan compiled well?

Yes.

Do you have any instructions how to build opencv+tess using cppan for your example?

See https://github.com/cppan/cppan/issues/49#issuecomment-385033011

webcam example

I've fixed it. Try it now.
cppan --build webcam_demo.cpp -s
If you see any errors - try it on the latest VS2017 - VS15.6.7.

I compiled and run webcam_demo project successfully.

How can I use it for my project? What dependencies will I need to register?

See https://github.com/cppan/cppan/issues/49#issuecomment-385033011

Ok, but if I use Visual Studio to build my project without cmake?

Then you have nothing to do at the moment.

Can I use somehow dll like pvt.cppan.demo.intel.opencv.contrib.text-3.4.1.dll in my VS project?

When I try to run my project in VS, I have an error linking to Leptonica 1.74.

Find that lep dll and put near tess dll.

In the description of the module's is written that only Tesseract 3 versions are supported:

3 or later - v4 works fine - webcam demo confirms that.

Can I use somehow dll like pvt.cppan.demo.intel.opencv.contrib.text-3.4.1.dll in my VS project?

This is not related to cppan. You can try to search on web how to include 3rd party libs into vs solutions.
At the moment cppan is cmake-oriented.

What development environment do you use for Windows with CMake?

The latest VS2017, win10.


rafthttp: use /raft/stream for MsgApp stream

New rafthttp uses /raft/stream/msgapp for MsgApp stream, but v2.0 rafthttp
cannot understand it. Use the old endpoint /raft/stream instead for backward
compatibility, and plan to move to new endpoint in the version after the
next one.
/cc @barakmich

lgtm


proposal: Deprecate/Remove gossip clustering for Thanos.

This is quite a major change, so please give us feedback!
Rendered view: https://github.com/improbable-eng/thanos/blob/gossip-remove-proposal/docs/proposals/gossip-removal.md
PTAL: @brancz @povilasv @fabxc @domgreen and others.
@mxinden @stuartnelson3 this may interest you.

:+1: Great proposal. I think if we can avoid gossip, we should definitely do that.

:+1:

Moved status to approved and added requirement on FileSD before gossip implementation removal.


Dart should give compile error for WhereIterables

This happens VERY OFTEN with Flutter developers.
Check this simple code:
void main(List<String> arguments) async {
  var aList = <int>[1, 2, 3];

  aList = aList.where((element) => element.isEven);

  print(aList);
}

It compiles properly but gives runtime error:
type 'WhereIterable<int>' is not a subtype of type 'List<int>'
#0      main (file:///C:/Users/shina/Desenvolvimento/dart_projects/tests_dart/example/main.dart:31:3)
#1      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:299:32)
#2      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)

Well, if "where" doesn't return an List, why do the compiler let it be assigned to a List<int>?
It would save us tons of hours of developemnt trying to debug that.

It seems that this will be fixed on NNBD release.
Source: https://github.com/dart-lang/language/issues/192


[Table] Collation for languages where alphabetical order is different from Unicode order

Feature Description
In Norwegian and Danish Alphabets, the correct order of the Norwegian/Danish characters are:

Æ
Ø
Å

However, the Unicode order for these characters are:

Å (197)
Æ (198)
Ø (216)

Could collation be implemented to solve this?
Use Case
Here is a stackblitz with a table that can be sorted by "No." and "Name":
https://stackblitz.com/edit/angular-an1uqc-8mdqns
If you sort by "Name" the name starting with "Å" comes before "Æ" and "Ø".
If the sorting was following the alphabetical order of Norwegian/Danish, the name starting with "Æ" would come before "Ø" and "Å".
As it stands now, the sorting of names with Norwegian and Danish characters are incorrect.
Thanks for reading! 😄

The MatTableDataSource is meant to be a super simple "getting started" data source more than anything else. The intent is that, for more complex scenarios (e.g. robust i18n, server-side operations, etc.), apps would create their own data source.
Our docs could probably do a better job of communicating this, though.

@jelbourn the data in the table in my stackblitz example is this:
  {position: 1, name: 'Alpha', description: 'Test123'},
  {position: 2, name: 'Bravo',  description: '0'},
  {position: 3, name: 'Charlie', description: 'aaa'},
  {position: 4, name: 'Delta',  description: ''},
  {position: 5, name: 'Echo',  description: '1'},
  {position: 6, name: 'Foxtrot',  description: '2'},
  {position: 7, name: 'ÆGamma',  description: ''},
  {position: 8, name: 'ØHotel',  description: '3'},
  {position: 9, name: 'ÅIndigo',  description: '1000'},

];

The correct way to sort the last three items (ÆGamma, ØHotel and ÅIndigo) according to the Norwegian/Danish alphabet would be:

ÆGamma
ØHotel
ÅIndigo

But MatSort uses the Unicode numbers for these characters and sorts like this instead:

ÅIndigo (197)
ÆGamma (198)
ØHotel  (216)

How can a different data source cause MatSort to sort on something else than the Unicode numbers for these characters without using something like collation?
Sorry if i misunderstood your previous answer.

It would be however these strings are normally sorted in locales where the characters are used; I don't actually know how people do this myself.

This can be achieved by using a custom sort implementation via a matSortChange event handler and String.prototype.localeCompare with an a locale, in this case da-DK, passed in. Here is an example in action:
https://stackblitz.com/edit/angular-an1uqc-jv1s6z

Thank you so much @alexstaroselsky this was really helpful! 😄
@jelbourn perhaps this could be added as an example? 😶
https://material.angular.io/components/sort/overview


Implement strict exit code processing

Hey,
This is an implementation for proposal from #27. I've used exit codes 3+, because 1 and 2 are reserved.

Looks good to me! Great work, really appreciate it.


Crossovers

Hi,
Firstly, thank you for building this in the open & sharing!
I see that this can be used to serde-derivable structures to the arrow layout.
There are a couple of crates (https://github.com/sharksforarms/deku and https://github.com/jam1garner/binrw) that help with parsing binary content into Rust data types.
Additionally, there is https://github.com/simd-lite/simd-json-derive for deriving JSON from Rust data types.
In the case of deku or binrw, would I be able to convert a bunch of structs "created" by them, and then use serde_arrow's derive on top of that, to convert it finally to the arrow layout?

Hey,
Thanks for the kind words!
The crates you mention are really cool indeed. At first glance they do not seem to offer this split between data and format as serde does. So I do not see an obvious way to convert from deku / binrw data to arrow directly.
If you're talking about deku / binrw -> Rust -> arrow, then sure: you can use serde_arrow as is, you just need to specify the schema of your objects. Either by tracing a couple of examples using serialize_to_fields or by building the schema yourself. Then you use deku / binrw to construct the Rust objects and use serde_arrow to build the arrow arrays that correspond from these objects.

Thank you, yeah I mean this option -- deku / binrw -> Rust -> arrow.
If you have time, could you share an example of how I'd go about doing this. I'm pretty noob-ish with programming in general. My use case has a whole bunch of nested struct types, of binary log data.
Will post about the first method in those 2 projects and see what they think..

With serde_arrow, you have to ensure all your types implement serialize / deserialize. Then you can simply follow the example in the readme:

trace the fields (i.e., determine the schema of your arrays): let fields = serialize_into_fields(&items, TracingOptions::default())?;
construct the arrays let arrays = serialize_into_arrays(&fields, &items)?;

Important for step 1: if you have enums and lists you must make sure all lists have at leas a single entry and all relevant enum variants are encountered.
If you control the whole code base, maybe also arrow2-convert would be an option. You can easily convert from arrow2 to arrow.

Closing this issue, as there is no change necessary in serde_arrow as far as I can tell.


Default teamserver name

Suggest setting the default teamserver name to teamserver.

This can now be done via custom plays run using the extended_plays in the configuration file


KSonnet being archived / Kubeflow on Kubernetes

The tool ks is being archived https://blogs.vmware.com/cloudnative/2019/02/05/welcoming-heptio-open-source-projects-to-vmware.

Thanks for raising this issue! I'm closing it as a duplicate of https://github.com/kubeflow/website/issues/825, which now has more detail.
/close


Separating adjacent lists by two or more blank lines

Description
Right now, placing a single blank line between two expected adjacent lists results in a single "wide" (or "non-tight") list, with large spaces between items. This behavior resembles the one seen in Markdown, but it has disadvantages.
- a
- b

- x
- y

^ This notation results in a single list instead of two independent ones, with large gaps.
Perhaps we could make Typst recognize two or more blank lines as a separator for two adjacent lists, so that...
- a
- b

- x
- y

...results in two lists, not one, without the need to use unwieldy syntax.
Use Case
As a user, I want to be able to create separate lists without having them automatically merged into a single list. This feature enables me to write them in a more organic fashion and improves the readability of Typst documents.

That feels a little too dependent on spacing to me, but maybe it's the right approach. In the meantime, you can put a #hide("") between them.

I agree that two blank lines are a bit too surprising in terms of syntax.


Extremely limited support for SQL Server data types...no float!!

The input sanitization in this library seems to be extremely limited when it comes to it's js type checking. It seems to coalesce all possible number types into just Int, when there are also BitInts, TinyInts, Floats, Decimals, etc. etc. Due to the fact that the type checking does not seem to even try to evaluate the number being parsed, this results in the truncation of all non-integral numbers when saving to the database.
This is a critical issue that is affecting a project that has a very closely looming deadline. Any chance it could be fixed very soon?

This was fixed in https://github.com/patriksimek/node-mssql/commit/2f59a23fe6db03fb804d79cfe256a4328a2bb9b2, I'll release a new version today.
Anyway, you can always use explicit type definition.

New version would be awesome. For the time being we've referenced the latest commit from the master branch in our package.json, but we would definitely feel more comfortable with a real released version.
Regarding explicit type definitions, how does one go about that? We have been using async/await with ES6 tagged template literals for all our querying, as it was the simplest and fastest way to solve the problem. I saw something about prepared statements, but that seemed to have additional connotations about connection usage and release, which we did not want to have to deal with.

You can define parameters either with explicit type definition or without:
request.input('input_parameter', value)
request.input('input_parameter', sql.Int, value)


Google Drive download Permission

hello,
I run the file 'jupyter_experiment.ipynb', when download the graph file, I get a 'Permission Denied' error.
I can not access to the file from my browser, too.
How could I get your help?
Thank you very much.
CODE:
url = f'https://drive.google.com/uc?id={graph_file_gdrive_id}'
gdown.download(url, "graph.pkl")
graph = NavigationGraph("graph.pkl")
ERROR:
TimeoutError                              Traceback (most recent call last)
File ~/miniconda3/lib/python3.10/site-packages/urllib3/connection.py:174, in HTTPConnection._new_conn(self)
173 try:
--> 174     conn = connection.create_connection(
175         (self._dns_host, self.port), self.timeout, **extra_kw
176     )
178 except SocketTimeout:
File ~/miniconda3/lib/python3.10/site-packages/urllib3/util/connection.py:95, in create_connection(address, timeout, source_address, socket_options)
94 if err is not None:
---> 95     raise err
97 raise socket.error("getaddrinfo returns an empty list")
File ~/miniconda3/lib/python3.10/site-packages/urllib3/util/connection.py:85, in create_connection(address, timeout, source_address, socket_options)
84     sock.bind(source_address)
---> 85 sock.connect(sa)
86 return sock
TimeoutError: [Errno 110] Connection timed out
During handling of the above exception, another exception occurred:
ConnectTimeoutError                       Traceback (most recent call last)
File ~/miniconda3/lib/python3.10/site-packages/urllib3/connectionpool.py:703, in HTTPConnectionPool.urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
702 # Make the request on the httplib connection object.
--> 703 httplib_response = self._make_request(
704     conn,
705     method,
706     url,
707     timeout=timeout_obj,
708     body=body,
709     headers=headers,
710     chunked=chunked,
711 )
713 # If we're going to release the connection in finally:, then
714 # the response doesn't need to know about the connection. Otherwise
715 # it will also try to release it and we'll have a double-release
716 # mess.
File ~/miniconda3/lib/python3.10/site-packages/urllib3/connectionpool.py:386, in HTTPConnectionPool._make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
385 try:
--> 386     self._validate_conn(conn)
387 except (SocketTimeout, BaseSSLError) as e:
388     # Py2 raises this as a BaseSSLError, Py3 raises it as socket timeout.
File ~/miniconda3/lib/python3.10/site-packages/urllib3/connectionpool.py:1042, in HTTPSConnectionPool._validate_conn(self, conn)
1041 if not getattr(conn, "sock", None):  # AppEngine might not have  .sock
-> 1042     conn.connect()
1044 if not conn.is_verified:
File ~/miniconda3/lib/python3.10/site-packages/urllib3/connection.py:358, in HTTPSConnection.connect(self)
356 def connect(self):
357     # Add certificate verification
--> 358     self.sock = conn = self._new_conn()
359     hostname = self.host
File ~/miniconda3/lib/python3.10/site-packages/urllib3/connection.py:179, in HTTPConnection._new_conn(self)
178 except SocketTimeout:
--> 179     raise ConnectTimeoutError(
180         self,
181         "Connection to %s timed out. (connect timeout=%s)"
182         % (self.host, self.timeout),
183     )
185 except SocketError as e:
ConnectTimeoutError: (<urllib3.connection.HTTPSConnection object at 0x7f90edd476a0>, 'Connection to drive.google.com timed out. (connect timeout=None)')
During handling of the above exception, another exception occurred:
MaxRetryError                             Traceback (most recent call last)
File ~/miniconda3/lib/python3.10/site-packages/requests/adapters.py:486, in HTTPAdapter.send(self, request, stream, timeout, verify, cert, proxies)
485 try:
--> 486     resp = conn.urlopen(
487         method=request.method,
488         url=url,
489         body=request.body,
490         headers=request.headers,
491         redirect=False,
492         assert_same_host=False,
493         preload_content=False,
494         decode_content=False,
495         retries=self.max_retries,
496         timeout=timeout,
497         chunked=chunked,
498     )
500 except (ProtocolError, OSError) as err:
File ~/miniconda3/lib/python3.10/site-packages/urllib3/connectionpool.py:787, in HTTPConnectionPool.urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
785     e = ProtocolError("Connection aborted.", e)
--> 787 retries = retries.increment(
788     method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
789 )
790 retries.sleep()
File ~/miniconda3/lib/python3.10/site-packages/urllib3/util/retry.py:592, in Retry.increment(self, method, url, response, error, _pool, _stacktrace)
591 if new_retry.is_exhausted():
--> 592     raise MaxRetryError(_pool, url, error or ResponseError(cause))
594 log.debug("Incremented Retry for (url='%s'): %r", url, new_retry)
MaxRetryError: HTTPSConnectionPool(host='drive.google.com', port=443): Max retries exceeded with url: /uc?id=186_WuE3caY0ADoaJrGurs9PACLsgSjup (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f90edd476a0>, 'Connection to drive.google.com timed out. (connect timeout=None)'))
During handling of the above exception, another exception occurred:
ConnectTimeout                            Traceback (most recent call last)
Cell In[4], line 3
1 url = f'https://drive.google.com/uc?id={graph_file_gdrive_id}'
2 print(url)
----> 3 gdown.download(url, "graph.pkl")
4 graph = NavigationGraph("graph.pkl")
File ~/miniconda3/lib/python3.10/site-packages/gdown/download.py:202, in download(url, output, quiet, proxy, speed, use_cookies, verify, id, fuzzy, resume, format, user_agent, log_messages)
199     is_gdrive_download_link = True
201 while True:
--> 202     res = sess.get(url, stream=True, verify=verify)
204     if not (gdrive_file_id and is_gdrive_download_link):
205         break
File ~/miniconda3/lib/python3.10/site-packages/requests/sessions.py:602, in Session.get(self, url, **kwargs)
594 r"""Sends a GET request. Returns :class:Response object.
595
596 :param url: URL for the new :class:Request object.
597 :param **kwargs: Optional arguments that request takes.
598 :rtype: requests.Response
599 """
601 kwargs.setdefault("allow_redirects", True)
--> 602 return self.request("GET", url, **kwargs)
File ~/miniconda3/lib/python3.10/site-packages/requests/sessions.py:589, in Session.request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
584 send_kwargs = {
585     "timeout": timeout,
586     "allow_redirects": allow_redirects,
587 }
588 send_kwargs.update(settings)
--> 589 resp = self.send(prep, **send_kwargs)
591 return resp
File ~/miniconda3/lib/python3.10/site-packages/requests/sessions.py:703, in Session.send(self, request, **kwargs)
700 start = preferred_clock()
702 # Send the request
--> 703 r = adapter.send(request, **kwargs)
705 # Total elapsed time of the request (approximately)
706 elapsed = preferred_clock() - start
File ~/miniconda3/lib/python3.10/site-packages/requests/adapters.py:507, in HTTPAdapter.send(self, request, stream, timeout, verify, cert, proxies)
504 if isinstance(e.reason, ConnectTimeoutError):
505     # TODO: Remove this in 3.0.0: see #2811
506     if not isinstance(e.reason, NewConnectionError):
--> 507         raise ConnectTimeout(e, request=request)
509 if isinstance(e.reason, ResponseError):
510     raise RetryError(e, request=request)
ConnectTimeout: HTTPSConnectionPool(host='drive.google.com', port=443): Max retries exceeded with url: /uc?id=186_WuE3caY0ADoaJrGurs9PACLsgSjup (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7f90edd476a0>, 'Connection to drive.google.com timed out. (connect timeout=None)'))

Seeing the same issue

Same here.
@blazejosinski @robodhruv , could you make the graph file available?

Seeing the same issue, please help me. QAQ

Same issue, don't have permission to graphs.


Add method to modify elements in place

A value-to-value mapper would be convenient, something like array.apply(f32::abs) it could even be called lift.

We want to find a nice convention to make it easier to understand.
Maybe something like this, saying map for an operation that makes a new array, and apply for modifying in place. Since all the float functions are by value "|A| -> A", it would be important to offer this.
 .map(&self, |&A| -> B) -> OwnedArray<B, D>
 .mapv(&self, |A| -> B) -> OwnedArray<B, D>
 .apply(&mut self, |&mut A|)
 .applyv(&mut self, |A| -> A)

Maybe the map operations could be lazy like iterator adapters. A MapView (or something like this) would have a reference/view of an array and a map function. This would allow to use get(dim) without processing the total array first (could be useful for sampling). Also chaining of multiple map operations could be possible. A function like collect could be used to materialize into a new OwnedArray. This could also be interesting for #120 or #127.

That's a nice idea. It's similar to this https://github.com/bluss/rust-ndarray/issues/88#issuecomment-196971867
Making an operation an object that itself can participate in operations on arrays makes particular sense in an even more generic-heavy implementation. For that reason ndarray will not take that route now, I think.


Added step to Create a Virtual Switch with Hyper-V Manager

Added a second step to actually select the server first in Hyper-V Manager.

Thanks!


why open SteamOverlayVulkanLayer64 file?

Bevy version 0.14
my code
use bevy::{prelude::*, window::PrimaryWindow};

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_systems(Startup, setup)
        .add_systems(Update, show_world_coordinate)
        .run();
}

#[derive(Component)]
struct MainCamera;

#[derive(Resource, Default)]
struct WorldCoordinate(Vec2);

fn setup(mut commands: Commands) {
    commands.spawn((Camera2dBundle::default(), MainCamera));
}

fn show_world_coordinate(
    mut world_coordinate: ResMut<WorldCoordinate>,
    window: Query<&Window, With<PrimaryWindow>>,
    camera: Query<(&Camera, &GlobalTransform), With<MainCamera>>,
) {
    let qry_window = window.single();
    let (qry_camera, glabalTransform) = camera.single();

    if let Some(window_position) = qry_window
        .cursor_position()
        .and_then(|cursor| qry_camera.viewport_to_world(glabalTransform, cursor))
        .map(|ray| ray.origin.truncate())
    {
        world_coordinate.0 = window_position;
        print!("x: {}, y: {}", window_position.x, window_position.y);
    }
}

2024-07-12T02:36:43.614427Z  INFO bevy_diagnostic::system_information_diagnostics_plugin::internal: SystemInfo { os: "Windows 11 ", kernel: "22631", cpu: "AMD Ryzen 7 5800H with Radeon Graphics", core_count: "8", memory: "13.9 GiB" }
2024-07-12T02:36:43.652139Z ERROR wgpu_hal::vulkan::instance: GENERAL [Loader Message (0x0)]
loader_get_json: Failed to open JSON file D:\Program Files\steam\SteamOverlayVulkanLayer64.json
2024-07-12T02:36:43.652562Z ERROR wgpu_hal::vulkan::instance:   objects: (type: INSTANCE, hndl: 0x2e7e3180ff0, name: ?)
2024-07-12T02:36:43.653146Z ERROR wgpu_hal::vulkan::instance: GENERAL [Loader Message (0x0)]
loader_get_json: Failed to open JSON file D:\Program Files\steam\SteamFossilizeVulkanLayer64.json
2024-07-12T02:36:43.653383Z ERROR wgpu_hal::vulkan::instance:   objects: (type: INSTANCE, hndl: 0x2e7e3180ff0, name: ?)
2024-07-12T02:36:44.092911Z  INFO bevy_render::renderer: AdapterInfo { name: "AMD Radeon(TM) Graphics", vendor: 4098, device: 5688, device_type: IntegratedGpu, driver: "AMD proprietary driver", driver_info: "<IP_ADDRESS>", backend: Vulkan }
2024-07-12T02:36:44.225024Z  INFO bevy_winit::system: Creating new window "App" (Entity { index: 0, generation: 1 })
thread '' panicked at C:\Users\gkj.cargo\registry\src\mirrors.ustc.edu.cn-61ef6e0cd06fb9b8\bevy_ecs-0.14.0\src\system\system_param.rs:629:17:
Resource requested by bevy_demo::show_world_coordinate does not exist: bevy_demo::WorldCoordinate
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
Encountered a panic in system bevy_demo::show_world_coordinate!
Encountered a panic in system bevy_app::main_schedule::Main::run_main!
error: process didn't exit successfully: target\debug\bevy_demo.exe (exit code: 101)

Looks like Steam registered a Vulkan layer but did not properly clean it up. It shouldn't affect Bevy at all, you can ignore it. The issue with your code is Resource requested by bevy_demo::show_world_coordinate does not exist: bevy_demo::WorldCoordinate, and is not related to Vulkan.
https://docs.vulkan.org/guide/latest/layers.html


feat: introduce prometheus metrics

Signed-off-by: MrCroxx<EMAIL_ADDRESS>close: #52

Codecov Report

Merging #54 (d1de31b) into main (e61eb5d) will increase coverage by 0.79%.
The diff coverage is 88.11%.

@@            Coverage Diff             @@
##             main      #54      +/-   ##
==========================================
+ Coverage   67.24%   68.03%   +0.79%
==========================================
  Files          30       31       +1
  Lines        3520     3617      +97
==========================================
+ Hits         2367     2461      +94
- Misses       1153     1156       +3

Impacted Files
Coverage Δ

foyer-storage-bench/src/main.rs
0.00% <0.00%> (ø)

foyer-storage/src/store.rs
89.78% <78.12%> (-0.72%)
:arrow_down:

foyer-storage/src/metrics.rs
92.59% <92.59%> (ø)

foyer-storage/src/flusher.rs
83.78% <100.00%> (+1.09%)
:arrow_up:

foyer-storage/src/reclaimer.rs
85.24% <100.00%> (+0.89%)
:arrow_up:

... and 2 files with indirect coverage changes


Should StreamController pass itself to its callbacks?

StreamController does not pass itself to it's callbacks.  Which means that if you wish to reference the stream controller from it's callbacks, you have to use a late variable, as the official docs do for the timer example:
https://github.com/dart-lang/site-www/blob/main/examples/misc/lib/articles/creating-streams/stream_controller.dart
Stream<int> timedCounter(Duration interval, [int? maxCount]) {
  late StreamController<int> controller;
  Timer? timer;
  int counter = 0;

  void tick(_) {
    counter++;
    controller.add(counter); // Ask stream to send counter values as event.
    if (counter == maxCount) {
      timer?.cancel();
      controller.close(); // Ask stream to shut down and tell listeners.
    }
  }

  void startTimer() {
    timer = Timer.periodic(interval, tick);
  }

  void stopTimer() {
    timer?.cancel();
    timer = null;
  }

  controller = StreamController<int>(
      onListen: startTimer,
      onPause: stopTimer,
      onResume: startTimer,
      onCancel: stopTimer);

  return controller.stream;
}

Although "tick" is the callback requiring the reference to stream controller, it's really the "startTimer" callback which is doing so.
Would it be simpler if the various on* methods just took a StreamController argument?

It would definitely be different, which is why we're not going to do it now. Not planning on changing the API in a breaking way.
You don't need a late variable, you can just add the methods after creating the controller:
var controller = StreamController<int>(sync: true);
controller.onListen = controller.onResume = startTimer;
controller.onPause = controller.onCancel = stopTimer;

(Maybe I should get the article changed.)

Thanks.
On Sat, Nov 12, 2022 at 1:34 PM Lasse R.H. Nielsen @.***>
wrote:

It would definitely be different, which is why we're not going to do it
now. Not planning on changing the API in a breaking way.
You don't need a late variable, you can just add the methods after
creating the controller:
var controller = StreamController(sync: true);
controller.onListen = controller.onResume = startTimer;
controller.onPause = controller.onCancel = stopTimer;
(Maybe I should get the article changed.)
—
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/50447#issuecomment-1312577430,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADU2TN5CYOKRAXQHZNWNLLWIAEO5ANCNFSM6AAAAAAR6AD7OM
.
You are receiving this because you authored the thread.Message ID:
@.***>


Loot tables

Requirements:

order matters (bones at bottom)
weighted
"always" drops
nest-able - a loot table of loot tables (what happens if one table is empty but gets called?)
ability to modify weight dynamically - e.g gradually increase the weight for a player for each time they don't get X as a reward
without - replacement option. Each time a reward is given, then it can't be given again until the table is reset.
external modifiers - ring of wealth etc..

Drop tables are essentially simplified utility-based systems #58 so why not plan them to cover these use cases instead?
If containers #76 are made functionally #92 couldn't we pass add functions as the values of a table and then just apply/transform the choice onto the container?
Further reading

See [Apache math Enumerated Distributions] (http://commons.apache.org/proper/commons-math/javadocs/api-3.3/org/apache/commons/math3/distribution/EnumeratedDistribution.html)

import org.apache.commons.math3.distribution.EnumeratedDistribution

typealias ImmutablePair<V, K> = org.apache.commons.math3.util.Pair<V, K>

val nested = EnumeratedDistribution(listOf(
    ImmutablePair("Third", 0.5),
    ImmutablePair("Fourth", 0.5)
))
val list = listOf<ImmutablePair<Any, Double>>(
    ImmutablePair("First", 0.2),
    ImmutablePair("Second", 0.4),
    ImmutablePair(
        nested,
        0.5
    ),
    ImmutablePair("Fifth", 0.3)
)
val distribution = EnumeratedDistribution<Any>(list)

fun main() {
    repeat(10) {
        var sample = distribution.sample()
        while(sample is EnumeratedDistribution<*>) {
            sample = sample.sample()
        }
        println(sample)
    }
}

Pros:

Quick and simple
Don't have to worry about randomness
Easy nesting

Cons:

Tables have to be static - No system to dynamically adjust the weight for each player.
No tracking of which nested table was selected ("Your ring of wealth glows" message)


Cursor not restoring to it's original size after changes in routes, untill we manually refresh the page. (React JS)

Did you manage to fix that?


make FileKeyInfo extensible for compatibility with TypeScript

The type definitions for this awesome library require that the value of SignedXML.keyInfoProvider be an instance of FileKeyInfo, but the methods on FileKeyInfo belong to the instance itself and not the prototype. This issue is only strictly a problem for TypeScript, but this change has a beneficial affect (in terms of reuse) on NodeJS clients, as well, and this is a non-breaking change.
Also adding some documentation to the methods to clear up some of the confusion. Feedback is welcome!
Closes #272

Should this be a more generic class such that other types of KeyInfo can be used, like StringKeyInfo? I'm thinking of the work done here. It would be nice if all this related code could be coordinated.

I'm in favor of that. About to push a change to the PR ... let me know what you think

@cjbarth I just pushed up changes to my branch, let me know what you think!

Those are some nice changes. I need a little more time to compare them to #249 and related code over at node-saml: https://github.com/node-saml/node-saml/pull/36
These issues have been open a while and I would really appreciate your help to wrangle them all together and get the functionality landed. Any help or comments you provide would be most welcome.

@cjbarth & @LoneRifle - I do see why these issues are all related but I think the reality is that if you want to wrangle all the outstanding issues, then we're going to need a new major version number and put some breaking changes into it (that's fair play for a major version change). I'm putting together a proposal to address those issues for the time being and will share once I have something useful to work with.
Either way, I propose merging this PR as a quick victory for the current major version. It doesn't block any solutions for the other issues, and solves the extensibility issue as well as providing a string-based implementation (issue #243 ). At its best, it can be used as a valid step towards addressing the other issues if we choose not to pursue the breaking-changes route. At it's worst, it's a tidy solution for the current version if we do choose to pursue the breaking-changes route.

I don't mind. I think we also agreed that we want to do a major breaking version anyway, since xml-crypto has moved to @node-saml. The main blocker would be the lack of types from DefinitelyTyped, but this can be easily addressed by moving the types into this repo.
I realize there is a fair bit of yak-shaving to do, so @djaqua if we need to move quickly, let me know, and I'll strive to find some time to look into this.
cc @cjbarth

@LoneRifle I've actually been in contact with the maintainer of the maintainer of the Definitely Typed type definitions for this project (there's a bug I volunteered to fix) and once I joined you and @cjbarth on this project I actually asked him to hold off on the fix until the dust settles here.
I don't mind being a co-maintainer or liaison between this project and the type definitions project - I would be glad to help coordinate the maintenance and ensure continuity between the projects 🤷♂
I thought I was the only person still using the expression "yak-shaving" lol


libdisplay-info: fix cross

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Any special reason for this PR to target staging?

It targets staging-next because it depends on libqmi, and libqmi doesn't cross-compile on master, but does in staging-next.


Error in auth: list index out of range

hi! I've been using your clicker for about a few days. I encountered an error this morning...
[!] Error in auth: list index out of range
[!] Error in auth: list index out of range
[!] Error in auth: list index out of range
[!] Error in auth: list index out of range
[!] Error in auth: list index out of range
[!] Error in auth: list index out of range
[!] We ran into trouble with the get auth token! 🚫 The script is stopping.

I tried rewriting the readme commands and it didn't work.
Tapswap servers are active now and I can connect when I control it from my mobile.

What can I do to fix this error? Thanks

Hello! Please use the latest update. 🔄


[EOSF-778] Add donate banner to ember preprints

Ticket
https://openscience.atlassian.net/browse/EOSF-778
Purpose
To use the new donate banner from the ember-osf on preprints.
Changes
Include the template on the application page.
Screenshots

Notes
Relies on the ember-osf donate banner, which is currently WIP until the necessary images are made.

Will need to update to hotfixed ember-osf before this is merged.

Merged as hotfix 0.111.7


Incorrect key vault name check?

The resolver expects the key vault name to end in "vault.net". Is this correct? I have used the vault URI as the vault name which ends in ".vault.azure.net".
https://github.com/Azure/azure-sdk-for-net/blob/master/src/KeyVault/Microsoft.Azure.KeyVault.Extensions/KeyVaultKeyResolver.cs#L125-126

This check could be more specific but would break for non-production test environments.

@BrianSakhai: I take my last comment back, this check needs to be fixed.

This issue is fixed in this commit: https://github.com/Azure/azure-sdk-for-net/commit/083412cf356ac9b9e0c38f257c4c464bb0f5bf3c


question about the float annotations picture's pixel values

Hi, I am a new CVer. I am trying to use the ade20k dataset and I met a problem. I was checking the annotations picture and I got some float pixel values, as far as I know, the value should be integral. Can someone please help me matching the float pixel value with index of object.

each pixel * 255


workflow: separate version bumping and publishing on release

Workflow Changes

npm run release script moved to top-level with an interactive prompt to select the package
version bumping is done with npm run release instead of GH action dispatching
The flow of releasing becomes:

Maintainer runs npm run release locally at project root of the latest main branch
Select the package and version that need to be released
The scripts handle version bumping, changelog, git commit with tag and push it to GH
The commit tag triggers Actions to do the building and publishing on CI https://github.com/vitejs/vite/actions/workflows/publish.yml
Done.

Changes Details

npm run release moved to root, and no longer runs building and publishing.
--skipBuild option has been removed. We use prepublishOnly hook to trigger the build before publishing.
changelog scripts in each package has been inlined in the release script to reduce duplication
Use npm publish instead of yarn publish since we already handle the version bumping.

The flow looks awesome Anthony, after seeing the three clicks (because of the environment approval) and waiting at each step for the GitHub UI to respond when using dispatch, it makes a lot more sense to use the CLI as you proposed.

https://user-images.githubusercontent.com/11247099/153708071-4548745b-6d1f-4f67-b03a-06f2812da9b7.mp4
Added a little helper to show the git diff since last release