Issue compiling OpenBLAS

Hi,
I am running into an issue trying to compile the OpenBLAS as part of compiling Kaldi for Android. I followed all the instructions on this blog(http://jcsilva.github.io/2017/03/18/compile-kaldi-android/ ) until the following where I am stuck:
make TARGET=ARMV7 HOSTCC=gcc CC=arm-linux-androideabi-gcc NOFORTRAN=1 NUM_THREADS=32 libs
This is the error I am getting when trying to run the above command:
C Compiler (arm-linux-androideabi-gcc) is something wrong.
1 at ./c_check line 28.
make: *** [config.h] Error 2
Makefile.system:165: Makefile.conf: No such file or directory
Makefile.system:912: Makefile.: No such file or directory
make: *** No rule to make target `Makefile.'. Stop.
I got the latest branch of OpenBLAS.
I did set the PATH to the android tool chain correctly.
I am running out of options.
Any help is greatly appreciated.
Thanks in advance.

Still looks as if the PATH to the android toolchain is not set correctly (or the toolchain is incomplete).
At that point in c_check it tries to run the command arm-linux-androideabi-gcc -E ctest.c - you could try entering this on a command line to see what error message you get.

Unlikely there will be 32-core 32bit android any time soon. What is your NDK vrsion? Is it recent clang-based?

Hi martin-frbg & brada4: thanks for your responses.
The issue seemed to be that it did not have permissions to the toolchain directory when running as my user. As a test, i ran it as root and it compiled fine.
My NDK version is:
15.0.4075724
Thanks again for your help.( I will ping if I run into any more issues::))

But close this issue in the meantime, Android NDK is not OpenBLAS component.

Hi martin-frbg & brada4:
I ran into the issue described in the following thread:
https://github.com/xianyi/OpenBLAS/issues/1173
Since that thread was closed, I am putting in my questions here:
So after doing the
make TARGET=ARMV7 HOSTCC=gcc CC=arm-linux-androideabi-gcc NOFORTRAN=1 NUM_THREADS=32 libs
command, I executed the following command:
make install PREFIX=pwd /install
But it failed saying that it could not find libopenblas_armv7p-r0.2.20.dev.so
When I searched for the error, I came across the above thread. Then as per the instructions in that thread, I executed the following:
make TARGET=ARMV7 HOSTCC=gcc CC=arm-linux-androideabi-gcc NOFORTRAN=1 NUM_THREADS=32 libs shared
Then it gave me couple of errors(I am copying only the error outputs:)
~/androidstudio/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lgfortran
~/androidstudio/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lquadmath
and then at the end:
../libopenblas_armv7p-r0.2.20.dev.so: error: undefined reference to 'stderr'
collect2: error: ld returned 1 exit status
make[1]: *** [../libopenblas_armv7p-r0.2.20.dev.so] Error 1
But I do have lgfortran installed and is in /usr/bin. I did not find "quadmath" though.
The I ran the make command with just "shared"(i.e without libs option) and it seemed to be successful.
But I did see some message stating that LAPACK could not be built because lgfortran was not found and only BLAS was built.
Then when I do the install command , it seemed to have successfully created the above mentioned .so file.
Is this ok? Will I run into issues when running the programs on a mobile device?
Thanks in advance

You need to run 'make clean' before building with different parameters.
You can set FC=NoThing or something similarily fake to disable all fortran/lapack. It seems that build system picks gfortran present on build host which is obvioulsy x86 and will not suffice for lapack in your library.

Hi Brada4,
What do you mean by the following statement?
It seems that build system picks gfortran present on build host which is obvioulsy x86 and will not suffice for lapack in your library.
My system is definitely 64 bit( and 64 bit debian jessie installed)
lscpu output:
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                12
On-line CPU(s) list:   0-11
Thread(s) per core:    2
Core(s) per socket:    6
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 63
Model name:            Intel(R) Xeon(R) CPU @ 2.30GHz
Stepping:              0
CPU MHz:               2300.000
BogoMIPS:              4600.00
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              46080K
NUMA node0 CPU(s):     0-11

I dont see how that could emit armeabi binaries.

can u please elaborate? I am completely new to OpenBLAS. Am I doing things wrong?
Let me know so that I will correct myself and proceed.
Thanks

make TARGET=ARMV7 HOSTCC=gcc CC=arm-linux-androideabi-gcc NOFORTRAN=1 NUM_THREADS=32 libs
This is the first statement when I run the above make command.
OpenBLAS: Detecting fortran compiler failed. Cannot compile LAPACK. Only compile BLAS.
Why is it not able to recognize the fortran installed on my machine? I am really surprised.
Here is the output for ls -l /usr/bin | grep fortran
lrwxrwxrwx 1 root root         12 Feb 25  2015 gfortran -> gfortran-4.9
-rwxr-xr-x 1 root root     834680 Dec 25  2014 gfortran-4.9
lrwxrwxrwx 1 root root         12 Feb 25  2015 x86_64-linux-gnu-gfortran -> gfortran-4.9
lrwxrwxrwx 1 root root         12 Dec 25  2014 x86_64-linux-gnu-gfortran-4.9 -> gfortran-4.9

-lgfortran comes from previous failed build. You sort of try to build without fortran already, I just suggested other option to disable fortran and lapack.

Hi ,
Can someone please help? I am stuck here unable to proceed further. Basically I am not able to successfully compile the shared library libopenblas_armv7p-r0.2.20.dev.so.
Basically this is my first step which finishes without any errors:
make TARGET=ARMV7 HOSTCC=gcc CC=arm-linux-androideabi-gcc NOFORTRAN=1 NUM_THREADS=32 libs
Since it did not build the .so file, I then did the following which fails(the .so file is created though..but it throws the same stderr error when used in another native project)
make TARGET=ARMV7 HOSTCC=gcc CC=arm-linux-androideabi-gcc NOFORTRAN=1 NUM_THREADS=32 shared
I am pasting the output from the make command. May be the warnings might throw some light(please note that the last warning about libc). Please let me know if there are issues in my configuration(i.e what is the incompatibility here??).  /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so while searching for gfortran /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lgfortran /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libm.so while searching for m /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.so while searching for m /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libquadmath.so while searching for quadmath /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lquadmath /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libm.so while searching for m /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.so while searching for m /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libc.so while searching for c /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libdl.so while searching for dl /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libdl.so while searching for dl /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so while searching for c /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libc.so while searching for c /AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so while searching for c ../libopenblas_armv7p-r0.2.20.dev.so: error: undefined reference to 'stderr' collect2: error: ld returned 1 exit status make[1]: *** [../libopenblas_armv7p-r0.2.20.dev.so] Error 1 make[1]: Leaving directory /AS/OpenBLAS/exports'
Makefile:85: recipe for target 'shared' failed
make: *** [shared] Error 2

So after doing little bit more googling, this is what i understood:
I am trying to build 32 bit binaries on a 64 bit machine and since the make system did not find the 32 bit libraries to link, it skips them. However it results in an error eventually.
Am I correct in my understanding?
If so what are my options?

Do I need to get the 32 bit versions of all the libs( I am concerned about doing this since i might corrupt my system - with both the 32 bit and 64 bit conflicts)

Do I have to then build the aarch64 binaries instead then?( but from the Android NDK documentation it says we should be able to build 32 bit android binaries on a 64 bit machine)

Any thoughts?
Thanks

If you mix up system compilers with cross compilers they dont produce valid executable modules.
Can you fix your compilers before trying a new build?

Seems there is something wrong with your Android toolchain setup, the linker appears to be finding the local x86 libraries of the build host instead of the Android ones provided by the NDK. And the fact that it tries to link with libgfortran (and its dependency libquadmath) at all suggests that you may have object files around from a previous build attempt where you forgot to specifiy NOFORTRAN=1. Best review your NDK installation and then do a make clean followed by make TARGET=ARMV7 HOSTCC=gcc CC=arm-linux-androideabi-gcc NOFORTRAN=1 NUM_THREADS=32 (note no "libs" or "shared" at the end of the command line, this should do the complete build in one go).

Hi brada4 & martin-frbg
After lot of googling around and redoing the compilation multiple times, i found the following:
As per this link http://jcsilva.github.io/2017/03/18/compile-kaldi-android/
I used the same version as mentioned in the above link i.e commit SHA 99880f7 seemed to be working( atleast i am able to compile that particualr version of OpenBLAS without any errors on Ubuntu since the post mentioned Ubuntu..the latest OpenBLAS version failed on Ubuntu as well.so i checkedout the SHA 99880f7 and it compiled successfully. my original OS is Debian Jessie. I will go back to it and test it out as well. But I am guessing it should work for the specified OpenBLAS version)
Hope this helps in identifying the issue. Please let me know if it's an issue in the code and when/if it's fixed.
Thanks

I dont know why your NDK picks files from system library path. Do you set something like LD_LIB_PATH before failed builds?

No. I dont set the LD_LIB_PATH. I just add the toolchain/bin to the PATH variable.
One other thing I have noticed is that the latest version of OpenBLAS tries to build the libopenblas_armv7p-r0.2.20.dev.so file and that is where it's erroring out.
While the 99880f7 commit doesnt build the above mentioned .so file.

sorry.spoke too early.
still have the same issues. even though compiling OpenBLAS was successful, linking with other c++ project still failed.
/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lm_hard
/OpenBLAS/lib/libopenblas.a(blas_server.o):blas_server.c:function blas_thread_init: error: undefined reference to 'stderr'
/OpenBLAS/lib/libopenblas.a(blas_server.o):blas_server.c:function exec_blas: error: undefined reference to 'stderr'

Maybe you need to set ANDROID_NDK_PATH or NDK_ROOT so that it can find all parts of itself ?
A build script was posted as part of #963 (and I have been meaning to add it but never got around to doing that it seems), perhaps it helps ?

I have compiled Android static lib and shared library on My Mac.
For example, softfp ABI.
make TARGET=ARMV7 HOSTCC=clang CC=arm-linux-androideabi-gcc NO_LAPACK=1 ARM_SOFTFP_ABI=1

make TARGET=ARMV7 HOSTCC=clang CC=arm-linux-androideabi-gcc NO_LAPACK=1 USE_THREAD=0 ARM_SOFTFP_ABI=1 shared

make TARGET=ARMV7 HOSTCC=clang CC=arm-linux-androideabi-gcc NO_LAPACK=1 USE_THREAD=0 ARM_SOFTFP_ABI=1 PREFIX=/to/your/path install

In first step, you may  meet some errors in building test. It is OK.

Hi xianyi,
As per your instructions here https://github.com/xianyi/OpenBLAS/wiki/How-to-build-OpenBLAS-for-Android
you ask us to do only "libs". Is it ok to try the shared as well?
Also I have not been specifying these two options:
NO_LAPACK=1 ARM_SOFTFP_ABI=1
Do I need to?
If I have to build hard floating points, what is the command line option?
ARM_SOFTFP_ABI=0
Would putting the above option to 0 work??
Thanks again for your help.
(I am stuck on this for a week now...i am confident i will be able to successfully compile with the help of you all::))
Really appreciate everyone's help.

Hello,
Looks like the issue is caused by the NDK removing support for Hard Float ABI. As I was looking at the issues, looks like it's already being discussed here in the thread:
https://github.com/xianyi/OpenBLAS/issues/1215
So to sum up, my issues were caused in r15 of NDK but not in r14 - because as i read that the hard float ABI support is "removed" from NDK r15 onwards.
Relevant info from another forum:
"
The hard float ABI support was "removed" from the NDK in r12 https://android.googlesource.com/platform/ndk/+/master/docs/HardFloatAbi.md), but they really removed it only in r15.
"
So this issue can be closed or combined with 1215.
Thanks everyone.

Compile with older NDK?

yes. successfully compiled with r14

Hi ,
Can someone please help? I am stuck here unable to proceed further. Basically I am not able to successfully compile the shared library libopenblas_armv7p-r0.2.20.dev.so.
Basically this is my first step which finishes without any errors:
make TARGET=ARMV7 HOSTCC=gcc CC=arm-linux-androideabi-gcc NOFORTRAN=1 NUM_THREADS=32 libs
Since it did not build the .so file, I then did the following which fails(the .so file is created though..but it throws the same stderr error when used in another native project)
make TARGET=ARMV7 HOSTCC=gcc CC=arm-linux-androideabi-gcc NOFORTRAN=1 NUM_THREADS=32 shared
I am pasting the output from the make command. May be the warnings might throw some light(please note that the last warning about libc). Please let me know if there are issues in my configuration(i.e what is the incompatibility here??).
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so while searching for gfortran
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lgfortran
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libm.so while searching for m
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.so while searching for m
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/libquadmath.so while searching for quadmath
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lquadmath
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libm.so while searching for m
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libm.so while searching for m
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libc.so while searching for c
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libdl.so while searching for dl
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libdl.so while searching for dl
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so while searching for c
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu/libc.so while searching for c
/AS/my-android-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: warning: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so while searching for c
../libopenblas_armv7p-r0.2.20.dev.so: error: undefined reference to 'stderr'
collect2: error: ld returned 1 exit status
make[1]: *** [../libopenblas_armv7p-r0.2.20.dev.so] Error 1
make[1]: Leaving directory `/AS/OpenBLAS/exports'
Makefile:85: recipe for target 'shared' failed
make: *** [shared] Error 2

Hi :
How did you solver this Problem ?


Move arara log file to another directory

Hello,
Is it possible to move arara log file to another directory? I desire this behavior as I typically use an output directory called build to hold all the regeneratable files. This allows me to keep the main directory tidy.
Thanks!

Hi!
Thank you very much for your feedback! It is an interesting idea and certainly a new feature for the upcoming version.
I decided to investigate what could be realistically done in the current version 4.0 branch. Sadly, the proposal was way trickier than I originally thought. My first course of action was to provide a rule and directive that would move arara.log to a new location, say,
% arara: log: { directory: build }

However, it would not be of any help for us since arara closes the log file stream after all directives had been interpreted. By the time the log directive would be interpreted, arara.log would not exist yet, so there would be nothing available to be moved.
Back to the drawing board. Then I thought I could exploit a certain key in the configuration file that holds the log name:
logname: 'build/arara'

Then arara would append the .log extension et voilà, problem solved! However, for some reason, my past self had implemented some sort of path normalization in this key value, so only the last part of the path (i.e, arara) is considered.
So, it's not possible, given the current state of affairs. However, I kindly ask you to wait a bit for me to inspect the code. Maybe I could circumvent this restriction by implementing either another key or removing the normalization in the log name.
For now, I am deeply sorry for this feature not being possible at the moment... :cry:

Thank you so much for giving this feature a serious thought! I will wait to hear back on your progress. :)

From 7753190c6703d1be19818329888f30587d4a4355 on, arara supports specifying a path for the log name. This change will be shipped in arara v6 which will be included in TeX Live 2021.

arara v6 has been released and will make its way to CTAN within the next days.


swift 4.2 support

Hi @svatrous, thank you very much for the PR.
The project has been updated to the latest Swift version, there were many tweaks involved.
Thanks again :)


Support @group with @module as main navigation

What package is the feature request related to?
typedoc-plugin-markdown
Background
I'm using typedoc to document my domain. Therefore I changed the toplevel navigation to sound less techie and more friendly to non-tech people. Here is the relevant code:
/**
 * @group Domain Objects
 * @module Ride
 */

// in the index.ts file

along with @category to give meaning to my code. Here's the typedoc configuration:
  "navigation": {
    "includeCategories": true,
    "includeGroups": true,
    "includeFolders": false
  },
  "categorizeByGroup": false,

that gives me that navigation in typedoc:

When using typedoc-plugin-markdown (and typedoc-vitepress-theme for display) this setting is not respected, here is the result:

Repro
I have a repro repo with the example above: https://github.com/gossi/rideshare/tree/go-nest/core
This is part of a monorepo, it is the linked package above. You can safely ignore all other packages in there:

checkout
pnpm install
cd core
pnpm doc
pnpm docs:dev

You can also comment out typedoc plugin usage in typedoc.json to see the result from typedoc itself.
Proposed solution
The navigation structure generated into typedoc-sidebar.json will include that and typedoc-vitepress-theme will use it to render the navigation tree as configured.

Please try<EMAIL_ADDRESS>

That's fantastic. Great job. Thank you very much 😊


Benj9250/rpk reload

Thanks for review. Also used full RPK asset path in unpacked folder, otherwise two RPKs with the same name in different folders in  might override each other during unpacking in the temporary folder on the filesystem with commit
b6b4c60. I'll merge.


Installing rio from YAML fails

Describe the bug
When generating the rio yaml and attempting to apply it, it fails to create the deployment since the namespace is not created.
To Reproduce
Steps to reproduce the behavior:
$ rio install --yaml > rio.yaml
$ kubectl apply -f rio.yaml
namespace/rio-system created
clusterrole.rbac.authorization.k8s.io/rio-cluster-admin created
clusterrolebinding.rbac.authorization.k8s.io/rio-controller-binding created
serviceaccount/rio-controller-serviceaccount created
secret/rio-api-validator created
service/rio-api-validator created
clusterrole.rbac.authorization.k8s.io/rio-admin created
clusterrole.rbac.authorization.k8s.io/rio-readonly created
clusterrole.rbac.authorization.k8s.io/rio-privileged created
clusterrole.rbac.authorization.k8s.io/rio-standard created
configmap/rio-config created
Error from server (NotFound): error when creating "rio.yaml": namespaces "rio-system" not found

Expected behavior
No error and it should work. The namespace yaml should be before the deployment yaml.
Workaround, run kubectl apply a second time.
Kubernetes version & type (GKE, on-prem): kubectl version
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2", GitCommit:"c97fe5036ef3df2967d086711e6c0c405941e14b", GitTreeState:"clean", BuildDate:"2019-10-15T23:41:55Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.2", GitCommit:"f6278300bebbb750328ac16ee6dd3aa7d3549568", GitTreeState:"clean", BuildDate:"2019-08-05T09:15:22Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

Type:
Rio version: rio info
$ rio info
Rio Version: v0.6.0-rc1 (1dec45ce)
Rio CLI Version: v0.6.0-rc1 (1dec45ce)
Cluster Domain: cnphoc.on-rio.io
Cluster Domain IPs: <IP_ADDRESS>
System Namespace: rio-system
Wildcard certificates: true

Additional context
rio systemlogs
output:

default namespace yaml generation and kubectl apply worked.
k apply -f rio.yaml
namespace/rio-system created
clusterrole.rbac.authorization.k8s.io/rio-cluster-admin created
clusterrolebinding.rbac.authorization.k8s.io/rio-controller-binding created
serviceaccount/rio-controller-serviceaccount created
secret/rio-api-validator created
service/rio-api-validator created
clusterrole.rbac.authorization.k8s.io/rio-admin created
clusterrole.rbac.authorization.k8s.io/rio-readonly created
clusterrole.rbac.authorization.k8s.io/rio-privileged created
clusterrole.rbac.authorization.k8s.io/rio-standard created
deployment.apps/rio-controller created
configmap/rio-config created

 ./bin/rio info
Rio Version: a3e458ef (a3e458ef)
Rio CLI Version: dev (HEAD)
Cluster Domain: xxxxxx.on-rio.io
Cluster Domain IPs: x.x.x.x
System Namespace: test
Wildcard certificates: false

using a non-default other than rio-system worked too.
./bin/rio --system-namespace test install --yaml > rio.yaml
k3s info:
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:"96fac5cd13a5dc064f7d9f4f23030a6aeface6cc", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:49Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2-k3s.1", GitCommit:"b8b17ba55f20e590df507fce333dfee13ab438c6", GitTreeState:"clean", BuildDate:"2019-10-16T05:17Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}

GKE info:
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:"96fac5cd13a5dc064f7d9f4f23030a6aeface6cc", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:49Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"14+", GitVersion:"v1.14.8-gke.12", GitCommit:"188432a69210ca32cafded81b4dd1c063720cac0", GitTreeState:"clean", BuildDate:"2019-11-07T19:27:01Z", GoVersion:"go1.12.11b4", Compiler:"gc", Platform:"linux/amd64"}


Publish NuGet package

Having Bach readily available as a Nuget package would be helpful! Let me know if I can help.
I've reviewed a few music libraries recently, and I like how you correctly model things.  I certainly appreciate the work that has gone into Bach. Back on-topic
Few suggestions:

Optional Icon - you may want to tackle #10 first.
Remove JetBrains.Annotations dependency to reduce transitive dependencies on users.
Add Description, PackageIcon, PackageTags, PackageReadmeFile and PackageProjectUrl properties to Bach.Model project.

Something like?:
<Description>Bach - .NET Music Theory Library</Description>
<PackageIcon>icon.png</PackageIcon>
<PackageTags>music, music theory, music library</PackageTags>
<PackageReadmeFile>README.md</PackageReadmeFile>
<PackageProjectUrl>https://github.com/eddievelasquez/bach</PackageProjectUrl>

Bach.Model.Library.json
The Bach.Model.Library.json dependency seems embedded in the generated nupkg okay.
This is the first time I've experienced a dependent configuration like this in a Nuget package. I'm sure it's okay, but have you considered moving this into code? From reviewing this library, I know that you want to support allowing users to define their configurations easily. I noticed you also have a version system in there, and I had a fleeting thought that users may have issues with this approach. You could you make a code version extendable, too?


install scripts for windows

this script assumes you have mingw64 already installed and added to environmental variables but otherwise it should be mostly painless to install

hmm alright gonna see what i can do

alright finished all of your requested changes

lgtm, I'll double check in the morning and merge it.
as comfy said: it's bad luck to merge at night lmao

merging now 👍


⚠ ClamAV has degraded performance

In 39a1dd6, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 451 ms

Resolved: ClamAV performance has improved in 6b73e6e after 540 days, 5 hours, 12 minutes.


FOSSA Scan - Do Not Merge

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 91.36%. Comparing base (d07b6de) to head (bfd8cbf).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #169   +/-   ##
=======================================
  Coverage   91.36%   91.36%
=======================================
  Files          11       11
  Lines         417      417
  Branches       79       79
=======================================
  Hits          381      381
  Misses         31       31
  Partials        5        5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


SERVFAIL to queries from localhost

Describe the bug
Greetings,
Unbound answers SERVFAIL to ALL queries from localhost (<IP_ADDRESS>, ::1, <IP_ADDRESS>).
No matter which settings I modify (including interfaces:), only queries to my external IP actually contain an answer...
(For context, what I really need is for port 8080 (HTTPS) to be available ONLY for localhost, however, that seems to not be the case...)
To reproduce
Relevant /etc/unbound/unbound.conf:
server:
	interface: lo@8080
	interface: eth0@53
	interface: eth0@853
	port: 53

	prefer-ip4: yes
	outgoing-port-avoid: "3200-3208"
	so-reuseport: yes
	udp-connect: yes
	cache-min-ttl: 60

	access-control: <IP_ADDRESS> allow
	access-control: ::1 allow
	access-control: ::ffff:<IP_ADDRESS> allow
	access-control: <IP_ADDRESS>/24 allow

	root-hints: "/etc/unbound/root.hints"
	hide-trustanchor: yes
	harden-dnssec-stripped: yes
	qname-minimisation: yes

	do-not-query-localhost: no

	prefetch: yes
	prefetch-key: yes

	auto-trust-anchor-file: "/etc/unbound/root-anchors.txt"
	trust-anchor-signaling: yes
	root-key-sentinel: yes

Run dig @localhost example.com (or any other internal IP address)

See the following:

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;example.com.                   IN      A

;; Query time: 3 msec
;; SERVER: ::1#53(::1) (UDP)
;; WHEN: Sat Nov 02 00:49:25 CET 2024
;; MSG SIZE  rcvd: 40

Expected behavior
Running dig @localhost example.com should return valid results, just like how dig @(external IP) example.com does already:
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1220
; COOKIE: e383007f25ecdecf3acbbe4967256b627c73bec4a688ea26 (good)
;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            1514    IN      A       <IP_ADDRESS>

;; Query time: 31 msec
;; SERVER: (external IP)#53((external IP)) (UDP)
;; WHEN: Sat Nov 02 00:59:30 CET 2024
;; MSG SIZE  rcvd: 84

System:

Unbound version: 1.20.0
OS: Gentoo Linux 6.11.3-gentoo
unbound -V output:

Version 1.20.0

Configure line: --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --disable-static --docdir=/usr/share/doc/unbound-1.20.0 --htmldir=/usr/share/doc/unbound-1.20.0/html --with-sysroot=/ --libdir=/usr/lib64 --disable-debug --disable-gost --disable-dnscrypt --disable-dnstap --enable-ecdsa --disable-subnet --disable-cachedb --disable-static --disable-systemd --without-pythonmodule --without-pyunbound --with-pthreads --with-libnghttp2 --enable-tfo-client --enable-tfo-server --disable-flto --disable-rpath --enable-event-api --enable-ipsecmod --with-libevent=/usr --without-libhiredis --with-pidfile=/run/unbound.pid --with-rootkey-file=/etc/dnssec/root-anchors.txt --with-ssl=/usr --with-libexpat=/usr
Linked libs: libevent 2.1.12-stable (it uses epoll), OpenSSL 3.2.2 4 Jun 2024
Linked modules: dns64 ipsecmod respip validator iterator
TCP Fastopen feature available

BSD licensed, see LICENSE in source package for details.
Report bugs to<EMAIL_ADDRESS>or https://github.com/NLnetLabs/unbound/issues

Additional information
(dig @localhost example.com, SERVFAIL) tcpdump -i lo -n port 53 -vvv:
00:54:24.526647 IP (tos 0x0, ttl 64, id 28229, offset 0, flags [none], proto UDP (17), length 80)
<IP_ADDRESS>.35017 > <IP_ADDRESS>.53: [bad udp cksum 0xfe4f -> 0x3c85!] 42989+ [1au] A? example.com. ar: . OPT UDPsize=1232 [COOKIE c1e35a51547e4ea9] (52)
00:54:24.530333 IP (tos 0x0, ttl 64, id 38182, offset 0, flags [none], proto UDP (17), length 68)
<IP_ADDRESS>.53 > <IP_ADDRESS>.35017: [bad udp cksum 0xfe43 -> 0x7bb5!] 42989 ServFail q: A? example.com. 0/0/1 ar: . OPT UDPsize=1232 (40)

(dig @(external IP) example.com, success) tcpdump -i eth0 -n port 53 -vvv:
01:02:15.420040 IP (tos 0x0, ttl 64, id 55959, offset 0, flags [none], proto UDP (17), length 80)
<IP_ADDRESS>.47723 > (external ip).53: [udp sum ok] 40442+ [1au] A? example.com. ar: . OPT UDPsize=1232 [COOKIE 9cdf698e58a68662] (52)
01:02:15.421020 IP (tos 0x0, ttl 64, id 42059, offset 0, flags [DF], proto UDP (17), length 84)
(external IP).53 > <IP_ADDRESS>.47723: [udp sum ok] 40442 q: A? example.com. 1/0/1 example.com. [22m29s] A <IP_ADDRESS> ar: . OPT UDPsize=4096 (56)

I would also like to point out that this is a unique behavior I have never seen in my life -- I have other services listening on localhost, and they work fine!
P.S. Yes, I do have a firewall. No, it does not have weird rules that prevent localhost from talking to itself. Yes, I have checked.

Update: I've also tried to use this config, however queries to localhost still contain SERVFAIL.

After multiple hours of debugging, I finally fixed the issue.
TL;DR Vodafone seems to be manipulating DNS queries.

For context, my ISP is Vodafone.
What happened is, since Vodafone has to "ensure" ""optimal"" service, they effectively try to cover up settings, saying they are managed by "Super Wi-Fi", requiring to download their app to manage router settings (except, there are no useful settings in that app...).
The settings are visible for a split-second when opening a relevant tab (e.g. DNS), then they are covered up by the "Super Wi-Fi" banner.
I set my own settings/bypassed this retarded behavior by logging onto my router's settings page, went to the DNS tab and, using inspect-element, removed display: none from various hidden elements, making them visible, effectively setting DNS servers (for all clients) from Vodafone's, to my own:
DNS mode: automatic --> DNS mode: manual
DNS servers:

Primary: <IP_ADDRESS>
Backup: <IP_ADDRESS>
[...]

Here's how the settings look, after everything has been successfully changed:

I think Vodafone is manipulating DNS queries: all queries made to example.com, using ANY DNS Server (Cloudflare, Google, Quad9, etc.), were resulting in normal-looking responses... except the upstream DNS Servers were never actually queried, using Vodafone's DNS under the hood.
This is problematic for me, because I'm running an email server and, in order to query DNSBLs/URIBLs, most services require I run my own caching nameserver. What made me instantly realize the issue was this command:
dig test.uribl.com.multi.uribl.com txt +short
Why? Because it answers with my originating DNS IP:
"<IP_ADDRESS> -> Query Refused. See http://uribl.com/refused.shtml for more information [Your DNS IP: x.x.x.x]"

Taking the "DNS IP" above led me to my ISP's nameservers, even if I DID NOT use them, and instead used Cloudflare's, Google's, and even the local unbound instance! (Values set both using dig's @ parameter, and set in /etc/resolv.conf)
Now, after changing the router config, here's how an healthy response looks like:
"permanent testpoint"

Apart from querying DNSBLs/URIBLs and whatnot, the most important issue is: Unbound does NOT answer queries from localhost.
Yes, you read correctly.. localhost out of all places! This further proved to me something sketchy was going on.
After changing the DNS setting in the router, querying localhost on port 53 works like a charm! No issues, finally!

I believe that Unbound was not answering queries from localhost, because the dig query was using port 53 (from the line ;; SERVER: ::1#53(::1) (UDP)), and Unbound is configured to listen only for queries on port 8080. The interface: lo@8080 causes it to not reply to dig with port 53 on localhost, another DNS service is responding, is asking the router. Possibly that is what caused the answers for the queries. Also port 8080 is not configured for HTTPS responses. Like interface: lo@53 would cause unbound to attempt to listen to queries for localhost on port 53, but likely that will fail to setup the sockets due to another service already there.

@wcawijngaards, I'm sorry if I worded in a confusing way: the config file is an example, the same behavior was observed even if the interfaces were set to lo (with and without specifying port 53); I also believe I said the issue persisted with any internal IP address (<IP_ADDRESS>, ::1, 192.168.1.x, ...)

Perhaps your analysis is entirely correct, I was looking at the config statements and debug logs. The unbound logs could have said what results it got from querying its upstream, by enabling verbose logging, say verbosity level 4, it then prints a dig-style output for the upstream result and that could indicate what is going on, in terms of that failure causing servfail or it returning modified information from the ISP. But since it works already for you, I guess never mind. Also unbound has log-servfail: yes that prints short information on servfails, that could be useful for a future debug case :-) .


Separate email template for reconfirmation?

I'm upgrading to Devise 2.0 specifically to get the ability for users to change their email address and re-confirm. I was going to write that feature in our app, so I was excited to see that you already had. Thanks! Like the time when I thought "oh, we should use bcrypt for our passwords" only to discover that Devise already did, I've yet again found that you thought of and implemented something before I realized I needed it. :)
One request: for re-confirmation, it would be nice to be able to use a different email template. Our current confirmation template says "Welcome to #{name of app}!" I like that, but it's an odd message for someone who is just updating their email address. So now I  have to choose: welcome them again, or alter the confirmation email to be more generic, or put logic in the template to check whether they're new or reconfirming.
Thoughts?

The confirmation e-mail for sure shouldn't have the welcome message because the user can request a new e-mail any time. So I am not sure if having another e-mail for reconfirmation would be the best take. Maybe we should just have a way to select a custom template for when the user is created instead. For now, you can get this behavior by setting a flag on the user just before it is created and using it to change how the confirmation e-mail looks like.

Awesome, thanks!


be able to anonymize invoices

In order to be able to anonymize XML invoices (CII and UBL) I could provide xpaths.
I looked for software like " xml gdpr", " xml obfuscation" or " xml anonymization" or "xml redaction" and tried e.g.  Arx (which seems to support only xls), anonimatron (only for DBs) or Amnesia (only CSV).
There seem to be two open source anonymizer projects in the making which may somewhen release something noteworthy and may be fed with xpaths but  https://github.com/cdaller/multi_anonymizer seems to require Microsoft Visual Studio and https://github.com/babblequest/XMLAnonymizer is not
Can anonymize, e.g. shuffle (replace number by random number , lowercaps by random lowercaps and uppercase by random uppercase, the following xpaths with quba?
Any BTs no needed/addtionally required?

ID
BT
Desc.
UBL-Path
CII-Path

BT-20
Payment terms
A textual description of the payment terms that apply to the amount due for payment (Including description of possible penalties).
/Invoice/cac:PaymentTerms/cbc:Note
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:Description

BT-22
Invoice note
A textual note that gives unstructured information that is relevant to the Invoice as a whole.
/Invoice/cbc:Note
/rsm:CrossIndustryInvoice/rsm:ExchangedDocument/ram:IncludedNote/ram:Content

BT-27
Seller name
The full formal name by which the Seller is registered in the national registry of legal entities or as a Taxable person or otherwise trades as a person or persons.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:Name

BT-28
Seller trading name
A name by which the Seller is known, other than Seller name (also known as Business name).
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyName/cbc:Name
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName

BT-30
Seller legal registration identifier
An identifier issued by an official registrar that identifies the Seller as a legal entity or person.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedLegalOrganization/ram:ID

BT-31
Seller VAT identifier
The Seller’s VAT identifier (also known as Seller VAT identification number).
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID

BT-32
Seller tax registration identifier
The local identification (defined by the Seller’s address) of the Seller for tax purposes or a reference that enables the Seller to state his registered tax status.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID

BT-34
Seller electronic address
Identifies the Seller’s electronic address to which a business document may be delivered.
/Invoice/cac:AccountingSupplierParty/cac:Party/cbc:EndpointID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:URIUniversalCommunication/ram:URIID

BT-35
Seller address line 1
The main address line in an address.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:StreetName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineOne

BT-36
Seller address line 2
An additional address line in an address that can be used to give further details supplementing the main line.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineTwo

BT-162
Seller address line 3
An additional address line in an address that can be used to give further details supplementing the main line.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:LineThree

BT-37
Seller city
The common name of the city, town or village, where the Seller address is located.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CityName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CityName

BT-38
Seller post code
The identifier for an addressable group of properties according to the relevant postal service.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode

BT-39
Seller country subdivision
The subdivision of a country.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CountrySubentity
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:PostalTradeAddress/ram:CountrySubDivisionName

BT-41
Seller contact point
A contact point for a legal entity or person.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Name
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:DefinedTradeContact/ram:PersonName

BT-42
Seller contact telephone number
A phone number for the contact point.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:Telephone
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:DefinedTradeContact/ram:TelephoneUniversalCommunication/ram:CompleteNumber

BT-43
Seller contact email address
An e-mail address for the contact point.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:Contact/cbc:ElectronicMail
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTradeParty/ram:DefinedTradeContact/ram:EmailURIUniversalCommunication/ram:URIID

BT-44
Buyer name
The full name of the Buyer.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:RegistrationName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:Name

BT-45
Buyer trading name
A name by which the Buyer is known, other than Buyer name (also known as Business name).
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyName/cbc:Name
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:TradingBusinessName

BT-46
Buyer identifier
An identifier of the Buyer.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyIdentification/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:ID

BT-47
Buyer legal registration identifier
An identifier issued by an official registrar that identifies the Buyer as a legal entity or person.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyLegalEntity/cbc:CompanyID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedLegalOrganization/ram:ID

BT-48
Buyer VAT identifier
The Buyer’s VAT identifier (also known as Buyer VAT identification number).
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:SpecifiedTaxRegistration/ram:ID

BT-49
Buyer electronic address
Identifies the Buyer’s electronic address to which a business document should be delivered.
/Invoice/cac:AccountingCustomerParty/cac:Party/cbc:EndpointID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:URIUniversalCommunication/ram:URIID

BT-50
Buyer address line 1
The main address line in an address.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:StreetName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineOne

BT-51
Buyer address line 2
An additional address line in an address that can be used to give further details supplementing the main line.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:AdditionalStreetName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineTwo

BT-163
Buyer address line 3
An additional address line in an address that can be used to give further details supplementing the main line.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cac:AddressLine/cbc:Line
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:LineThree

BT-52
Buyer city
The common name of the city, town or village, where the Buyer’s address is located.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CityName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CityName

BT-53
Buyer post code
The identifier for an addressable group of properties according to the relevant postal service.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:PostalZone
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode

BT-56
Buyer contact point
A contact point for a legal entity or person.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Name
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:DefinedTradeContact/ram:PersonName

BT-57
Buyer contact telephone number
A phone number for the contact point.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:Telephone
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:DefinedTradeContact/ram:TelephoneUniversalCommunication/ram:CompleteNumber

BT-58
Buyer contact email address
An e-mail address for the contact point.
/Invoice/cac:AccountingCustomerParty/cac:Party/cac:Contact/cbc:ElectronicMail
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerTradeParty/ram:DefinedTradeContact/ram:EmailURIUniversalCommunication/ram:URIID

BT-59
Payee name
The name of the Payee.
/Invoice/cac:PayeeParty/cac:PartyName/cbc:Name
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:Name

BT-60
Payee identifier
An identifier for the Payee.
/Invoice/cac:PayeeParty/cac:PartyIdentification/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:ID

BT-61
Payee legal registration identifier
An identifier issued by an official registrar that identifies the Payee as a legal entity or person.
/Invoice/cac:PayeeParty/cac:PartyLegalEntity/cbc:CompanyID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:PayeeTradeParty/ram:SpecifiedLegalOrganization/ram:ID

BT-62
Seller tax representative name
The full name of the Seller’s tax representative party.
/Invoice/cac:TaxRepresentativeParty/cac:PartyName/cbc:Name
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:Name

BT-63
Seller tax representative VAT identifier
The VAT identifier of the Seller’s tax representative party.
/Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID

BT-64
Tax representative address line 1
The main address line in an address.
/Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:StreetName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:LineOne

BT-65
Tax representative address line 2
An additional address line in an address that can be used to give further details supplementing the main line.
/Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:AdditionalStreetName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:LineTwo

BT-164
Tax representative address line 3
An additional address line in an address that can be used to give further details supplementing the main line.
/Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cac:AddressLine/cbc:Line
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:LineThree

BT-66
Tax representative city
The common name of the city, town or village, where the tax representative address is located.
/Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:CityName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:CityName

BT-67
Tax representative post code
The identifier for an addressable group of properties according to the relevant postal service.
/Invoice/cac:TaxRepresentativeParty/cac:PostalAddress/cbc:PostalZone
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress/ram:PostcodeCode

BT-70
Deliver to party name
The name of the party to which the goods and services are delivered.
/Invoice/cac:Delivery/cac:DeliveryParty/cac:PartyName/cbc:Name/
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:Name

BT-71
Deliver to location identifier
An identifier for the location at which the goods and services are delivered.
/Invoice/cac:Delivery/cac:DeliveryLocation/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:ID

BT-75
Deliver to address line 1
The main address line in an address.
/Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:StreetName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineOne

BT-76
Deliver to address line 2
An additional address line in an address that can be used to give further details supplementing the main line.
/Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:AdditionalStreetName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineTwo

BT-165
Deliver to address line 3
An additional address line in an address that can be used to give further details supplementing the main line.
/Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cac:AddressLine/cbc:Line
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:LineThree

BT-77
Deliver to city
The common name of the city, town or village, where the deliver to address is located.
/Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:CityName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:CityName

BT-78
Deliver to post code
The identifier for an addressable group of properties according to the relevant postal service.
/Invoice/cac:Delivery/cac:DeliveryLocation/cac:Address/cbc:PostalZone
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeDelivery/ram:ShipToTradeParty/ram:PostalTradeAddress/ram:PostcodeCode

BT-84
Payment account identifier
A unique identifier of the financial payment account, at a payment service provider, to which payment should be made.
/Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:IBANID

BT-85
Payment account name
The name of the payment account, at a payment service provider, to which payment should be made.
/Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cbc:Name
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeePartyCreditorFinancialAccount/ram:AccountName

BT-86
Payment service provider identifier
An identifier for the payment service provider where a payment account is located.
/Invoice/cac:PaymentMeans/cac:PayeeFinancialAccount/cac:FinancialInstitutionBranch/cbc:ID
rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayeeSpecifiedCreditorFinancialInstitution/ram:BICID

BT-87
Payment card primary account number
The Primary Account Number (PAN) of the card used for payment.
/Invoice/cac:PaymentMeans/cac:CardAccount/cbc:PrimaryAccountNumberID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:ID

BT-88
Payment card holder name
The name of the payment card holder.
/Invoice/cac:PaymentMeans/cac:CardAccount/cbc:HolderName
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:ApplicableTradeSettlementFinancialCard/ram:CardholderName

BT-89
Mandate reference identifier
Unique identifier assigned by the Payee for referencing the direct debit mandate.
/Invoice/cac:PaymentMeans/cac:PaymentMandate/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradePaymentTerms/ram:DirectDebitMandateID

BT-90
Bank assigned creditor identifier
Unique banking reference identifier of the Payee or Seller assigned by the Payee or Seller bank.
/Invoice/cac:AccountingSupplierParty/cac:Party/cac:PartyIdentification/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:CreditorReferenceID

BT-91
Debited account identifier
The account to be debited by the direct debit.
/Invoice/cac:PaymentMeans/cac:PaymentMandate/cac:PayerFinancialAccount/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeSettlementPaymentMeans/ram:PayerPartyDebtorFinancialAccount/ram:IBANID

BT-128
Invoice line object identifier
An identifier for an object on which the invoice line is based, given by the Seller.
/Invoice/cac:InvoiceLine/cac:DocumentReference/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:AdditionalReferencedDocument/ram:IssuerAssignedID

BT-153
Item name
A name for an item.
/Invoice/cac:InvoiceLine/cac:Item/cbc:Name
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:Name

BT-154
Item description
A description for an item.
/Invoice/cac:InvoiceLine/cac:Item/cbc:Description
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:Description

BT-155
Item Seller’s identifier
An identifier, assigned by the Seller, for the item.
/Invoice/cac:InvoiceLine/cac:Item/cac:SellersItemIdentification/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:SellerAssignedID

BT-156
Item Buyer’s identifier
An identifier, assigned by the Buyer, for the item.
/Invoice/cac:InvoiceLine/cac:Item/cac:BuyersItemIdentification/cbc:ID
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedTradeProduct/ram:BuyerAssignedID

Andreas Starke was inspired to implement the idea in python: https://github.com/ZUGFeRD/einvoice-anonymizer


THRIFT-3231 CPP: Limit recursion depth to 64

Client: cpp
Patch: Ben Craig<EMAIL_ADDRESS>

Hi @ben-craig.
 I tried to the best I can but failed to figure out if the change in compiler you've made somehow impacts java Thrift implementation or not.
Even more specifically I'm interested if CVE-2015-3254 impacts Java Apache Thrift.
If yes than it will impact many other libraries, e.g. jaeger.
Thank you in advance.

This commit was scoped to just cpp.


Update emergency route to find the nearest hospital and return appointment details

Added a emergency route which when provided with patient details and their pincode searches for the hospital which is nearest to them in terms of time that is we have included traffic and road blockages also. On the basis of that a appointment is created with the hospital and the user too.
Please add a OPENCAGE_APIKEY in your .env file . It is free for 2500 requests/day . It converts the pincode into lat and long and osrm has been used to find the time taken

@Somnath-Chattaraj Please leave some comment so i can assign you too

ok..please assign me

done 👍

This is the screenshot you may check it out


⚠ Bofrost.de has degraded performance

In 9a76184, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 708 ms

Resolved: Bofrost.de performance has improved in 7980151 after 6 minutes.


Unable to resolve module RCTDeviceEventEmitter

On Android, this line causes that error.

Shouldn't that just resolve?

It should but for some reason it doesn't on a vanilla react-native install on Android (on a Ubuntu Linux dev box, I should add). Same applies to other utilities under react-native/Libraries/. It may be that react-native init does some extra setup for iOS.

Here's the react-native issue on this error: https://github.com/facebook/react-native/issues/3080

Same problem but with ios.

+1 on ios

+1 on ios

I am still getting this on iOS. I am on react native 0.19

When will the npm version of this module be updated?  This bug fix has happened, but the module hasn't been published with a new version containing this fix.

@jimthedev as a short-term fix, you can install the version of the npm module currently available in the github repo which doesn't have the problem:

npm install walmartreact/react-native-orientation-listener --save

I'm using another method, thanks.
On Sun, Mar 6, 2016 at 5:44 PM Calvin Freitas<EMAIL_ADDRESS>wrote:

@jimthedev https://github.com/jimthedev as a short-term fix, you can
install the version of the npm module currently available in the github
repo which doesn't have the problem:
npm install walmartreact/react-native-orientation-listener --save
—
Reply to this email directly or view it on GitHub
https://github.com/walmartreact/react-native-orientation-listener/issues/1#issuecomment-193017441
.


Numbers in select field are converted to string

Using the following configuration the value is being converted to a string
{
  fields: {
    numberField: {
      type: "select", // "radio"
      label: "A Select-Field with numbers",
      options: [
        { value: 1, label: "1" },
        { value: 2, label: "2" },
        { value: 3, label: "3" },
        { value: 4, label: "4" },
        { value: 5, label: "5" },
        { value: 6, label: "6" },
        { value: 7, label: "7" },
        { value: 8, label: "8" },
        { value: 9, label: "9" },
        { value: 10, label: "10" },
        { value: 11, label: "11" },
        { value: 12, label: "12" },
      ],
    },
    resolveData: (data, {changed}) {
      console.log(JSON.stringify(data, null, 2));
    }
  }
}

This returns:
{
...
  "props": {
    "numberField": "6"
  }
...
}

This happens because internally the HTML input values are string.
Maybe something like this is helpful for SelectField and RadioField? I am maybe missing something, so this is a bug/discussion and not a MR.
const isNumberField =
    typeof value === "number" ||
    field.options.filter((option) => typeof option.value === "number")?.length >
      0;

We already support booleans in radio/select, so I'm happy to consider this a bug and extend that implementation to numbers! Marking as ready.

Closed by #721


CheckpointConnector should support loading with strict=False

🐛 Bug

pytorch_lightning/trainer/connectors/checkpoint_connector.py should support loading with strict=False
To Reproduce

Expected behavior
Say if you add a new torchmetrics module into your LightningModule, you wont be able to validate / test existing checkpoints because new keys are added.
This happens to all Trainer functions involving ckpt_path as parameter, such as validate(model=None, dataloaders=None, ckpt_path=None, verbose=True, datamodule=None)

Environment

PyTorch Lightning Version (e.g., 1.5.0):
PyTorch Version (e.g., 1.10):
Python version (e.g., 3.9):
OS (e.g., Linux):
CUDA/cuDNN version:
GPU models and configuration:
How you installed PyTorch (conda, pip, source):
If compiling from source, the output of torch.__config__.show():
Any other relevant information:

Additional context

cc @borda @tchaton @justusschock @awaelchli @ananthsub @ninginthecloud @rohitgr7 @otaj

This is a fair ask that has come up a few times in the past. Users want to configure strict=True here: https://github.com/PyTorchLightning/pytorch-lightning/blob/83436ee3dfd0d4079e0f8e704ba76aca672af19d/pytorch_lightning/strategies/strategy.py#L317-L322
I can think of two solutions:
(a): Route strict=bool all the way from the trainer entrypoints to the checkpoint connector, as done for ckpt_path.
trainer.validate(..., ckpt_path=..., strict=False)

(b): Make this configurable in the strategy with an attribute:
trainer = Trainer(...)
trainer.strategy.strict_loading = False
trainer.validate(...)

Thoughts @awaelchli @justusschock?

I believe this is critical. If you use PyTorch-lightning for iterating your model design. Everything breaks when you make modifications to the module.

tbh, I like neither of those approaches @carmocca 🙈
Usually you only want to load with strict=False if you intend to make changes/already made some changes, therefore for me it is a model property (similar to automatic_optimization and truncated_bptt_steps). If you make it a static attribute this can also be checked before instantiation incase LM.load_from_checkpoint is used.

Sounds good to me.
@Ir1d Would you be interested in contributing this feature?

sorry, I dont have much time to work on this @carmocca

Hmm, actually I had modified the Pytorch lightning code to allow PyTorch lightning CLI to allow strict=False for me need and it works. Maybe I can contribute a PR these two days according to PyTorch lightning PR standard.

I like @justusschock's suggestion for making it a static attribute on the class.

Hi, this is urgently still an issue! What is the workaround?

For anyone looking for a temporary hacky workaround, here's what I did. My workflow was
# the state dict in ckpt does not contain the pretrained model, because we train with that frozen, so no point in saving it
model = ModelClass.load_from_checkpoint(ckpt)
pretrained_model = load_pretrained_model()
# adds the pt_model module and freezes it
model.set_pt_model(pretrained_model)
# this was causing issues because now my model.state_dict() had pt_model keys, while the ckpt state dict did not
trainer.fit(model, datamodule, ckpt_path=ckpt)

In ModelClass, we implement on_load_checkpoint in the following way
def on_load_checkpoint(self, checkpoint: Dict[str, Any]):
  """
  The pt_model is trained separately, so we already have access to its
  checkpoint and load it separately with `self.set_pt_model`.

  However, the PL Trainer is strict about
  checkpoint loading (not configurable), so it expects the loaded state_dict
  to match exactly the keys in the model state_dict.

  So, when loading the checkpoint, before matching keys, we add all pt_model keys
  from self.state_dict() to the checkpoint state dict, so that they match
  """
  for key in self.state_dict().keys():
      if key.startswith("pt_model"):
          checkpoint["state_dict"][key] = self.state_dict()[key]

The lack of comments here, and the relatively common use case of using frozen PT models seems to suggest to me that I'm doing something wrong. Are people saving the frozen PT weights along with their model? Because I was deleting them to save space.

So still no official support in lightning.Trainer.fit for ckpt loading strict=False?


Add specifying custom build destination

Added an option to specify a different folder destination name

And, once again, we have this one on master. This can be closed.

@erickpatrick Thanks for the info... I found it in an old PR but not in the docs, which I searched for before creating this PR.
I think I'd still prefer the command line option though, instead of specifying in config.php.
However I hear Jigsaw is undergoing a lot or changes so I don't think this will matter much.

@vmitchell85 We had several people express a need for customizing the source/destination locations, such that making it a permanent config option—which could also be customized by environment—seemed like a user-friendly and worthwhile feature. I left this open, though so that once the master branch is tagged as a release, we could discuss updating your PR to add it as a command line option as well. I can see valid use cases for both approaches.

I think we'll stick with the config-based setting for now, haven't encountered a compelling reason to add it as a command line option.

Thanks for taking the time to consider it.
I've changed my process since the rewrite to use the config option... so it's no longer an issue for me.


Prefix ClusterRole with namespace of Console install

This allows multiple Console installs without any extra work from users.
Prior to that they would have had to set CreateClusterRoles=false.

Should we also remove createClusterRoles value with this change?

@mitkus I thought about it. But think it may be useful for customers that want to restrict the ClusterRole to specific namespaces, that sort of thing. Or is this YAGNI?

I'll remove it in another PR.


HADOOP-17055. Remove residual code of Ozone

I found some residual code of ozone in hadoop project, so let's remove it.

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://builds.apache.org/job/hadoop-multibranch/job/PR-2039/1/console in case of problems.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m  8s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+0 :ok:
shelldocs
0m  0s
Shelldocs was not available.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s
The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+0 :ok:
mvndep
1m 15s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
22m  6s
trunk passed

+1 :green_heart:
mvnsite
17m 50s
trunk passed

+1 :green_heart:
shadedclient
15m 34s
branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 28s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
23m 13s
the patch passed

+1 :green_heart:
hadolint
0m  3s
There were no new hadolint issues.

+1 :green_heart:
mvnsite
18m  1s
the patch passed

+1 :green_heart:
shellcheck
0m  6s
The patch generated 0 new + 20 unchanged - 1 fixed = 20 total (was 21)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedclient
15m 19s
patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
19m 49s
root in the patch passed.

+1 :green_heart:
asflicense
0m 52s
The patch does not generate ASF License warnings.

137m 48s

Subsystem
Report/Notes

Docker
ClientAPI=1.40 ServerAPI=1.40 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-2039/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/2039

Optional Tests
dupname asflicense shellcheck shelldocs hadolint mvnsite unit shadedclient

uname
Linux ee6a48deaaf1 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
personality/hadoop.sh

git revision
trunk / a838d871a76

Test Results
https://builds.apache.org/job/hadoop-multibranch/job/PR-2039/1/testReport/

Max. process+thread count
349 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common hadoop-hdfs-project/hadoop-hdfs . U: .

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-2039/1/console

versions
git=2.17.1 maven=3.6.0 shellcheck=0.4.6 hadolint=1.11.1-0-g0e692dd

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Thanks @aajisaka reviewing.


[WIP] Utilities for matrix-free element-wise smoother with Fast Diagonalization

[x] Lapack Eigensolver for general matrices
[x] Kronecker Mult helper functions
[x] Fast Diagonalization solver for systems where the matrix is given as a sum of Kronecker products
[x] Unit tests
[x] Valgrind

@psocratis, can we delete this branch?


Bug: cannot run cargo any-command --all-features with log version 0.4.22

log version 0.4.22 will produce a compiler error if multiple max_level_* features are specified. As corresponding features exists in axfeat, axstd and axlog, cargo any-command --all-features will result in unavoidable compiler error.
Workarounds:

Lock log to 0.4.21, or
--exclude axlog --exclude axstd --exclude axfeat.

Locked in #189.


How can i configure config server to resolve environment variable from server side instead ?

I fixed the issue by using the overrides properties
spring
cloud:
config:
server:
overrides:
lookup_service_qrSetting: ${lookup_service_qrSetting}


[Biometric] Version 64-bits

These steps only work for 32-bit Android, how to do the same for 64-bit which is the version we posted on Google Play?

I updated the readme as to how to build for 64-bit

OK, is there an easy way to add the files to Delpoy that need to be added? on Android 32-bit there are several files that I need to include for Android 64-bit

For now, you could use DeployMan from Grijjy. I'm working on a new version of Codex that will allow you to easily deploy complete folders right from the IDE.


Clear input X

Hi Ioniconians,
As always love the work you guys do.
I had a fanastic and simple feature request. Can you extend  to include a "clear-icon" attribute to add a little x in the input field that when tapped clears the input?
Very simple, I even might be able to build it myself. But I thought if you guys are already on making the best framework possible, I would throw it out there.
Thanks!

Greetings @ajbraus!
Thank you for the feature request. We will review this further and possibly add it to our Feature Request board if we feel it is appropriate for Ionic.
Thank you for allowing me to assist you.


Allow openExternal to open URLs in the background #3224

Adds an optional options parameter to openExternal. Currently the only option is withoutActivation, which allows you to open a URL in the background (without bringing the opening application to the foreground) on Mac OS X. Would be great to implement this option on Linux + Windows as well if it's possible.
I think it's worthwhile to make a options a second parameter vs a single boolean because I think the capabilities might vary by platform.
Fixes #3224

I tested this out, super nice to have, thanks for adding support for it :+1:
Left a few minor comments.

Continuing this in #4508, closing this out here.


Traffic increase, due multiple counts of same user.

Hello everybody,
thanks for this awesome lib, i was using ga4lite before to reduce the js footprint on my sites.
I now successfully implemented ga4mp, but i am having a strange issue now, it seems, that users are getting counted multiple times.
My site are single page applications
i am calling it as follows on the initial request:
	async initAnalytics() { 		if (Webapp.getDevEnvironment() === true || Webapp.getGoogleAnalyticsStatus() === false || User.getAdminStatus() === true) { 			return; 		} 		await DomHandler.loadScript('/scripts/libs/ga4mp-0.0.8/ga4mp.umd.js'); 		window.ga4track = ga4mp(["{{ANALYTICS_ID}}"], { 			user_id: undefined, 			non_personalized_ads: true, 			debug: true, 		}); 		Webapp.sendPageViewToAnalytics(null); 		if (window.performance) { 			const duration = window.performance.timing.domContentLoadedEventEnd - window.performance.timing.navigationStart; 			ga4track.trackEvent('timing_complete', { 				'name': 'load', 				'value': duration, 			}) 		} 	}
every following "page_view" which is handled by navigation api or pushState (depending on browser)
I am just calling this:
	static async sendPageViewToAnalytics(duration: number | null) { 		if (Webapp.getDevEnvironment() === true || Webapp.getGoogleAnalyticsStatus() === false) { 			return; 		} 		const fullReferrer = window.location.protocol + "//" + window.location.host + Webapp.getReferrer(); 		const fullUrl = window.location.href; 		ga4track.trackEvent('page_view', { 			page_location: fullUrl, 			page_referrer: (fullReferrer !== fullUrl ? fullReferrer : ''), 			page_title: document.title, 			language: Webapp.getCurrentLanguage() 		}); 		if (duration !== null) { 			ga4track.trackEvent('timing_complete', { 				'name': 'load', 				'value': duration 			}) 		} 	}
The code is currenlty running live here: https://mallorca-social-clubs.com/.
The requests "pings" are looking fine so far, they are exact the same amount i would expect.
Any ideas what i am doing wrong here or ist it a bug?
Sadly the documentation lacks a lot of information.
Every page refresh by browser reload, F5 or CTRA+Shift+R seems to count as a new user. I havent noticed this behaviour with gtag which i was using before (just like two weeks), before i had the old GA running wihout issues for years until Google stopped it.
Thanks in advance

Anyone?
I tried different implementations in my single page application, but it keeps counting same users multiple times and i have no idea why.

Same here. Since I use this library, me user counts are doubled.

This library does not account for session state. You need to manage the generation and updating of the clientId yourself to ensure accurate session and user counts.

@thyngster thanks, I know. I implemented a really simple use case, because all I need is pageview event. Nevermind, I solved it with @minimal-analytics/ga4 npm package.


Hardcoded users in initialization scripts

Why not use role that is assigned from connection string. In my environment I do not have such role and I do not wish to start creating new ones.
https://github.com/cybertec-postgresql/pgwatch/blob/c779f60a65cec35b9adc6ad5683bfbf5a4692916/internal/metrics/postgres_schema.sql#L2

It is not that simple, the line 1 also includes role name. Most likely AUTHORIZATION 'pgwatch'; is not used as when you already are logged in with that user, then it does it for you. Will try to get it working for myself before making any pull request.

The idea behind this is this script might be executed by superuser but we want all objects belong to monitor role

That script at the same time is executed by pgwatch itself. If that should be run as superuser, then I do not think having application connecting as superuser is a way to go.
Superuser script that creates prepares user for pgwatch should be run outside of application from separate script.

Yes, that's true now. I meant v2

I've rechecked the code. This sql should be executed during pgwatch config init command which supposed to be run by the user with CREATE privileges. I will update the docs

Fixed by #580


Fix Next.js Docs About dev, build and start Commands

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the fix


Apply changes is not handled in IxNet concrete

Apply changes will get enabled when a configuration is updated on a started devices in IxNetwork. which needs to be handled in config class in IxNetwork concrete.

fixed as per snappi[ixnetwork]==0.3.13


[RFE] Adding search box

It would be great if a search box can be added beside the bell icon.
This will improve user experience. One can then find  details of a VM easily.

@terezanovotna can you respond to the question above.
@miq-bot remove_label stale
@miq-bot add_label pinned

@martinpovolny @h-kataria should this issue be moved to the manageiq-ui-classic repo?

@martinpovolny @h-kataria should this issue be moved to the manageiq-ui-classic repo?

Yes and no. But probably no ;-)
It a global search function is what is requested, one that would search in everything, then this is a core issue to start with. There's no such functionality that the UI could use neither in core nor in the API.
If the request is really to add a search on the top and just search for VMs then it does not make sense to me and we should close it

@martinpovolny I think the value will be able to searh in all these categories:

Infra Entities Name
Cloud Entities Name
Storate and Network entities Name
Play books Name
Policy and Profile Name
Report Name
Widget Name
Schedule Name
Catalog Item and Bundle Name

I am sure I am missing some..
And show the result break by category

My original request is quite simple and it is from sysadmin(end-user) perspective.
I want to be able to do a regular expression search on hostname.
I like to find WHERE(which provider) is hostname like linuxDB01.
The search result should bring out MIQ  connected  provider  pages like Azure,AWS,OpenShift, OpenStack,VMWare,xClairty..

@tjyang it is possible today if you go to "Service>Workload"

@Loicavenel , thanks for the pointer on using Service->Workload
Followings are two UI element of Adagios  using Django framework.  Hoping RoR framework can do the same.

P1: Global Search box on MIQ home page(top menu).

P2:  Popup menu box after click on "Advance search" under line, User can select what attributes to search on.

Hi @mfeifer and @Loicavenel
How about for now just move/link search box from  "Service>Workload" to the top menu  ?

@tjyang it does not make too much sense as Search are contextual to the screen they are in


Widget: Motorcycle_accidents_type_-_road_20_vs_all_roads

Name
Query for: most common motorcycle accidents types in a specific road vs all other interurban roads. Most common refer to the top 5 accidents types in the current road (in our case road 20)
Title
סוגי תאונות אופנועים בכביש __ בהשוואה לכל הארץ
(שם הכותרת משתנה כתלות במספר כביש)
Visualization

Visualization explanation
Visualization contains 5 bars on etch side, we refer as ‘butterfly graph’.  for a specific road and for all of Israel interurban roads.
Bars is will not completing to 100%. Etch one displaying the percentage of accidents by type with motorcycles vs all other interurban roads.
Use case
This infographic should be displayed – when motorcycle is involved/mention in the newsflash
SQL query
See query here
Road number changes - according to the newsflash road1 field.
Time frame: 2014-2019
Vehicle type changes - according to the newsflash (find definition below)
Additional context
Add accidents involving other vehicle types--> replace "vehicle_type IN (8,9,10,19)" :
Bus:  vehicle_type IN (11,18)
Train: vehicle_type IN (16)
Tractor: vehicle_type IN (14)
Private car: vehicle_type IN (1,12)
Trucks: vehicle_type IN (4,5,6,7,24,25)
Tracks category does not include medium vehicle type like Van\Tender\Transit

@rsperer we want to create multiple similar widgets - each one with different vehicle type.
We want each widget to have a unique id - maybe we can use class inheritance here? Perhaps @ziv17 can help?

Is it exactly same widget, but for different vehicle type? Or with small differences?

@ziv17 yes it's exactly the same widget but with different vehicle types

I would use a @classmethod as a factory to generate the widget instances. One at Widget class for all the regular cases, and one for this widget, were it will generate an instance for each vehicle. I can do the infrastructure part if you prefer.

I'd like to tackle it myself, will consult @ziv17 about the class infrastructure

sorry did not mean to cose it ):

@MichalOren I see that the query returns accident_type as int but the visualization shows it as string. What should it be?

@MichalOren @atalyaalon I see all other infographics extract from "involved_markers_hebrew" while this one goes to "markers". Wanted to verify with you this is indeed what we want.

@ziv17 yes it's exactly the same widget but with different vehicle types

@atalyaalon do we expect to generate all those widgets when returning data per a specific news_flash or I we likely to generate just one\two depending on the vehicle(s) involved?

@MichalOren I see that the query returns accident_type as int but the visualization shows it as string. What should it be?

return accident_type and use the english_accident_type_dict as used here

@MichalOren @atalyaalon I see all other infographics extract from "involved_markers_hebrew" while this one goes to "markers". Wanted to verify with you this is indeed what we want.

Yes, in this widget we count accidents, using markers is enough

@ziv17 yes it's exactly the same widget but with different vehicle types

@atalyaalon do we expect to generate all those widgets when returning data per a specific news_flash or I we likely to generate just one\two depending on the vehicle(s) involved?

We might generate more than one widget - we don't want to be limited in that sense and have the option to send all of the Widgets with different vehicle types.

@atalyaalon @MichalOren
I have a question about how we should retrieve "last 5 years". The referenced query uses field accident_year and values (2014,2019) while in most queries we look at last 5 years ranging back from the accident date. Which one should it be for this query?

OK by me

OK by me

@rsperer closing this one

@rsperer closing this one

@rsperer can you create a FE issue now that API exists?

@rsperer can you create a FE issue now that API exists?

Similar to this one - https://github.com/hasadna/anyway-newsflash-infographics/issues/541
With the visualization @MichalOren created

Similar to this one - https://github.com/hasadna/anyway-newsflash-infographics/issues/541
With the visualization @MichalOren created


Completed all the lessons for 3.8 (new fork and new pull request)

I am proud of you!!! You did it.


No such file or directory: '/home/eduardo.pittol/nlpnet-data/prefix-features-pos.npy'

I put in the same dir the content of this two compressed files:
http://nilc.icmc.usp.br/nilc/download/nlpnet-data.zip
http://<IP_ADDRESS>:21580/nlpnet/data/pos-pt.tgz
When I call tagger = nlpnet.POSTagger(). Show this error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 170, in __init__
    self._load_data()
  File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 274, in _load_data
    self.nn = load_network(md)
  File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 41, in load_network
    prefix_features = utils.load_features_from_file(md.paths[md.prefix_features])
  File "/usr/lib64/python2.7/site-packages/nlpnet/utils.py", line 402, in load_features_from_file
    return np.load(features_file)
  File "/usr/lib64/python2.7/site-packages/numpy/lib/npyio.py", line 369, in load
    fid = open(file, "rb")
IOError: [Errno 2] No such file or directory: '/home/eduardo.pittol/nlpnet-data/prefix-features-pos.npy'

You shouldn't use nlpnet-data.zip, only pos-pt.tgz. Maybe the metadata
files got messed up in the same directory.
2015-02-21 16:27 GMT-02:00 Eduardo Pittol<EMAIL_ADDRESS>
I put in the same dir the content of this two compressed files:
http://nilc.icmc.usp.br/nilc/download/nlpnet-data.zip
http://<IP_ADDRESS>:21580/nlpnet/data/pos-pt.tgz
When I call tagger = nlpnet.POSTagger(). Show this error:
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 170, in init
self._load_data()
File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 274, in _load_data
self.nn = load_network(md)
File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 41, in load_network
prefix_features = utils.load_features_from_file(md.paths[md.prefix_features])
File "/usr/lib64/python2.7/site-packages/nlpnet/utils.py", line 402, in load_features_from_file
return np.load(features_file)
File "/usr/lib64/python2.7/site-packages/numpy/lib/npyio.py", line 369, in load
fid = open(file, "rb")
IOError: [Errno 2] No such file or directory: '/home/eduardo.pittol/nlpnet-data/prefix-features-pos.npy'
--
Reply to this email directly or view it on GitHub
https://github.com/erickrf/nlpnet/issues/8.

I put the nlpnet-data.zip because without it appears this error:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 170, in __init__
    self._load_data()
  File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 274, in _load_data
    self.nn = load_network(md)
  File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 34, in load_network
    type_features = utils.load_features_from_file(md.paths[md.type_features])
  File "/usr/lib64/python2.7/site-packages/nlpnet/utils.py", line 402, in load_features_from_file
    return np.load(features_file)
  File "/usr/lib64/python2.7/site-packages/numpy/lib/npyio.py", line 369, in load
    fid = open(file, "rb")
IOError: [Errno 2] No such file or directory: '/home/eduardo.pittol/nlpnet-data/types-features-pos.npy'

And the nlpnet-data.zip has the types-features-pos.npy file.

There must be something wrong. The new nlpnet version doesn't use
types-features-pos.npy, only the .npz file. Make sure you have the latest
version installed.
2015-02-22 19:35 GMT-03:00 Eduardo Pittol<EMAIL_ADDRESS>
I put the nlpnet-data.zip because without it appears this error:
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 170, in init
self._load_data()
File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 274, in _load_data
self.nn = load_network(md)
File "/usr/lib64/python2.7/site-packages/nlpnet/taggers.py", line 34, in load_network
type_features = utils.load_features_from_file(md.paths[md.type_features])
File "/usr/lib64/python2.7/site-packages/nlpnet/utils.py", line 402, in load_features_from_file
return np.load(features_file)
File "/usr/lib64/python2.7/site-packages/numpy/lib/npyio.py", line 369, in load
fid = open(file, "rb")
IOError: [Errno 2] No such file or directory: '/home/eduardo.pittol/nlpnet-data/types-features-pos.npy'
And the nlpnet-data.zip has the types-features-pos.npy file.
--
Reply to this email directly or view it on GitHub
https://github.com/erickrf/nlpnet/issues/8#issuecomment-75467415.

The version of this repository and PyPI are differents, 1.1.6 (GitHub) and 1.1.5 (PyPI). If I install using PyPI I get the above error. And if I install using a clone of this repository. When I call import nlpnet, appear this message:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "nlpnet/__init__.py", line 3, in <module>
    import taggers
  File "nlpnet/taggers.py", line 17, in <module>
    from network import Network, ConvolutionalNetwork
ImportError: No module named network

Yes, the PyPi version is not updated yet.
The error with the network import was already reported in https://github.com/erickrf/nlpnet/issues/2, I'm trying to fix it. It is hard to test because I've seen it happen sometimes, but not always.


Added .VSCode settings for applying DSC PSSA rules - Fixes #189

Pull Request (PR) description
This PR adds .VSCode settings for applying DSC PSSA rules.
This Pull Request (PR) fixes the following issues

Fixes #189

Task list

[x] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md in the resource folder.
[ ] Resource parameter descriptions added/updated in schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[ ] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

@johlju - would you mind reviewing?

This change is

Codecov Report

Merging #190 into dev will not change coverage.
The diff coverage is n/a.

@@        Coverage Diff         @@
##           dev   #190   +/-   ##
==================================
  Coverage   90%    90%
==================================
  Files        7      7
  Lines      739    739
==================================
  Hits       671    671
  Misses      68     68


Implement type safe configuration #54

Coverage decreased (-0.4%) to 99.474% when pulling 4c0b70bb3045ef134d13ad6e81972720df77a2f7 on issue_54 into e094194c9688ba586e9f802cf58827f181ae758b on master.


Fix incorrect convertible types resolved from type-value pair set for union of records

Purpose

$title

Fixes #42402
Approach

The performance issue happened due to an earlier solution introduced to solve the issue https://github.com/ballerina-platform/ballerina-lang/issues/41930 by taking shallow copies of unresolved type sets. But ideally we should not keep non convertible types in the type-value pair map. If we find the values are not convertible to it's mapping type, we can remove that value-type entry.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Shall we link this to the internal-issue as well?

@gabilang Will this fix both issues?

@gabilang Did we verify this fix for both issues?

Yes, tested the fix with both https://github.com/ballerina-platform/ballerina-lang/issues/41930 and https://github.com/wso2-enterprise/internal-support-ballerina/issues/626


xrdp 0.9.7 session resize not working sometimes in session reconnection

Client OS :- Xubuntu 16.04.3_x86
Freerdp Version :- 2.0.0.rc3
Server OS :- Ubuntu  Gnome 16.04_x64
Xrdp Version :- 0.9.7
Xorgxrdp version :- 0.2.7
Scenario:-
1:-take remote session from client machine (without fullscreen)
xfreerdp /u:xx /p:xxxx /v:x.x.x.x  /rfx
2:-disconnect session
3:- now connect same session from differrent machine (with full screen flag)
xfreerdp /u:xx /p:xxxx /v:x.x.x.x  /rfx /f
Result :-
1:- session is not resized for fullscreen

@metalefty  attached screenshot for same

Dup of #914.


Adding tracebacks to the error logs and saved failed tasks

I found the tasks difficult to debug, perhaps this is just a configurational issue on my side but I believe using traceback produces a more useful output.

[Current coverage][cc-pull] is 90.80%

Merging [#177][cc-pull] into [master][cc-base-branch] will decrease coverage by 5.81%

@@             master       #177   diff @@
==========================================
  Files            40         40
  Lines          2726       2730     +4
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           2634       2479   -155
- Misses           92        251   +159
  Partials          0          0

Powered by Codecov. Last updated by [778607b...e12800a][cc-compare]
[cc-base-branch]: https://codecov.io/gh/Koed00/django-q/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/Koed00/django-q/compare/778607b2cd893295f0c0e7c43bafc2b0fe9813c5...e12800a58c085ce3bcb431456f9836cd939a4186
[cc-pull]: https://codecov.io/gh/Koed00/django-q/pull/177?src=pr

👍 Really like the idea

strets123, just curious why you closed this?
Koed00, just curious why it wasn't merged. I've also found this PR very helpful on jobs that crash.

Ah sotry was nust tidying up and was so long ago i had forgotten what i was even using this for. I need to add test coverage and did not at the time know how to test logs. Happy to reopen.

merged through bd062503c5be50d7b9170834899defd92b81dbee


Update BrightFutures to a version that supports swift 5.0

Hey, can you please update the BrightFutures dependency to a version that supports version 5? Because right now BrightFutures and Result are written in swift 4.2, thanks.

Thanks for the nudge.
PR has been created. Now just waiting for a review and I can release the new minor version.

@GeorgeIvanov sorry for the delay, but I only just managed to release this properly as v0.7.0.


Fix to send correct message number in Type 255

Signed-off-by: Chandrakar, Prateek<EMAIL_ADDRESS>

Validated the PR by verifying the error message 255 format. The second field contains the message number at which the error occurred and the third field contains the error message.  Eg. [100, 69, "msg69: message parse error",<PHONE_NUMBER>, 0]