Rewrote text alignment method to work with sprites

I rewrote the text alignment code to reposition the text in CanvasText instead of moving the sprite or mesh object itself. With the current method of text alignment, sprites appear to behave oddly when rotating. This is because sprites always pivot around the origin of the object, so moving the sprite's position itself based on the text size just moves the entire sprite and does not change the pivot point. However, by doing the text alignment in the canvas itself, the sprite's pivot point will remain the same and the text moves around the pivot point appropriately.
The only downside to using this method is that the canvas size will be about twice as big as required to render the text, since there needs to be a lot of empty space for left and right alignment.

Hey @NathanFlurry,
Thanks for your pull-request. I really wouldn't like to increase the texture size even more though. :(
One major concern of using this library is performance. Each text you create with this library generates a new texture, which will increase your draw calls. It would be awesome to have a single texture in which all texts could share, having just one draw call. (https://github.com/gamestdio/three-text2d/issues/7) - and it would be better to have it as small as possible.
I'll ask you to kindly to remove the lib/*.js and lib/*.d.ts files. (sorry, the .gitignore should be taking care of this already)
I'll find some time to review during the weekend.
Thanks!

I fixed the .gitignore and added the option to choose the alignment. The MeshText2D defaults to child alignment (the old alignment) and the sprite defaults to texture alignment. This is configurable using TextOptions.alignmentMethod if the developer wants to switch.
Thanks!

@endel Did you get a chance to look at this PR? Thanks!

closing this since https://github.com/gamestdio/three-text2d/pull/29 has made into master!


Server crash when player has negative XP and kills someone

As described in the Discord FAQ, it's possible to set your gen/XP using console commands.
If you set your XP to a negative value, you can crash any server by killing a player.
The FAQ mentions the following:

Make sure to set your xp number to less than 472 to avoid a crash

That probably references a similar problem, so I'm guessing it's not a huge surprise that negative XP also causes issues. I think it's good to have an issue for it regardless.
Server logs
Some stuff related to negative XP
[2022-01-31 21:42:24.699] [info] [SERVER SPEW_MESSAGE] Setting player "player xaleelax1234 [1]" predicted first person proxy model to "" (class "spectator")
[2022-01-31 21:42:30.148] [info] [SERVER SPEW_WARNING] Client 1 has negative XP of -1000
[2022-01-31 21:42:30.148] [info] [SERVER SPEW_WARNING] Client 1 has negative generation of -1000
[2022-01-31 21:42:30.149] [info] [SERVER SPEW_MESSAGE] SERVER: Lunge_SetTargetEntity(): Setting lunge target to (null)
[2022-01-31 21:42:30.149] [info] [SERVER SPEW_MESSAGE] Setting player "player reslario [2]" predicted first person proxy model to "" (class "spectator")
[2022-01-31 21:42:30.149] [info] [SERVER SPEW_MESSAGE] Player reslario (2) is using prediction
[2022-01-31 21:42:30.302] [info] [SERVER SPEW_MESSAGE] Player reslario fully connected at time 48.645
[2022-01-31 21:42:30.302] [info] [SERVER SCRIPT] Player client script initialization complete: entity (2: player reslario [2])

Last output before crash
[2022-01-31 21:42:54.764] [info] [SERVER SCRIPT] SCRIPT ERROR: [SERVER] XP -1000 too low
[2022-01-31 21:42:54.766] [info] [SERVER SCRIPT]  -> int oldLevel = GetLevelForXP( oldXp )
[2022-01-31 21:42:54.766] [info] [SERVER SCRIPT]
CALLSTACK
*FUNCTION [HandleXPGainForScoreEvent()] _xp.gnut line [65]
*FUNCTION [AddPlayerScore()] mp/_score.nut line [84]
*FUNCTION [ScoreEvent_PlayerKilled()] mp/_score.nut line [113]
*FUNCTION [PlayerOrNPCKilled()] mp/_base_gametype.gnut line [784]
*FUNCTION [CodeCallback_OnPlayerKilled()] mp/_base_gametype_mp.gnut line [235]

[2022-01-31 21:42:54.794] [error] Northstar has crashed! a minidump has been written and exception info is available below:
[2022-01-31 21:42:54.794] [error] Cause: Access Violation
Attempted to read from: 0x00000000
[2022-01-31 21:42:54.795] [error] At: engine.dll + 0x247d3a
[2022-01-31 21:42:54.795] [error]     Northstar.dll + 0x7ffaa67d9e60
[2022-01-31 21:42:54.795] [error]     ntdll.dll + 0x7ffaf0d9bfea
[2022-01-31 21:42:54.795] [error]     ntdll.dll + 0x7ffaf0d55812
[2022-01-31 21:42:54.796] [error]     ntdll.dll + 0x7ffaf0dc730e
[2022-01-31 21:42:54.796] [error]     engine.dll + 0x7ffa10697d3a
[2022-01-31 21:42:54.796] [error]     engine.dll + 0x7ffa10867466
[2022-01-31 21:42:54.797] [error]     engine.dll + 0x7ffa10570c2f
[2022-01-31 21:42:54.797] [error]     engine.dll + 0x7ffa10570542
[2022-01-31 21:42:54.797] [error]     engine.dll + 0x7ffa105bdb55
[2022-01-31 21:42:54.797] [error]     engine.dll + 0x7ffa106188c0
[2022-01-31 21:42:54.798] [error]     Northstar.dll + 0x7ffaa67c18bc
[2022-01-31 21:42:54.798] [error]     engine.dll + 0x7ffa1061652f
[2022-01-31 21:42:54.798] [error]     engine.dll + 0x7ffa107e0e2d
[2022-01-31 21:42:54.798] [error]     engine.dll + 0x7ffa106179d9
[2022-01-31 21:42:54.799] [error]     engine.dll + 0x7ffa1061793c
[2022-01-31 21:42:54.799] [error]     launcher.dll + 0x7ffac1f65afd
[2022-01-31 21:42:54.799] [error]     launcher.dll + 0x7ffac1f65afd
[2022-01-31 21:42:54.799] [error]     launcher.dll + 0x7ffac1f5d386
[2022-01-31 21:42:54.800] [error]     NorthstarLauncher.exe + 0x7ff767ab3bbd
[2022-01-31 21:42:54.800] [error]     NorthstarLauncher.exe + 0x7ff767ab6d40
[2022-01-31 21:42:54.800] [error]     KERNEL32.DLL + 0x7ffaeff554e0
[2022-01-31 21:42:54.800] [error]     ntdll.dll + 0x7ffaf0d2485b
[2022-01-31 21:42:54.801] [error] RAX: 0x0
[2022-01-31 21:42:54.801] [error] RBX: 0x7ffa10c356d0
[2022-01-31 21:42:54.802] [error] RCX: 0x0
[2022-01-31 21:42:54.802] [error] RDX: 0x0
[2022-01-31 21:42:54.802] [error] RSI: 0x7ffa2352bb78
[2022-01-31 21:42:54.802] [error] RDI: 0x7ffa2352bb78
[2022-01-31 21:42:54.803] [error] RBP: 0x7ffa2352bd88
[2022-01-31 21:42:54.803] [error] RSP: 0x7698daef80
[2022-01-31 21:42:54.804] [error] R8: 0x7ffa2352bb78
[2022-01-31 21:42:54.804] [error] R9: 0x65
[2022-01-31 21:42:54.805] [error] R10: 0x7ffa2352bd94
[2022-01-31 21:42:54.805] [error] R11: 0x7ffa10a578ec
[2022-01-31 21:42:54.805] [error] R12: 0x0
[2022-01-31 21:42:54.805] [error] R13: 0x0
[2022-01-31 21:42:54.806] [error] R14: 0xffffffff
[2022-01-31 21:42:54.806] [error] R15: 0x1

Short answer: Don't set your XP to negative lul
Long answer: #173


Format with LSP if supported on save

Fixes #3626
To fix this,
(format-all-mode +1)

Was replaced with:
(+format-on-save-h)

This ensures that +format/buffer is used instead of format-all-buffer
In the function +format-on-save-maybe-h located in modules/format/config.el

Sorry, accidentally pressed draft button.

Thanks!

Is it expected that this overrides a formatter that was set explicitly with set-formatter!? If so, how can a specific formatter be used for a given mode, even when the corresponding LSP supports formatting (with a different formatter)?

Yes, set-formatter! defines a CLI tool, which is overridden by the LSP formatter.
To use a specific formatter, see this

To use a specific formatter, see this

Thanks! That worked. 👍


Add analytics breaking change notice

Adds notice about changes to data emitted from events in Prebid 1.0.
@rmloveland Let me know if I used the appropriate notice type, if this seems like a good location for the note, and anything else I can improve.
cc @bretg

Is this change only on Prebid 1.0 or going to be effective in subsequent Prebid releases (0.34 and later). Thanks.

only in prebid 1.0

Cool, thanks.


Strict C90 CFLAGS results in sha.h:91 ISO C90 does not support long long

Somewhat loosely related to https://github.com/openssl/openssl/issues/8048 wherein we all agree that the codebase is compliant with C90. However while trying a build with strict C90 flags I see :
titan# make
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
    "-oMakefile" crypto/include/internal/bn_conf.h.in > crypto/include/internal/bn_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
    "-oMakefile" crypto/include/internal/dso_conf.h.in > crypto/include/internal/dso_conf.h
/usr/bin/perl "-I." -Mconfigdata "util/dofile.pl" \
    "-oMakefile" include/openssl/opensslconf.h.in > include/openssl/opensslconf.h
/usr/bin/make depend && /usr/bin/make _all
make[1]: Entering directory '/opt/bw/build/openssl-1.1.1d_debian_sid_i686_5.3.7-genunix.001'
make[1]: Leaving directory '/opt/bw/build/openssl-1.1.1d_debian_sid_i686_5.3.7-genunix.001'
make[1]: Entering directory '/opt/bw/build/openssl-1.1.1d_debian_sid_i686_5.3.7-genunix.001'
/usr/bin/gcc-9  -I. -Iinclude -fPIC -std=c90 -pedantic -pedantic-errors -Wpedantic -fno-builtin -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80 -pthread -Wa,--noexecstack -std=c90 -pedantic -pedantic-errors -Wpedantic -fno-builtin -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR="\"/opt/bw/ssl\"" -DENGINESDIR="\"/opt/bw/lib/engines-1.1\"" -DNDEBUG -I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -D_LARGEFILE64_SOURCE -MMD -MF apps/app_rand.d.tmp -MT apps/app_rand.o -c -o apps/app_rand.o apps/app_rand.c
In file included from include/openssl/x509.h:30,
                 from apps/apps.h:26,
                 from apps/app_rand.c:10:
include/openssl/sha.h:91:36: error: ISO C90 does not support 'long long' [-Wlong-long]
   91 | #  define SHA_LONG64 unsigned long long
      |                                    ^~~~
include/openssl/sha.h:96:5: note: in expansion of macro 'SHA_LONG64'
   96 |     SHA_LONG64 h[8];
      |     ^~~~~~~~~~
include/openssl/sha.h:91:36: error: ISO C90 does not support 'long long' [-Wlong-long]
   91 | #  define SHA_LONG64 unsigned long long
      |                                    ^~~~
include/openssl/sha.h:97:5: note: in expansion of macro 'SHA_LONG64'
   97 |     SHA_LONG64 Nl, Nh;
      |     ^~~~~~~~~~
include/openssl/sha.h:91:36: error: ISO C90 does not support 'long long' [-Wlong-long]
   91 | #  define SHA_LONG64 unsigned long long
      |                                    ^~~~
include/openssl/sha.h:99:9: note: in expansion of macro 'SHA_LONG64'
   99 |         SHA_LONG64 d[SHA_LBLOCK];
      |         ^~~~~~~~~~
make[1]: *** [Makefile:708: apps/app_rand.o] Error 1
make[1]: Leaving directory '/opt/bw/build/openssl-1.1.1d_debian_sid_i686_5.3.7-genunix.001'
make: *** [Makefile:174: all] Error 2
Command exited with non-zero status 2

titan#

Seems reasonable to re-try that build with no CFLAGS of any particular compliance flavour however I am curious why C90 clean code would have any issue whatsoever?
Dennis

What platform and config args did you use?  The 64bit datatype might be something other than "long long"

Merely a follow up but if one relaxes these options a tad and stays with C90 then we hit an "asm" wall :
/usr/bin/gcc-9  -I. -Icrypto/include -Iinclude -fPIC -std=c90 -fno-builtin -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80 -pthread -Wa,--noexecstack -std=c90 -fno-builtin -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR=""/opt/bw/ssl"" -DENGINESDIR=""/opt/bw/lib/engines-1.1"" -DNDEBUG -I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -D_LARGEFILE64_SOURCE -MMD -MF crypto/bn/bn_div.d.tmp -MT crypto/bn/bn_div.o -c -o crypto/bn/bn_div.o crypto/bn/bn_div.c
crypto/bn/bn_div.c: In function 'bn_div_fixed_top':
crypto/bn/bn_div.c:175:13: error: 'asm' undeclared (first use in this function)
175 |         ({  asm volatile (
|             ^~~
crypto/bn/bn_div.c:361:17: note: in expansion of macro 'bn_div_words'
361 |             q = bn_div_words(n0, n1, d0);
|                 ^~~~~~~~~~~~
crypto/bn/bn_div.c:175:13: note: each undeclared identifier is reported only once for each function it appears in
175 |         ({  asm volatile (
|             ^~~
crypto/bn/bn_div.c:361:17: note: in expansion of macro 'bn_div_words'
361 |             q = bn_div_words(n0, n1, d0);
|                 ^~~~~~~~~~~~
crypto/bn/bn_div.c:175:17: error: expected ';' before 'volatile'
175 |         ({  asm volatile (
|                 ^~~~~~~~
crypto/bn/bn_div.c:361:17: note: in expansion of macro 'bn_div_words'
361 |             q = bn_div_words(n0, n1, d0);
|                 ^~~~~~~~~~~~
make[1]: *** [Makefile:1710: crypto/bn/bn_div.o] Error 1
make[1]: Leaving directory '/opt/bw/build/openssl-1.1.1d_debian_sid_i686_5.3.7-genunix.001'
make: *** [Makefile:174: all] Error 2
Command exited with non-zero status 2
So perhaps other flags or config options are needed in order for C90 compliance?
Dennis

What platform and config args did you use? The 64bit datatype might be something other than "long long"

Thanks for the snap fast reply!
This is Debian Linux "sid" on Intel 32-bit with nothing particularly special at all.
Let's take a look with and without the pedantic options :
titan# uname -a
Linux titan 5.3.7-genunix #1 SMP Fri Oct 25 15:43:22 UTC 2019 i686 GNU/Linux
titan# cat /etc/debian_version
bullseye/sid
titan#
titan# echo $CC
/usr/bin/gcc-9
titan#
titan# echo $CFLAGS
-std=iso9899:1990 -pedantic -pedantic-errors -Wpedantic -fno-builtin -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80
titan#
titan# echo $CPPFLAGS
-I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -D_LARGEFILE64_SOURCE
titan#
titan#
titan# cat /tmp/foo.c
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
long long foo;
printf ( "What is the sizeof(foo) ?  sizeof() says %i\n",
(size_t)sizeof(long long) );
return ( EXIT_SUCCESS );

}
titan#
titan# $CC $CFLAGS $CPPFLAGS -o /tmp/foo /tmp/foo.c
/tmp/foo.c: In function 'main':
/tmp/foo.c:7:10: error: ISO C90 does not support 'long long' [-Wlong-long]
7 |     long long foo;
|          ^~~~
/tmp/foo.c:9:36: error: ISO C90 does not support 'long long' [-Wlong-long]
9 |                (size_t)sizeof(long long) );
|                                    ^~~~
titan#
Right, so here gcc has a fit due to "pedantic" options.
Take them away ?
titan#
titan# $CC -std=iso9899:1990 -fno-builtin -march=i686 -mtune=i686 -g $CPPFLAGS -o /tmp/foo /tmp/foo.c
titan#
titan# /tmp/foo
What is the sizeof(foo) ?  sizeof() says 8
titan#
Well I think 64-bit is fine here.
Dennis

Er, no.  Let's take a look at your config command.  Please.  OR follow the instructions and post the output of the dump command.

We're frankly not 100% strict with asm, obviously. On the other hand, the asm stuff requires specific compilers, where we know it's supported. Therefore, trying à pure C90 build can only be assumed to pass with a no-asm configuration.
(we could spend time on moving this inline asm sections, but since they are relatively small, it doesn't seem worth the effort)

.travis.yml has one configuration where we do a check of a C89 build. Look for -ansi to find it, that shows the flags we're using, maybe that helps? Or maybe they need expanding?

OKay ... I am perhaps being a bit pedantic here ( nothing new ) and I can remove the "pedantic" options and also configure with --debug and "no-asm". This is precisely what I am doing now.
All of this is merely so that I can single step into some other code that is linked with libcrypto.so and that explains how I fell into this.
The Configuration was done with 10-main.conf slightly modified merely to slip in these CFLAGS :
titan# diff -c Configurations/10-main.conf.orig Configurations/10-main.conf
*** Configurations/10-main.conf.orig    Tue Sep 10 13:13:07 2019
--- Configurations/10-main.conf Sun Dec  1 05:04:50 2019

*** 176,182 ****
inherit_from     => [ "BASE_unix" ],
CC               => "gcc",
CFLAGS           => picker(debug   => "-O0 -g",
!                                    release => "-O3"),
thread_scheme    => "(unknown)",
bn_ops           => "BN_LLONG",
},
--- 176,182 ----
inherit_from     => [ "BASE_unix" ],
CC               => "gcc",
CFLAGS           => picker(debug   => "-O0 -g",
!                                    release => "-O0 -g"),
thread_scheme    => "(unknown)",
bn_ops           => "BN_LLONG",
},

*** 636,648 ****
inherit_from     => [ "BASE_unix" ],
CC               => "gcc",
CXX              => "g++",
!         CFLAGS           => picker(default => "-Wall",
debug   => "-O0 -g",
!                                    release => "-O3"),
!         CXXFLAGS         => picker(default => "-Wall",
debug   => "-O0 -g",
!                                    release => "-O3"),
!         cflags           => threads("-pthread"),
cxxflags         => combine("-std=c++11", threads("-pthread")),
lib_cppflags     => "-DOPENSSL_USE_NODELETE",
ex_libs          => add("-ldl", threads("-pthread")),
--- 636,648 ----
inherit_from     => [ "BASE_unix" ],
CC               => "gcc",
CXX              => "g++",
!         CFLAGS           => picker(default => "-std=c90 -m32 -g -fno-builtin -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80 -Wall",
debug   => "-O0 -g",
!                                    release => "-O0 -g"),
!         CXXFLAGS         => picker(default => "-std=c90 -m32 -g -fno-builtin -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80 -Wall",
debug   => "-O0 -g",
!                                    release => "-O0 -g"),
!         cflags           => threads("-std=c90 -m32 -g -fno-builtin -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80 -pthread"),
cxxflags         => combine("-std=c++11", threads("-pthread")),
lib_cppflags     => "-DOPENSSL_USE_NODELETE",
ex_libs          => add("-ldl", threads("-pthread")),
titan#
titan# perl ./Configure --prefix=/opt/bw --openssldir=/opt/bw/ssl --debug no-asm linux-generic32 2>&1
Configuring OpenSSL version 1.1.1d (0x1010104fL) for linux-generic32
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

***   OpenSSL has been successfully configured                     ***

***   If you encounter a problem while building, please open an    ***
***   issue on GitHub https://github.com/openssl/openssl/issues  ***
***   and include the output from the following command:           ***

***       perl configdata.pm --dump                                ***

***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***

titan#
That seems to be compiling fine now.
Very odd that pedantic C90 compliance throws these errors however going with no-asm may solve this neatly.   Regardless here is the "dump" :
openssl_c90ish.txt
Dennis

As I slow through this I hit other problems :
.
.
.
/usr/bin/gcc-9  -I. -Icrypto/include -Iinclude -fPIC -std=c90 -m32 -g -fno-builtin -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80 -pthread -std=c90 -fno-builtin -g -m32 -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80 -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSLDIR=""/opt/bw/ssl"" -DENGINESDIR=""/opt/bw/lib/engines-1.1""  -I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -D_LARGEFILE64_SOURCE -MMD -MF crypto/threads_pthread.d.tmp -MT crypto/threads_pthread.o -c -o crypto/threads_pthread.o crypto/threads_pthread.c
crypto/threads_pthread.c: In function 'CRYPTO_THREAD_lock_new':
crypto/threads_pthread.c:48:38: error: 'PTHREAD_MUTEX_RECURSIVE' undeclared (first use in this function); did you mean 'PTHREAD_MUTEX_RECURSIVE_NP'?
48 |     pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|                                      ^~~~~~~~~~~~~~~~~~~~~~~
|                                      PTHREAD_MUTEX_RECURSIVE_NP
crypto/threads_pthread.c:48:38: note: each undeclared identifier is reported only once for each function it appears in
make[1]: *** [Makefile:5104: crypto/threads_pthread.o] Error 1
make[1]: Leaving directory '/opt/bw/build/openssl-1.1.1d_debian_sid_i686_5.3.7-genunix.002'
make: *** [Makefile:174: all] Error 2
Command exited with non-zero status 2
titan#
There must be other people that have tried this sort of build I hope?

I needed a small patch inside a questionable bit of code which uses " if (1) " for some reason :
titan#
titan# diff -u crypto/bio/b_addr.c.orig crypto/bio/b_addr.c
--- crypto/bio/b_addr.c.orig    2019-09-10 13:13:07.000000000 +0000
+++ crypto/bio/b_addr.c 2019-12-01 07:18:13.859258517 +0000
@@ -195,6 +195,11 @@
if (1) {
#ifdef AI_PASSIVE
int ret = 0;

   /* given that we are inside an if(1) condition I feel

    * less horrified at doing a define here. However

    * this is disturbed. */

+#define NI_MAXSERV      32
+#define NI_MAXHOST      1025
char host[NI_MAXHOST] = "", serv[NI_MAXSERV] = "";
int flags = 0;
titan#
For reasons unknown that data is not picked up from within /usr/include/netdb.h and perhaps that is due to using  -D_XOPEN_SOURCE=600 regardless the end result passes ALL tests in the testsuite and that is the litmus paper test for me.
So I used these flags :
titan#
titan# echo $CC
/usr/bin/gcc-9
titan# echo $CFLAGS
-std=c90 -fno-builtin -g -m32 -march=i686 -mtune=i686 -Wl,-rpath=/opt/bw/lib,--enable-new-dtags -mpc80
titan# echo $CPPFLAGS
-I/opt/bw/include -D_POSIX_PTHREAD_SEMANTICS -D_TS_ERRNO -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=600
titan#
Also I must use no-asm as well as --debug but eventually I get a decent result.
I may patch and clean up that strange "  if (1) " in crypto/bio/b_addr.c
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional

I realize that this is the same bug due to some code slippage and here we are
in 2023 with OpenSSL 3.1.3 :

/usr/pkg/gcc10/bin/gcc  -I. -Iinclude -Iapps/include  -fPIC -pthread -std=iso9899:1990 -pedantic -pedantic-errors
-m64 -g -O0 -fno-builtin -fno-fast-math -mhard-float -mno-app-regs -mflat -msoft-quad-float
-mno-unaligned-doubles -mno-faster-structs -mcpu=ultrasparc -mtune=ultrasparc -mno-vis
-mno-vis2 -mno-vis3 -mno-vis4 -mno-vis4b -mno-cbcond -mno-fmaf -mno-fsmuld -mno-popc
-mno-subxc -mmemory-model=tso -fPIC -Wl,-rpath=/opt/bw/lib -Wl,-rpath=/usr/pkg/lib
  -DB_ENDIAN -DMD32_REG_T=int -DOPENSSL_PIC -DOPENSSLDIR="\"/opt/bw/ssl\""
-DENGINESDIR="\"/opt/bw/lib/engines-3\"" -DMODULESDIR="\"/opt/bw/lib/ossl-modules\""
-D_THREAD_SAFE -D_REENTRANT -D_XOPEN_SOURCE=500
-DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG  -MMD
-MF apps/lib/libapps-lib-app_params.d.tmp -MT apps/lib/libapps-lib-app_params.o
-c -o apps/lib/libapps-lib-app_params.o apps/lib/app_params.c
apps/lib/app_params.c: In function ‘print_param_value’:
apps/lib/app_params.c:106:58: error: ISO C90 does not support ‘long long’ [-Wlong-long]
  106 |             BIO_printf(bio_out, "%llu\n", (unsigned long long int)u);
      |                                                          ^~~~
apps/lib/app_params.c:112:49: error: ISO C90 does not support ‘long long’ [-Wlong-long]
  112 |             BIO_printf(bio_out, "%lld\n", (long long int)i);
      |                                                 ^~~~
*** Error code 1

Stop.
make[1]: stopped in /opt/bw/build/openssl-3.1.3_netbsd_9.3_sparcv9.001
*** Error code 1

Stop.
make: stopped in /opt/bw/build/openssl-3.1.3_netbsd_9.3_sparcv9.001

The -D_XOPEN_SOURCE=500 was just my way of throwing darts at the wall
to see what sticks.

This likely will not go away unless we pack those 64bits of data into an array
of eight unsigned char or something like two unsigned integers. On the other
hand the OpenSSL Technical Committee could simply update section 14 at
this page :

         https://www.openssl.org/policies/technical/coding-style.html

         Chapter 14: Portability

         To maximise portability the version of C defined in
         ISO/IEC 9899:1990 should be used. This is more commonly
         referred to as C90. ISO/IEC 9899:1999 (also known as C99) is
         not supported on some platforms that OpenSSL is used on and
         therefore should be avoided.

     There I see the use of the word "should" as opposed to "must".

I know that I can try C99 again but that fails in different ways.

--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional

Going down the rabbit hole here I see the calls to

     int OSSL_PARAM_get_uint64(const OSSL_PARAM *p, uint64_t *val)

actually get handed off to crypto/params.c which use thse two fellows :

000223
000224  /* General purpose get unsigned integer parameter call that handles odd sizes */
000225  static int general_get_uint(const OSSL_PARAM *p, void *val, size_t val_size)
000226  {
000227      if (p->data_type == OSSL_PARAM_INTEGER)
000228          return unsigned_from_signed(val, val_size, p->data, p->data_size);
000229      if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER)
000230          return unsigned_from_unsigned(val, val_size, p->data, p->data_size);
000231      err_not_integer;
000232      return 0;
000233  }
000234
000235  /* General purpose set unsigned integer parameter call that handles odd sizes */
000236  static int general_set_uint(OSSL_PARAM *p, void *val, size_t val_size)
000237  {
000238      int r = 0;
000239
000240      p->return_size = val_size; /* Expected size */
000241      if (p->data == NULL)
000242          return 1;
000243      if (p->data_type == OSSL_PARAM_INTEGER)
000244          r = signed_from_unsigned(p->data, p->data_size, val, val_size);
000245      else if (p->data_type == OSSL_PARAM_UNSIGNED_INTEGER)
000246          r = unsigned_from_unsigned(p->data, p->data_size, val, val_size);
000247      else
000248          err_not_integer;
000249      p->return_size = r ? p->data_size : val_size;
000250      return r;
000251  }
000252

Really the first function to get the integer data.

I am really wondering how sensitive this all is to the cast that is done in apps/lib/app_params.c at
lines 106 and 112?

I'm no longer sure what the ask is here in this issue.  @blastwave it seems you have updated to 3.1.3 and are building on a different platform/target than what the initial post indicated.  Can you provide the output of configdata.pm --dump so that we can continue to look at this?
or is this no longer an issue?

no response, marking as inactive, to be closed at the end of 3.4 dev barring further input

no response, marking as inactive, to be closed at the end of 3.4 dev barring further input

I have been told repeatedly by various OpenSSL project folks that no one
really cares about the C90 compliance anymore. There are so very many
place where the code veers way far away from C90 and well into some
Brave New World called gnu17. So while I would like to use memcpy to
move around 8-byte data into something that looks like a "long long" or
some other old school way ... no one seems to care. Regardless what the
Project Code Policy clearly states :

see https://www.openssl.org/policies/technical/coding-style.html

    Chapter 14: Portability

        To maximise portability the version of C defined in
        ISO/IEC 9899:1990 should be used. This is more commonly
        referred to as C90. ISO/IEC 9899:1999 (also known as C99)
        is not supported on some platforms that OpenSSL is
        used on and therefore should be avoided.

However we pretty much know that the project is well outside that spec
in many places.

It would take a lot of effort to get the latest releases to compile and
actually work on some old system where the GCC compiler does not exist.

I know. I have tried over and over and failed over and over.

If I suggest a strict compliance to a C standard then I get shot at and
told what a terrible person I am to even think that way.
    https://github.com/openssl/openssl/issues/21718

I would be happy with C99 but that is a no-go no-way also.

So you tell me what the real answer is here?

--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken

I think the underlying discussion here is whether or not you have an actual system where we have an issue compiling that we need to address or if this is simply an academic exercise to see what is in place.
We do stick to C90 with certain "extensions" on various platforms to support things like an 8-byte data type as you have noted.
If there is a platform which we aren't able to compile on to support we are interested in being aware of that and will look at whether or not something needs addressing. We do not have a policy of strict C90 conformance - we stick to the C90 dialect of C for the main code - but do support extensions to allow beyond C90 usage on the range of platforms without adopting the general language extensions of C99.


docs: add Q&A docs

Q&A docs + a bunch of "How Do I" questions.

@remydenton @mikemai2awesome @colbytcook, same comment here as  https://github.com/boltdesignsystem/bolt/pull/1873#issuecomment-631725434

Moved into #1873


Legacy Bundling Tool includes "some" JSDoc comments

Current Behavior
When running a build for a custom bundle defined in a ui5.yaml I expect that the JSDoc comments will be removed. When running a custom bundle build including sap/ui/core/ManageObject the constructor comment will not be removed from the bundle, e.g.:
specVersion: '1.0'
metadata:
  name: sample
type: application
builder:
  bundles:
  - bundleDefinition:
      name: bundle.js
      defaultFileTypes:
      - ".js"
      sections:
      - mode: preload
        filters:
        - sap/ui/base/ManagedObject.js
        resolve: false
        sort: true
        declareModules: false
    bundleOptions:
      optimize: true
      usePredefineCalls: false

After running ui5 build with this configuration you can see that the bundle.js includes this huge JSDoc comment.
But when changing this bundle definition to use predefine calls then the JSDoc is being remove properly.
Expected Behavior
The JSDoc comments should be removed from the bundle.
Steps to reproduce the issue

Put the content of the ui5.yaml above in your UI5 tooling based project as ui5-test.yaml
Run ui5 build --config ui5-test.yaml
Check the output in dist/resources/bundle.js => includes constructor comment
Run the build again with usePredefineCalls: true => no comments

Context

UI5 Module Version (output of ui5 --version when using the CLI): 1.4.4
Node.js Version: 8.9.1
npm Version: 5.7.1
OS/Platform: macos
Browser (if relevant): not relevant
Other information: n/a

Affected components (if known)

[X] ui5-builder
[ ] ui5-server
[ ] ui5-cli
[ ] ui5-fs
[ ] ui5-project
[ ] ui5-logger

The ManagedObject comment pretends to be a copyright comment:
bindFoo(c) -

Instead of messing around with the copyright check, I'll fix that comment.

Ok, with me - you can close the issue if you want. Maybe some reporting would help in future? I am not sure.

Some reporting would require that we can distinguish between intended and unintended copyright comments. Then we could fix the check anyhow.

After taking a fresh look, I think we can and should fix it in the bundle builder. The RegExp used in the uglifier task is different from the one used in the bundler and better matches what we do in the inhouse bundle tooling (Maven).
See PR #275 .


Xdg

This PR brings back the lost changes from 1. It also cleans up some of the documentation and linter issues

Thanks much :smile: I feel a bit sorry for not finishing that by myself although


buySubscription ignoring user feedback

Version of react-native-iap
2.3.0
Platforms you faced the error (IOS or Android or both?)
Android
Expected behavior
let sub = await RNIApp.buySubscription("some");
should wait for the user to press buy on the modal of in app payments
Actual behavior
i cant check if the user accepted the subscription, because when doing:
let sub = await RNIApp.buySubscription("some");
if(sub){
do some things..
}
the if(sub) block executes inmediatly after the popup opens, but the user still not accept the subscription
Tested environment (Emulator? Real Device?)
Real device
Any ideas?
There  are other methods like getAvailablePurchases that also returns a promise and works fine
The problem is that buySubscription should return the callback of the user input and it isnt

Literally didnt touch anything, and after some uninstall/install it works, any ideas if this must be related with the playstore working wrong?
Its the only logical explanation that i can imagine ..

@marcosmartinez7 Sorry for the breaking could you try 2.3.1?

Hi, thanks!
I dont have time right now but i will

@marcosmartinez7 Thanks please come back.

@dooboolab Issue is present on iOS too. Tried both 2.3.1 as well as 2.3.2

I think it is fixed in 2.3.3. Please reopen when this is still occurring.

@dooboolab I'm sorry, just installed and relinked 2.3.5. await RNIap.buySubscription(iapProductId) still immediately returns undefined on iOS

@dooboolab I tried linking and unlinking. Whenever I switch back to 2.2.2 it starts working again. But I'll check again tomorrow. Maybe try to manually install the native component

@dooboolab Ok, I now manually linked the new 2.3.6 version. Still getting undefined. I'd love to help solve this issue. Let me know what I can do to help!

Can somebody confirm this? This shouldn't happen.

@dooboolab I can confirm that on iOS version 2.3.6 doesn't execute the promises but version 2.2.2 does (using an iPhone 5 device, React Native 0.56)

I guess this is same issue with this.
https://github.com/dooboolab/react-native-iap/issues/201
Would you check this?

I am also experiencing this issue on 2.3.7. When i try to use await the next line is called right away instead of waiting for the promise, and when i use RNIap.buySubscription(subId).then(purchase => {}) it crashes with error cannot read property then of undefined

We're currently working on this. Also, anyone who is facing this, did you call getSubscriptions before actually calling buySubscription?

I just tested purchase in RNExample app. I purchased subscription with buyProductWithoutFinishTransaction() method.

@Gaia-Nutrition Can you try 2.3.8? Also, what did you call getSubscriptions before buySubscription?

I tested buySubscription in iOS device in sandbox mode.
It managed to success, but it shows some error message.
And Auto renewable subscription doesn't issue receipt.
I suggest to use buyProductWithoutFinishTransaction and finishTransaction instead of buySubscription.
Currently I have no device for test, I will track this issue later.

Feels like this is only issue in iOS currently. Am I right?

@dooboolab No, also occuring on Android. The function returns undefined even before the first line in buyItemByType is called.

@dooboolab The problem is caused in the index.js:105. You should change the lines to something like
export const buySubscription = (sku, oldSku, prorationMode) => Platform.select({     ios: () => RNIapIos.buyProduct(sku),     android: () =>  RNIapModule.buyItemByType(ANDROID_ITEM_TYPE_SUBSCRIPTION, sku, oldSku, -1),   })();
(I know this ignores prorationMode)
However after successfully subscribing there is an issue:
E/UncaughtException: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.List.get(int)' on a null object reference         at com.dooboolab.RNIap.RNIapModule$11.onPurchasesUpdated(RNIapModule.java:427)         at com.android.billingclient.api.BillingClientImpl$1.onReceive(BillingClientImpl.java:136)         at com.android.billingclient.api.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:303)         at com.android.billingclient.api.LocalBroadcastManager.access$000(LocalBroadcastManager.java:44)         at com.android.billingclient.api.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:114)         at android.os.Handler.dispatchMessage(Handler.java:105)         at android.os.Looper.loop(Looper.java:164)         at android.app.ActivityThread.main(ActivityThread.java:6938)         at java.lang.reflect.Method.invoke(Native Method)         at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

@mfentross Which version of react-native-iap are you at? There is empty line in RNIapModule.java:427.

My fault: I edited a few lines. But the fix for the main problem is to edit the buySubscription function to
`
export const buySubscription = (sku, oldSku, prorationMode) =>
Platform.select({
ios: () => RNIapIos.buyProduct(sku),
android: () => {
if (!prorationMode) prorationMode = -1;
return RNIapModule.buyItemByType(ANDROID_ITEM_TYPE_SUBSCRIPTION, sku, oldSku, prorationMode);
},
})();
`
There were some unnecessary brackets.

@dooboolab Thanks, it works now 👍

@JJMoon He says if wrap method with async and await, it works. However, I am not quite sure how this could be possible. Wrapping with async and await is redundant in return value isn't it?

Please reopen when this is still occurring. Thank you for all helps.


implement simd_saturating intrinsics

@bors r+

:pushpin: Commit 735bee273690940e9944291c70ab808cbc1062c1 has been approved by RalfJung

:hourglass: Testing commit 735bee273690940e9944291c70ab808cbc1062c1 with merge ccaf7206e122b544aa2762f6b42474d8ee545a8a...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing ccaf7206e122b544aa2762f6b42474d8ee545a8a to master...


weather: sunrise_sunset is a Boolean, so treat it that way

@RustyBower I'm guessing you weren't entirely sober when implementing the sunrise/sunset feature? 😁😉😜 It doesn't make sense to validate that setting as a str, unless I'm missing something.

This seems downright reasonable 👍


Improve Mock Interview guide

rn it says email pittcsc which is not ideal

@varughese Was this deleted?

Yeah deleting it in the 02o pr
On Tue, Jul 14, 2020 at 11:09 AM Ming<EMAIL_ADDRESS>wrote:

@varughese https://github.com/varughese Was this deleted?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PittCSWiki/pittcswiki/issues/201#issuecomment-658236204,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADKKYLYFX23HIVAQWV5MU5TR3RYLHANCNFSM4OYDB76A
.


pipeline loading and saving working in online trainer

This pull request introduces 1 alert when merging d9bca2dba6eafb06dd5ed4ca503743c86a8e505a into 4f224c611a47dab208cb56a801127e90ebe6f5df - view on LGTM.com
new alerts:

1 for Unused import

Comment posted by LGTM.com

This pull request introduces 5 alerts when merging<PHONE_NUMBER>3e8634e72603d995239fdd8903a524 into 4f224c611a47dab208cb56a801127e90ebe6f5df - view on LGTM.com
new alerts:

4 for Unused import
1 for Unreachable code

Comment posted by LGTM.com

This pull request introduces 4 alerts when merging 3a1598c38401ba8761d9c9f8fbff07707d53fa67 into 4f224c611a47dab208cb56a801127e90ebe6f5df - view on LGTM.com
new alerts:

4 for Unused import

Comment posted by LGTM.com


use of raise Exception

Within tenant.py we use raise Exception and I wonder if this is needed in all cases.
For example we may see the following:
1552982503.81 - keylime.cloudverifier - WARNING - Node of uuid D432FBB3-D2F1-4A97-9EF7-75BD81C00000 already exists
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/keylime-1.2-py2.7.egg/keylime/tenant.py", line 744, in main
    mytenant.do_cv()
  File "/usr/lib/python2.7/site-packages/keylime-1.2-py2.7.egg/keylime/tenant.py", line 481, in do_cv
    raise Exception("Node %s already existed at CV.  Please use delete or update."%self.node_uuid)
Exception: Node D432FBB3-D2F1-4A97-9EF7-75BD81C00000 already existed at CV.  Please use delete or update.

The use of raise Exception here makes it look like the code is broken as we get a traceback as CLI output, but in fact the code has captured the condition correctly and could instead report with the logger (most likely logger.info)
If we have agreement here on using the logger instead of raise Exception . I am happy to work on a PR that we can then review.

paging @nabilschear and @jetwhiz - let me know your thoughts or context (if I am missing any).

i think that you've got a good point.  while i love stack traces they can be intimidating

there's a lot of duplicate log.error and raise Exception pairs that could be deduplicated

thanks @nabilschear , I will work on this.

@jetwhiz there's nothing in the webapp that relies upon exceptions right?


♻ Rework s3 access check

Doesn't work with managed credentials for now.

@falexwolf interesting test failure in build / storage
i realize now that we wanted lazy root check and it is not actually lazy due to
lamindb_setup/dev/_settings_save.py:53: in save_instance_settings
    f.write(f"lamindb_instance_storage_root={str(**settings.storage.root**)}\n")


Getting Azure SignalR Service is not connected yet, please try again later. in local environment

Hello!
I've been getting above error since yesterday when I'm debugging my MVC webapp locally via VS 2019. The error comes from the negotiate request which is something like below:
http://localhost:53652/signalr/negotiate?clientProtocol=2.1&connectionData=
I've deployed it to one of our Dev servers in Azure cloud, and now that too getting the same error and SignalR is not workable. However, SignalR is still working fine in our Production servers.
I've followed this: https://github.com/Azure/azure-signalr/issues/452
And this: https://forums.asp.net/t/2154631.aspx?Error+500+using+Azure+SignalR+service
But still no use.
After enabling diagnostics as per the first link, I was getting an error saying that I cannot connect to our Azure SignalR instance. But I don't get it since, the production servers can connect and working fine.
I was in Azure SignalR v1.2.3, and later updated to v1.4.3 thinking that would resolve. But still no luck.
My Startup class:
public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            Microsoft.AspNet.SignalR.GlobalHost.Configuration.DisconnectTimeout = TimeSpan.FromSeconds(60);

//Works for app.MapSignalR();
            app.MapAzureSignalR(appname));

        }

    }

Any help will be highly appreciated.
Thank you.

Could you try https://github.com/Azure/azure-signalr/blob/c764ee716b0b6079d4085c1c68d02c29be3c8aea/docs/tsg.md#troubleshooting-guide-1 to see what is the exception thrown? Probably the 500 error is caused by some assembly binding issue, have you updated any reference package versions in your local environment?

@vicancy I've got this --> Azure SignalR Service is not connected yet, please try again later.
Stacktrace: at Microsoft.Azure.SignalR.AspNet.DefaultEndpointRouter.GetNegotiateEndpoints(IEnumerable`1 endpoints)
Other than that whole lot of The remote server returned an error: (400) Bad Request.

Ok. This seems to have started working again. I suspect something went wrong at Azure's end and they have corrected it now.
Thank you for anyone who was looking into this.

Yes we've identified an issue when user is using ASP.NET SignalR protocol
Symptom
The server connection might unable to connect to Azure SignalR with 400 status code.
Root cause
The latest version of Azure SignalR added a stricter validation rule for ASP.NET SignalR application name and hub names that app servers with hub names containing characters like - % will be impacted and get 400 response
Solution
We have rolled back the validation check and have fixed the impacted resources and the issue should be gone now.

Thank you @vicancy .
Lucky enough that this didn't affect our production servers. It was a waste of time at work however :(

I ran into this problem Azure SignalR Service is not connected yet and get httpstatus 502 in Fidler when I do this in my program.cs for my webapi:
public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((context, config) => config.ConfigureKeyVault())
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                })

But it works do this instead:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((context, config) => config.ConfigureKeyVault())
                .UseStartup<Startup>();

For both senerios in startup.cs:
public void ConfigureServices(IServiceCollection services)
{
        services
            .AddSignalR()
            .AddAzureSignalR();
}

I am using netcoreapp3.1 with package Microsoft.Azure.SignalR version 1.6.1 and would use IHostBuilder  but don't know how to set it up, without going the  IWebHostBuilder  way.

What do I do wrong?
Maybe it can give a clue to other with the problem Azure SignalR Service is not connected yet

@davidkallesen Besides Azure SignalR Service is not connected yet, what are the logs for Microsoft.Azure.SignalR.Connections.Client.Internal.WebSocketsTransport and Microsoft.Azure.SignalR.ServiceConnection when the app starts, as similar to:
info: Microsoft.Azure.SignalR.Connections.Client.Internal.WebSocketsTransport[1]
      Starting transport. Transfer mode: Binary. Url: 'ws://.../server/?hub=benchhub&cid=03b803d1-0074-4078-958c-ca9491d981f1'.

fail: Microsoft.Azure.SignalR.ServiceConnection[2]
      Failed to connect to '(Primary)http://...', will retry after the back off period. Error detail: Unable to connect to the remote server. No connection could be made because the target machine actively refused it.. Id: 7363a945-4f74-43bc-85af-cf187f397a67

I ran into this problem Azure SignalR Service is not connected yet and get httpstatus 502 in Fidler when I do this in my program.cs for my webapi:
public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((context, config) => config.ConfigureKeyVault())
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                })

But it works do this instead:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((context, config) => config.ConfigureKeyVault())
                .UseStartup<Startup>();

For both senerios in startup.cs:
public void ConfigureServices(IServiceCollection services)
{
        services
            .AddSignalR()
            .AddAzureSignalR();
}

I am using netcoreapp3.1 with package Microsoft.Azure.SignalR version 1.6.1 and would use IHostBuilder  but don't know how to set it up, without going the IWebHostBuilder  way.

What do I do wrong?
Maybe it can give a clue to other with the problem Azure SignalR Service is not connected yet

I'm seeing exactly the same issue. I created a Worker Service project which uses the Host class instead of the WebHost and I'm seeing exactly the same problem. When I switch it over to WebHost it works fine. We need to reopen this issue

I ran into this problem Azure SignalR Service is not connected yet and get httpstatus 502 in Fidler when I do this in my program.cs for my webapi:
public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((context, config) => config.ConfigureKeyVault())
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                })

But it works do this instead:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((context, config) => config.ConfigureKeyVault())
                .UseStartup<Startup>();

For both senerios in startup.cs:
public void ConfigureServices(IServiceCollection services)
{
        services
            .AddSignalR()
            .AddAzureSignalR();
}

I am using netcoreapp3.1 with package Microsoft.Azure.SignalR version 1.6.1 and would use IHostBuilder  but don't know how to set it up, without going the IWebHostBuilder  way.

What do I do wrong?
Maybe it can give a clue to other with the problem Azure SignalR Service is not connected yet

In your Startup.cs do you have a line similar to this: services.AddHostedService(); ? Also inside of that worker are you trying to send out a signalR message ? If you are then that's what might be causing your issues. At least for me that's what it was. The hosted service (Worker) would start up and run before the AzureSignalR connection is established so it would blow up the whole project with the exact same error you're seeing. All I did for right now is added a Task.Delay(10000) to let the project start up. I'll be interested to find out if there is a way to tell if the AzureSignalR connection has been established before sending anything through the HubContext.

@davidkallesen Besides Azure SignalR Service is not connected yet, what are the logs for Microsoft.Azure.SignalR.Connections.Client.Internal.WebSocketsTransport and Microsoft.Azure.SignalR.ServiceConnection when the app starts, as similar to:
info: Microsoft.Azure.SignalR.Connections.Client.Internal.WebSocketsTransport[1]
      Starting transport. Transfer mode: Binary. Url: 'ws://.../server/?hub=benchhub&cid=03b803d1-0074-4078-958c-ca9491d981f1'.

fail: Microsoft.Azure.SignalR.ServiceConnection[2]
      Failed to connect to '(Primary)http://...', will retry after the back off period. Error detail: Unable to connect to the remote server. No connection could be made because the target machine actively refused it.. Id: 7363a945-4f74-43bc-85af-cf187f397a67

Microsoft.Azure.SignalR.Common.AzureSignalRNotConnectedException: Azure SignalR Service is not connected yet, please try again later.
at Microsoft.Azure.SignalR.ServiceConnectionManager1.WriteAsync(ServiceMessage serviceMessage)    at Microsoft.Azure.SignalR.ServiceLifetimeManagerBase1.<>c__DisplayClass22_01.<WriteAsync>b__0(T m)    at Microsoft.Azure.SignalR.ServiceLifetimeManagerBase1.WriteCoreAsync[T](T message, Func2 task)    at Beo.Hardware.IOT.API.Controllers.BEODeviceController.AddBEOMasterDeviceFeedintoDB(BeoDeviceModel data) in D:\BEO\Beo.Warehouse\Beo.Hardware.IOT.API\Controllers\BEODeviceController.cs:line 26    at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)    at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)

Make sure u register:
app.UseAzureSignalR(route => { route.MapHub(signalRConfigurationSettings.HubPath); });
before the instantiation of your class that uses the
IHubContext someHub, in it constructor
I instantiate it like this
serviceProvider.GetService()

I had the same issue Getting Azure SignalR Service is not connected yet, please try again later and I realized that the access key in my azure connection string is wrong! I had changed the endpoint address(service) without changing the access key!


Convert to relative imports

Using "flask.ext.sqlalchemy" within the import creates problems for programs like pyinstaller, py2app, py2exe, or cx-freeze.
These programs freeze the executables and linked python packages in a codebase by recursively checking import statements throughout all dependencies.
Since flask uses redirection from flask.ext.sqlalchmey to flask_sqlalchemy, the import statements are not understood unless one explicitly adds a "hidden_import" of flask_sqlalchemy.
Upon adding this hidden_import, the code works fine, only if relative imports are used within the codebase.
Otherwise, individual hidden_imports must be added for each import, like flask.ext.sqlalchmey._compat.

839f50ca24bdac66b750554117e55af6f336d742


Slack integration limited to 1000 channels

If a Slack org as > 1000 channels, some don't show up. Need to increase/page/real time search.

@gagantrivedi as discussed this morning, since Slack's API doesn't support search on name I think we have a few options:

Add an option for the user to choose switch between public and private channels and use the type filter on the slack API
Grab the first 1000 private, then the first 1000 public automatically on the BE and then provide those 2000 channels to the FE for searching
Add an option to manually enter the channel ID from the FE

The problem with 1 & 2 is that we'd still fall down if a user had more than 1000 public or private channels. Hence, my preference here is option 3 as it is completely foolproof in case we have users that have more than 1000 public or private channels. It's perhaps a bit more work (for us AND the user) but it's completely robust.

OK yep lets do that.

I think the back-end part needed for option 3 is already implemented.

As discussed, we need to do some validation on the BE when a user sends a channel ID to verify that they are authorised to send messages to that channel (otherwise we'll just throw an error when trying to send a message there once enabled).
That should effect the FE integration here though.

Slack integrations allow you to set a custom channel ID


Create PR Checklist Template

This template will provide a simple checklist for developers to mull over before submitting an official Pull Request.  The checklist will help remind new and old developers of some of the tasks needed to complete before doing a Pull Request.  For example, I always forget to update news.md!!   Ideally, the checklist will prevent an official Pull Request until the author has checked off every box in an acknowledgement that they have completed the task.
I think this will be especially nice for new developers coming onto the project!
Please see the following templates for other Github projects that have made use of this feature:

https://jemurai.com/2019/08/15/github-pr-checklist/
https://stackoverflow.com/questions/25272215/how-to-automatically-add-a-checklist-to-new-github-prs

Additional internal discussion around this issue can be found here:
#765
The ASK from you
Can you add to the checklist?? - it can be a nit and gritty task to more general  task- e.g. update news.md versus update unit tests or write new unit tests.
The PR Template so far (22-DEC-2021)
Thank you for your Pull Request!  We have developed this simple task checklist from the Development Process Guide to help with the final steps of the process.  Completing the below tasks helps to ensure our reviewers can maximize their time on your code as well as making sure the admiral codebase remains robust and consistent.

[ ] Code is formatted according to the tidyverse style guide
[ ] Update unit tests or write new unit tests - See Unit Test Guide
[ ] If you removed/replaced any function and/or function parameters, did you fully follow the deprecation guidance?
[ ] Update to all relevant roxygen headers and examples
[ ] Run devtools::documents()  so all .Rd, NAMESPACE and DESCRIPTION files are updated appropriately
[ ] Address any updates needed for vignettes and/or templates
[ ] Update NEWS.md
[ ] Build admiral site pkgdown::build_site() and check that all affected examples are displayed correctly and that all new functions occur on the "Reference" page.
[ ] Address or fix all lintr warnings and errors - lintr::lint_package()
[ ] Run Check Package locally and address all errors and warnings -  devtools::check()
[ ] Link the issue so that it closes after successful merging.
[ ] Address all merge conflicts and resolve appropriately

Many thanks for your contribution to admiral!
Template Changelog

[ ] @bundfussr Updated based on site build and ordering.  Let me know if anything should be moved around
[ ] @rossfarrugia Updated based on the Development Process Article

FYI - this is different than the automated github actions that check a lot of this stuff - this is to help head off errors from those actions and help minimize time reviewers have to spend on checking some of this stuff, e.g. unit tests written, updated vignetters, etc..

Great idea!
I would add

[ ] Build site (pkgdown::build_site()) and check that all affected examples are displayed correctly and that all new functions occur  on the "Reference" page.

I would reorder the items of the list such that the ones updating source files come first, then the checks, and solving merge conflicts at the end.

@thomas-neitmann, @bundfussr @rossfarrugia and others
I got this set up in a personal github repo. https://github.com/bms63/pr_template_demo/pull/6
The steps are:

Set up .github/pull_request_template.md
Put our agreed upon tasks into the template along with any other guidance
Install Task List Completed App from Github Marketplace - https://github.com/marketplace/task-list-completed (FREE!)
Go!

great idea @bms63! any chance you can match the texts and order from a-g of https://github.com/Roche-GSK/admiral/blob/devel/vignettes/development_process.Rmd (see https://github.com/Roche-GSK/admiral/pull/777)? this is the new vignette that people should refer to when developing. feel free to update this with any extra checks i missed. important that the above and this vignette stay consistent so as not to confuse people.
i'm off from now for christmas hols, but happy to pick up any review or support needed when back early Jan. thanks!

Great stuff @bms63 👏
I agree with @rossfarrugia's comment that we should kkep this check list in sync with the Development Process vignette.
Apart from that, the current wording seems to be directed towards the developer who opened the PR rather than the reviewer. While the developer can certainly use this checklist it's the reviewer who will tick if off so I think the wording needs to reflect that.

Btw, while we're talking about templates, do we also want to add an issue template?

I thought the developer would tick off the checklist before requesting review.
In principle an issue template is a good idea but the tricky point is the content. We could add checklist items for adding at least one label and setting the project. I am not sure what else could be useful and common for all issues.

This looks great, excellent work @bms63. This would have helped me enormously!
I also think the checklist is for the developer.
Regarding issue template, I think its worth doing, but as Stefan suggests it could be quite a short list of things.
Only other possible things I can think of for issue template is:
Linking pull request to issue?
Remembering to move issue to correct state ie, 'In Progress', etc.?

@thomas-neitmann I was thinking the PR Checklist was for the developer and to help minimize the reviewers time spent on these types of task.  We could have two sections in the template - One for Developers and One for Reviewers.  I'd imagine they would be pretty similar, but these simple reminders could be very helpful!  Who doesn't want that green check mark!!
@rossfarrugia I reordered the task list according to the dev process article and linked it in the template.
I still haven't figured out how to add the Rule to the branch for the checklist.  Apparently you can prevent the merging until all items in the checklist are completed - like the R-CMD checks.  Right now you can still merge, but you will have a red X if you didn't check everything off.
I am going to make a separate issue for the Issue Template.

@bms63 I can edit the branch protection settings such that merging to devel and/or master is blocked unless the checklist is completed.


Translations not shown for nested keys

Describe the bug
Nested translations inside JSON files are not shown in the editor when editing the JSON file directly.
All is fine in all other places: TREE view, using translations in code editing.
Extension Version
i18n Ally v1.13.3
Framework/i18n package you are using
vue-i18n with Nuxt.js
To Reproduce
Steps to reproduce the behavior:

Go to zh.json/en.json
All nested levels of keys are not shown with translations.

Device Infomation

OS: macOS
Version: 10.15.3 (19D76)
VSCode Version: 1.42.1

Extension Log
Go to View -> Output -> i18n Ally, and paste the content below.
🈶 Activated, v1.13.3

――――――

💼 Workspace root changed to "/Users/MyUserName/Documents/Projects/NuxtProject"
📦 Packages file "package.json" found
🕳 Packages file "pubspec.yaml" not exists
🕳 Packages file "composer.json" not exists
🕳 Packages file "Gemfile" not exists
🌞 Enabled
🐱🏍 "Vue", "Vue SFC" framework(s) detected, extension enabled.
🧬 Parsers "json", "yaml", "js", "json5", "ini", "po", "php" enabled.

🚀 Initializing loader "/Users/MyUserName/Documents/Projects/NuxtProject"

📂 Loading locales under /Users/MyUserName/Documents/Projects/NuxtProject/locales
	📑 Loading (en) en.json
	📑 Loading (zh) zh.json

👀 Watching change on /Users/MyUserName/Documents/Projects/NuxtProject/locales

📂 Loading locales under /Users/MyUserName/Documents/Projects/NuxtProject/components/guides/langs

👀 Watching change on /Users/MyUserName/Documents/Projects/NuxtProject/components/guides/langs

✅ Loading finished

――――――

📑 Loading sfc /Users/MyUserName/Documents/Projects/NuxtProject/pages/dashboard/buy-premium-data.vue
📑 Loading sfc /Users/MyUserName/Documents/Projects/NuxtProject/pages/dashboard/settings.vue
📑 Loading sfc /Users/MyUserName/Documents/Projects/NuxtProject/pages/dashboard/help.vue
📑 Loading sfc /Users/MyUserName/Documents/Projects/NuxtProject/pages/dashboard/settings.vue
📑 Loading sfc /Users/MyUserName/Documents/Projects/NuxtProject/pages/dashboard/dashboard.vue
📑 Loading sfc /Users/MyUserName/Documents/Projects/NuxtProject/pages/dashboard/dashboard.vue
📑 Loading sfc /Users/MyUserName/Documents/Projects/NuxtProject/pages/dashboard/dashboard.vue
📑 Loading sfc /Users/MyUserName/Documents/Projects/NuxtProject/pages/dashboard/menu.vue
📑 Loading sfc /Users/MyUserName/Documents/Projects/NuxtProject/pages/dashboard/menu.vue
🧰 Config "i18n-ally.displayLanguage" changed
📦 Packages file "package.json" found
🕳 Packages file "pubspec.yaml" not exists
🕳 Packages file "composer.json" not exists
🕳 Packages file "Gemfile" not exists
🐱🏍 "Vue", "Vue SFC" framework(s) detected, extension enabled.
🧬 Parsers "json", "yaml", "js", "json5", "ini", "po", "php" enabled.

Screenshots

Hi @rankjie, it's fixed in v1.13.4. Please check it out. Thanks!

Bravo!
I can confirm the issue is fixed in 1.13.4.


GLVis build failed

I am trying to build GLVis using make MFEM_DIR=../mfem-3.0 -j however I am getting the following errors:

aux_vis.hpp:17:10: fatal error: GL/glx.h: No such file or directory
 #include <GL/glx.h>

openglvis.cpp: In member function ‘void Camera::GLMultTransposeRotMatrix()’:
openglvis.cpp:100:4: error: ‘glMultTransposeMatrixd’ was not declared in this scope
    glMultTransposeMatrixd(mat);

You need OpenGL support, either XQuarz on Mac or the corresponding Linux packages, see
https://github.com/GLVis/glvis/blob/master/INSTALL#L117-L120

@tzanio I am using Cygwin on Windows 10.

Then see https://github.com/GLVis/glvis/blob/master/INSTALL#L32-L34

I am getting this now: lib/libglvis.a(tk.o):tk.cpp:(.text+0x2884): undefined reference to `XFreeFont'
And bunch of similar errors.

Try setting GLVIS_USE_FREETYPE = NO in the makefile


Firestore BigQuery Export: The backfill script doesn't support wildcards

Extension name: _ firestore-bigquery-export
Extension version: _ latest

Steps to reproduce:

Setup Firestore BigQuery Export extension with a wildcard collections path. e.g. objects/{object}/list
Attempt to backfill existing collections data to BigQuery via https://github.com/firebase/extensions/blob/master/firestore-bigquery-export/guides/IMPORT_EXISTING_DOCUMENTS.md

Expected result
The backfill script should support the same wildcard capability as the extension.
Actual result
The backfill script gives an error when a wildcard collection path is entered:
The collection path must only contain letters or spaces

Hey @dotmanish, thanks for filing the issue. We are aware of this short coming, but there isn't much we can do about it I'm afraid. Wildcards are allowed in cloud function Firestore triggers, but they aren't possible in Firestore queries.


fix: update k8s to go 1.20

updated and has updated with go mod vendor and go mod tidy.
[#185619304]
@peterhaochen47

The change itself, which has the one-line change in go.mod is as expected. However, there is something wrong with the commit message.

has updated with go mod vendor

go mod vendor would have created vendor folder as it did not exist yet. However, vendor folder is not a part of the commit and it should not be as we do not need/want that for this go module. Just doing go mod tidy was enough for this change. I suggest to remove "go mod vendor" from the commit message.
See https://go.dev/ref/mod#vendoring.

@hsinn0 The requested changes have been made.

I see the PR comment updated. However, the commit message was not. Isn't the commit message the one added as commit message after "Rebase and merge"?


Upgrade dataset provider to use JakartaEE dependencies used in KC22

Changed to latest JakarataEE dependencies used in Keycloak upstream.
Removed special dependency handling around RESTEasy and the tests show this is no longer necessary.
Closes #327

Hi @mhajas - this is now ready for review. There is an integration test DeploymentIT which ensure that the dataset provider works as expected with the legacy and new store. This one is green, and I trust on that test result so consider this ready to be merged.


I'm trying to use the API but the doc is a bit confusing.

I'm trying to use the API but the doc is a bit confusing.
It says that it can be used to create your own "login ui" but i can't find how to convert a sessionToken to accessToken+refreshToken+idToken.
Can you provide some more explanations?
Originally posted by @Sipioteo in https://github.com/zitadel/zitadel/discussions/5875#discussioncomment-5975558

Answered in original discussion: https://github.com/zitadel/zitadel/discussions/5875#discussioncomment-5975558

Issue will be closed


Update img-has-alt to reflect new suggestion about role='presentation'

Looks like the docs don't reflect the new thinking about role='presentation' vs alt=''.
I'd change them myself but not 100% clear on what the new thinking is yet.

thanks for reporting, good call. The discussion is in #102. I think we decided on preferring alt="" over role="presentation". Basically, it will always error without alt property even if role="presentation" is there. If there is just role="presentation" it should error with a message to say to change to alt=""


Sponsoring an Onboarding Snapshot Draft fails

When sponsoring a Snapshot draft proposal as a member an RPC error is delivered. This error has started to occur after updating contracts from PR 269 in moloch-contracts
Error: [ethjs-query] while formatting outputs from RPC '{"value":{"code":-32603,"data":{"message":"the tx doesn't have the correct nonce. account has nonce of: 50 tx has nonce of: 75","code":-32000,"data":{"stack":"n: the tx doesn't have the correct nonce. account has nonce of: 50 tx has nonce of: 75\n at i (/usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:55:219953)\n at /usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:55:220084\n at /usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:42:48915\n at /usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:42:224017\n at /usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:42:227782\n at Object.return (/usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:42:227355)\n at /usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:42:225666\n at e (/usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:42:227723)\n at /usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:42:227704\n at /usr/local/lib/node_modules/ganache-cli/build/ganache-core.node.cli.js:42:224856\n at processTicksAndRejections (internal/process/task_queues.js:75:11)","name":"n"}}}}'

This is an error with your Metamask Ganache network. Just reset your accounts and it should work.

Thank you, I can confirm this is the fix, I will create an issue for this to update our docs developer topics.


make "npm run e2e" work again

cd detox/detox
npm install
npm run build
npm run test-clean
npm run test-install
# don't run this now: npm run test
cd test
npm run e2e

The last line is how end users (not people developing detox itself) will eventually run detox
this means any parameters you want to send need to be designed to make sense there, like:
npm run e2e -- --scheme=ios-simulator.release
npm run e2e -- --verbose
If you want to improve the scripts for people developing detox, this must come as step 2 after the API for end users is finished and working

It just works©.
Other improvements such as verbose, target and scheme should all come when CLI tools are developed (#56).


[BUG]

Problem:
Messages cannot be seen in some groups, while the bot logs that the message is sent successfully. However, the bot works fine in other groups and private chats.
Environment:

@whiskeysockets/baileys: ^6.7.1
Node.js: ^20.12.2
npm: ^10.5.2
Platform: Heroku .

Any solution???

yes group message api and group message autoreply not good working


angular chained filter not updating

Hi all,
first of all, thanks for the great testing framework!
But I am currently facing an issue with angular's ng-repeat directive containing multiple, piped filters. Although I can see Protractor see click the sort/toggle button, the list does not change.
However, when I execute it manually, it works just fine!
Please find how I call Protractor:
element(by.id('customers_sort_id')).click();
browser.driver.sleep(500);
browser.waitForAngular();
expect(element.all(by.repeater('c in list.customers')).get(0).all(by.tagName('td')).first().getText()).toEqual('500');

I have built in the sleep command as well as the waitForAngular call just for debugging reasonst, but they also change nothing.
This is the HTML:
<tr class="clickable" ng-repeat="c in list.customers | filter : list.companyFilter.visible | filter : list.searchFilter | orderBy : list.orderBy : list.reverse" ng-click="detailOn(c.id)">

This is how the filter variable is set:
$scope.toggleSort = function(column) {
	if($scope.list.orderBy == column) {
		$scope.list.reverse = !$scope.list.reverse;
	}
	$scope.list.orderBy = column;
};

Neither the orderBy nor the reverse filter do anything.
Thanks for any input!
Stefan

This looks like it's not a generic issue, so closing as a question:
Please read the contributing guidelines; these types of questions are ill-suited for GitHub. Thanks!
If you can show us a reproducible test case, then we can help debug.

Hi Julie,
sorry for posting my question in the wrong place.
I have opened a [stackoverflow question] (http://stackoverflow.com/questions/29379129/angular-chained-orderby-not-updating-when-running-protractor-tests-in-browser) for it.
Thanks!


Change GA versions of template libraries back to Beta

Change the GA versions of the template libraries back to Beta.
There's a problem with underlying script, eng/common/scripts/SetTestPipelineVersion.ps1, which is used by /eng/common/pipelines/templates/steps/set-test-pipeline-version.yml. The script looks for the previously released version tag and if a library has not been released, hilarity ensues. This ends up being worse in that the tag is passed into the constructor for AzureEngSemanticVersion to create a new version. Because the versions are manipulated at release time, Template gets changed from GA to beta underneath the covers and because Template-Two and Template-Three are GA versions, the version check fails because a GA cannot have a beta dependency.

API change check for com.azure:azure-sdk-template
API changes are not detected in this pull request for com.azure:azure-sdk-template

API change check for com.azure:azure-sdk-template-two
API changes are not detected in this pull request for com.azure:azure-sdk-template-two

API change check for com.azure:azure-sdk-template-three
API changes are not detected in this pull request for com.azure:azure-sdk-template-three


Switch datafusion to using eq_dyn_scalar, etc kernels

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
I would (primarily) like DataFusion to stop unpacking DictionaryArrays when comparing to scalar values. It would also be nice to reduce the amount of type dispatch in the datafusion BinaryExpr physical expression
@matthewmturner  has implemented eq_dyn_scalar kernels (which among other things have support for DictionaryArrays https://github.com/apache/arrow-rs/issues/1113)
Describe the solution you'd like
I would like the the  big type dispatch in binary_primitive_array_op_scalar to be replaced by calls to eq_dyn_scalar, etc
https://github.com/apache/arrow-datafusion/blob/c549d5145755e3ec07800425a56f86541d476f1f/datafusion/src/physical_plan/expressions/binary.rs#L570-L590
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I'll give this a shot

@matthewmturner  note you'll likely hit some types that datafusion covers that arrow does not (yet) such as Decimal

@alamb ive been looking through the existing code and im a bit confused.  specifically, when looking at the below, it seems the array + scalar ops are not using the scalar arrow kernels.  is my understanding correct?  if so, could you provide color on that and if we should be moving to use those?
https://github.com/apache/arrow-datafusion/blob/ad392fd529f9f8631b90271f7dbf3a4f2feadb7b/datafusion/src/physical_plan/expressions/binary.rs#L884-L900

binary_array_op_scalar! calls compute_op_scalar! https://github.com/apache/arrow-datafusion/blob/ad392fd529f9f8631b90271f7dbf3a4f2feadb7b/datafusion/src/physical_plan/expressions/binary.rs#L595-L601
compute_op_scalar! then calls the eq_scalar or other kernel in https://github.com/apache/arrow-datafusion/blob/ad392fd529f9f8631b90271f7dbf3a4f2feadb7b/datafusion/src/physical_plan/expressions/binary.rs#L475-L489
Specifically, this bit of macro magic:
https://github.com/apache/arrow-datafusion/blob/ad392fd529f9f8631b90271f7dbf3a4f2feadb7b/datafusion/src/physical_plan/expressions/binary.rs#L484
Slaps a _scalar on to the argument
So when invoked with $OP = lt, this
paste::expr! {[<$OP _scalar>]}

Becomes
lt_scalar

Does that help @matthewmturner ?

@alamb ah yes i did trace that all the way back but didnt realize that paste::expr! {[<$OP _scalar>]} was doing that. thank you for the explanation.

@alamb  I'm wondering if we could just remove compute_op_scalar macro (and friends) and use the dyn kernels at the call site in evaluate_array_scalar.  This would also get us very close to being able to remove the paste dependency which i believe is only used in this binary.rs file.  The remaining place its used that i would still need to look into is the macro compute_utf8_flag_op_scalar.

@alamb I'm wondering if we could just remove compute_op_scalar macro (and friends) and use the dyn kernels at the call site in evaluate_array_scalar.

I think this is a good avenue to try -- my suspicion is you won't be able to remove the compute_op_scalar quite yet because it is used for kernels that don't have a scalar equivalent yet (e.g. plus, etc)

@alamb im not sure we can remove the type dispatch in binary_primitive_array_op_scalar since its used for other operations such as add / multiply / etc.  binary_array_op_scalar is used for all the operators we added xx_dyn_scalar kernels for as it handles primitive, utf8, decimal, timestamps, dates, etc.  It's my understanding that that is actually the macro that will need to be updated (or new one to take its place that uses dyn scalar kernels).
Im still playing with it but I was thinking of adding new functions like call_dyn_cmp_scalar, call_dyn_cmp_utf8_scalar, etc (drawing inspirating from @liukun4515 in #1475) and then type dispatching based on if the data type of the array / data type of the values in dictionary array.  Roughly something like:
if primitive_or_dict_vals_primitive {
    call_dyn_cmp_scalar(array, scalar, op)
} else if string_or_dict_vals_string {
    call_dyn_cmp_utf8_scalar(array, scalar, op)
} else {
    // Existing implementation for other types
}

Does this make sense?

Does this make sense?

Yes I think that makes sense to me.
I think they key outcome of this PR should be that eq_dyn_scalar etc are called, rather than any particular macros are removed from DataFusion's code. Overtime we can look to remove / simplify macros as the kernels in arrow get more full fetaures, but it doesn't have to happen now


Add start end flags for chart-chain-fees

Added start and end flags for chart-chain-fees command.
Fixed a bug which is causing wrong duration calculation for chart-payments-received.
Over here if you specify a start and end flags, it always calculates difference between today and start date.
Example: Received in 729 hours from 07/12/2022 to 07/13/2022. instead of 24 hours. So made some changes.
  // A chart with a near start date should be seen as hours from start
  if (!!start && !!end && days < minChartDays) {
    return {measure: 'hour', segments: hoursBetween(moment(end), start)};
  }

running this I get an error with bos chart-chain-fees
asciichart/asciichart.js:43
        let min = (typeof cfg.min !== 'undefined') ? cfg.min : series[0][0]

Can you check now?

start at today's date = same error

Oops, fixed it. Moment does not like it when date diff is 0 I guess.


depthWrite as part of schema

When working on https://github.com/quadjr/aframe-gaussian-splatting/issues/20, I noticed that switching depthWrite from false to true would improve drastically Occlusion issues at the cost of some transparency spillage.
So it could be interesting to have it as an option when those spills are acceptable.
Example with depthWrite: false

Example with depthWrite: true

Please understand that it is not a proper #20 fix, just a workaround while a proper implementation is in progress

Thanks @arthurmougin for your work on this! @quadjr I can confirm this works as expected and we have done our best to ensure that the default settings are not affected, so that a user has to explicitly choose to enable these sorting options.

@quadjr have you had a chance to review here? Excited to work with this. Thanks!


 I'm not getting the errors on my Windows 10 test installation, using stable-x86_64-pc-windows-msvc toolchain, version 1.31.0 (abe02cefd 2018-12-04).
Can you please paste additional compilation output?

Sorry, added the previous message from the phone and had to type the whole thing. Here's the complete output from the compiler:
error[E0432]: unresolved import `winapi::um::processthreadsapi`
  --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:16:17
   |
16 | use winapi::um::processthreadsapi::{CreateProcessW, STARTUPINFOW, PROCESS_INFORMATION};
   |                 ^^^^^^^^^^^^^^^^^ Could not find `processthreadsapi` in `um`

error[E0432]: unresolved import `winapi::um::winbase`
  --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:18:17
   |
18 | use winapi::um::winbase::CREATE_UNICODE_ENVIRONMENT;
   |                 ^^^^^^^ Could not find `winbase` in `um`

error[E0432]: unresolved import `winapi::um::processthreadsapi`
  --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:19:65
   |
19 | use winapi::um::{handleapi, synchapi, namedpipeapi, processenv, processthreadsapi};
   |                                                                 ^^^^^^^^^^^^^^^^^ no `processthreadsapi` in `um`

error[E0432]: unresolved import `winapi::um::winbase`
   --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:183:21
    |
183 |     use winapi::um::winbase::{STD_INPUT_HANDLE, STD_OUTPUT_HANDLE, STD_ERROR_HANDLE};
    |                     ^^^^^^^ Could not find `winbase` in `um`

error[E0433]: failed to resolve. Could not find `winbase` in `um`
  --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:51:53
   |
51 | pub const STARTF_USESTDHANDLES: DWORD = winapi::um::winbase::STARTF_USESTDHANDLES;
   |                                                     ^^^^^^^ Could not find `winbase` in `um`

error[E0308]: mismatched types
  --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:34:30
   |
34 |         unsafe { CloseHandle(self.as_raw_handle()); }
   |                              ^^^^^^^^^^^^^^^^^^^^ expected enum `winapi::ctypes::c_void`, found enum `libc::c_void`
   |
   = note: expected type `*mut winapi::ctypes::c_void`
              found type `*mut libc::c_void`

error[E0308]: mismatched types
  --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:62:22
   |
62 |     if raw_handle != INVALID_HANDLE_VALUE {
   |                      ^^^^^^^^^^^^^^^^^^^^ expected enum `libc::c_void`, found enum `winapi::ctypes::c_void`
   |
   = note: expected type `*mut libc::c_void`
              found type `*mut winapi::ctypes::c_void`

error[E0606]: casting `&mut *mut libc::c_void` as `*mut *mut winapi::ctypes::c_void` is invalid
  --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:82:34
   |
82 |         namedpipeapi::CreatePipe(&mut r as PHANDLE, &mut w as PHANDLE,
   |                                  ^^^^^^^^^^^^^^^^^

error[E0606]: casting `&mut *mut libc::c_void` as `*mut *mut winapi::ctypes::c_void` is invalid
  --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:82:53
   |
82 |         namedpipeapi::CreatePipe(&mut r as PHANDLE, &mut w as PHANDLE,
   |                                                     ^^^^^^^^^^^^^^^^^

error[E0308]: mismatched types
  --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:90:41
   |
90 |         handleapi::SetHandleInformation(handle.as_raw_handle(), dwMask, dwFlags)
   |                                         ^^^^^^^^^^^^^^^^^^^^^^ expected enum `winapi::ctypes::c_void`, found enum `libc::c_void`
   |
   = note: expected type `*mut winapi::ctypes::c_void`
              found type `*mut libc::c_void`

error[E0308]: mismatched types
   --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:153:39
    |
153 |         synchapi::WaitForSingleObject(handle.as_raw_handle(),
    |                                       ^^^^^^^^^^^^^^^^^^^^^^ expected enum `winapi::ctypes::c_void`, found enum `libc::c_void`
    |
    = note: expected type `*mut winapi::ctypes::c_void`
               found type `*mut libc::c_void`

error[E0308]: mismatched types
   --> C:\Users\hp\.cargo\registry\src\-bf9bcbf58c2fe7c7\subprocess-0.1.17\src\win32.rs:189:35
    |
189 |     let raw_handle = check_handle(processenv::GetStdHandle(id))?;
    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected enum `libc::c_void`, found enum `winapi::ctypes::c_void`
    |
    = note: expected type `*mut libc::c_void`
               found type `*mut winapi::ctypes::c_void`

error: aborting due to 12 previous errors

Some errors occurred: E0308, E0432, E0433, E0606.
For more information about an error, try `rustc --explain E0308`.

+1
Win10, MSVC 17, version 1.31.0 (339d9f9c8 2018-11-16).
Steps:

cargo new foo
add to dependencies:-
subprocess = { git = "https://github.com/hniksic/rust-subprocess" }
cargo build
Result - unresolved import (same as above):-
error[E0432]: unresolved import winapi::um::processthreadsapi

If I git clone and build locally, builds fine.

If I git clone and build locally, builds fine.

@aseryukov-zspace By this you mean that you can build subprocess on its own (like I tried to do), but it fails when you build it as a dependency to your own project? That's valuable information.

@hniksic , correct. I can build rust-subprocess standalone.
Also, if I git clone into subdirectory and then add subprocess = { path = "rust-subprocess" } to dependencies, this works as well.

@hniksic @aseryukov-zspace Verified, if I clone the repo it builds perfectly, but if I add the dependency to my Cargo.toml it fails.

I managed to reproduce this on my Windows VM; I also get the errors when I specify subprocess = { path = "..\\subprocess" }.
Hopefully fixed now.

Verified - subprocess 0.1.19 builds fine as remote dependency:
subprocess = { git = "https://github.com/hniksic/rust-subprocess" }
Thank you!

@aseryukov-zspace Thanks for the confirmation and help with this.

looked everywhere for this. Thanks! another solution, in general, for the same type of error is to cargo add subprocess


Fix coordinate bugs in fill functions

Hi, thanks for this wonderful grid tree library! I believe there is a bug in two of the fill functions unless perhaps I am misunderstanding the coordinate system. When computing the child coordinates in fill_descendants and fill_path_to_node the parent coordinate needs to be converted since there are twice as many nodes in the child level. I have made this change in both those functions and modified the tests to verify this change (by storing the fill coordinates and comparing them with the coordinates from visit_tree_depth_first in the first case and by using a coordinate which would not be properly adjusted in the second case).

Looks legit. Thank you!


Smart knob fingerprint

Hello @erickvneri
Please add fingerprint:
# Smart Knob
  - id: "_TZ3000_qja6nq5z/TS004F"
    deviceLabel: "Smart Knob"
    manufacturer: "_TZ3000_qja6nq5z"
    model: "TS004F"
    deviceProfileName: button-battery

Thank you
EDIT: Including myself, there are now a total of five people who have (politely) requested this fingerprint to be added.

Hi,
I would suggest you fork, add it and the create a pull request. This way "erick" would only have to accept and deploy.

I have created my own repository but I'm not sharing it because I don't want the extra maintenance.
If someone volunteers to create an automatic github and approve requests I'm more than glad to put all my fingerprints there.
It makes sense to cereate one repository and share the fingerprints.
I think all these devs that have created the repos should get together and share a joint repo, this way the "burden" of accepting new fingerprints or definitions could be divided. id @erickvneri or Yakov Garlobin wants to join me, I'll be more than glad to contribute collectively, but I'm not hosting my own repo solo.


[v0.2.0-rc3] New action voids previous action

For example:
infiniLoad.loadNew(); // This never finishes.
infiniLoad.loadMore();

This sometimes could be avoided by doing:
infiniLoad.loadNew().then(() => infiniLoad.loadMore());

But this makes results of situations like the following unpredictable:
$(el1).on('click', () => infiniLoad.loadNew());
$(el2).on('click', () => infiniLoad.loadMore());

If two clicks, one on each element, happen very closely, then the first one will never take effect.

Resolved by d54135fa84aa78e5e3f992dfbb22535f7ec25013.


[azure-cli] CLI documentation missing

Valid values need to be documented in the CLI.
Pod & Service CIDR must be /18 or larger

issue: https://github.com/Azure/azure-cli/issues/13530
issues 2 https://github.com/Azure/azure-cli/issues/13531

Needs to merge first: https://github.com/Azure/ARO-RP/pull/663

PR https://github.com/Azure/azure-cli/pull/13550/ to add params Private/Public to ingress/apiserver visiblity.

Do we have this in our Repo already?

This is not in our repo yet.  I will synchronize the changes necessary and start here before any changes are made downstream.

Had a question from the field about master subnet. Our docs [1] [2] suggest to use /23, but "/27 or larger" master and worker subnets are actually allowed.
[1] https://docs.microsoft.com/en-us/azure/openshift/tutorial-create-cluster
[2] https://docs.microsoft.com/en-us/azure/openshift/create-private-cluster

@m1kola what is your question here?

@mjudeikis sorry, I should have included the original question in my previous comment:

In the ARO documentation the master subnet is a /23. Is this needed? Seems big for running 3 masters.

So it's not clear to people what is a minimum size of the subnet from the docs and CLI.


profile_resume

I noticed that the value you assigned to 'profile_resume' (such as Software Engineer) in the Code Injection section, will only appear on the aside if I am using a mobile device... but not a notebook.
Is this a feature or a bug?

This behavior is correct, is related in the documentation.
On Sunday, September 13, 2015, Mickey Hoh<EMAIL_ADDRESS>wrote:

I noticed that the value you assigned to 'profile_resume' (such as
Software Engineer) in the Code Injection section, will only appear on the
aside if I am using a mobile device... but not a notebook.
Is this a feature or a bug?
—
Reply to this email directly or view it on GitHub
https://github.com/Kikobeats/uno-zen/issues/73.

Thanks for the clarification :)


Tilemap pattern management

Godot version
4.0 stable
System information
Windows 10
Issue description
The UI for managing patterns (creating them etc) isn't very intuitive.
It shows no indication that it will add to the list when you drag tiles over to create them.
You create patterns in the TileMap instead of the TileSet which is contrary to how you create everything else in the TileSet editor.
(The only thing you appear to be able to do in the TileSet editor is view them)
And most importantly, if there is a way to delete patterns you no longer want to use I do not see it.
Steps to reproduce
I listed a bunch of things I don't like with the UI but the main bug part of this is that you can't delete patterns.

Create a pattern in a tilemap.
Observe no UI or clicking allows you to delete the pattern.

Minimal reproduction project
N/A

Also, the drag and drop doesn't seem to work.
https://user-images.githubusercontent.com/89282845/227081555-7bbefedc-200d-4c39-b538-6876fa607b2b.mp4

It does work, if you let go of your mouse button it does add the pattern.
It just doesn't show any visuals that indicate you are doing it correctly

Humm, when I tried it it just moved it to a location down and offscreen, but I might have missed the interactable area.

If anyone is experiencing same issue see here
"It will let me create patterns while the tilemap is the parent, but not while it is an instance."

To add to this, it'd be nice if you could create folders or some further way to organize patterns, scrolling through more than like 20 patterns becomes a chore.

It would be very good to be able to give patterns a name, so that you could retrieve them from script easily. I envisage a large tileset with many different features and managing patterns to be placed from script quickly becomes hard in that scenario.


How to recognize a message being resent to a subscriber ?

Is there a way to identify a message received by a subscriber after the sub signaled ProcessingFailed=true ?

You have the QoS levels in general which will make sure that the receival is acknowledged. But this is for the broker only. A client cannot see if another client received a message or not.
Does this answer your question? If not please open this ticket again.


Add 1603 to validExitCodes

This should avoid exiting in error when dokan is already installed. #1063

@emtuls I think we can add also the exit codes to googlechrome.vm and remove the -ErrorAction SilentlyContinue and VM-Assert-Path $exePath which we added because the MSI installer failed to install if the tool was already installed (which should fail with code 1603):  https://github.com/mandiant/VM-Packages/blob/715d55a3d23dbbc1181a3fc782f898751b5a786a/packages/googlechrome.vm/tools/chocolateyinstall.ps1#L23C51-L23C80


[FEATURE] Visualizing activation maps on efficientnet model.

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
Is there a way where I can visualize the activation maps of efficientnet model. I trained a model but am unable to access the layers of the model.
Describe the solution you'd like
A clear and concise description of what you want to happen.
It would be great to provide a hook to visualize any feature map of the model.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@dvlshah I've heard captum works well with the models here, there are also features (see docs) that make it easy to get some of the key activation maps at different strides. I do not intend to add any viz support here.

Thanks @rwightman for the prompt response.


MissingPluginException

Hi!
I want to try this package. Looks amazing and promising.
Getting this error while im calling removeBackground() method:
"MissingPluginException(No implementation found for method removeBackground on channel background_remover)"
What could the problem be?
I am using chrome as emulator

It works when I use a phone as emulator. Seems like a web related problem

It works when I use a phone as emulator. Seems like a web related problem

As said on the pub dev website the package is currently aivailable only for android

didnt see it, my bad
works great on android. cheers mate

didnt see it, my bad
works great on android. cheers mate

Thanks maybe it will be deploy on others platform in the future 🤷♂

run flutter clean  then rebuilt the app it will work

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: MissingPluginException(No implementation found for method removeBackground on channel background_remover)
#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:332:7)

#1      BackgroundRemover.removeBackground (package:background_remover/src/background_remover_platform.dart:8:12)

#2      removeBackground (package:background_remover/background_remover.dart:7:10)

#3      _ResultViewState._removeBackground (package:wardrobe/view/result_view.dart:352:20)
.   working fine in android but in ios i am facing this issue