Support for divIcon

Hi,
Great package! I want to use divIcon as my Icon. Is there support for that? Is that in the plans?
Also, I realize this isn't an issue, but wasn't sure where else to post. Is there a better place?
Thanks!

Thanks! There is currently no support for DivIcon, and i have no immediate plans to implement it. However, i would be happy to look at a pull request, if you decide to give it a go.

I have just (0.0.18rc1) created a DivMarker component, which makes is possible to use div icons. Here is a small example,
import dash
import dash_html_components as html
import dash_leaflet as dl

app = dash.Dash()
app.layout = html.Div([dl.Map([dl.TileLayer(), dl.DivMarker(position=(56,10), iconOptions=dict(className='my-icon'))]),
], style={'width': '100%', 'height': '50vh', 'margin': "auto", "display": "block"})

if __name__ == '__main__':
    app.run_server()

where the class my-icon is contained in a .css file in the assets folder,
.my-icon
{
  background:red;
  border:5px solid rgba(255,255,255,0.5);
  color:blue;
  font-weight:bold;
  text-align:center;
  border-radius:50%;
  line-height:30px;
}

To add components to the marker, simply pass them as children to the DivMarker component. They will then be rendered as part of the marker, and you should be able to use them as normally (with callbacks etc.).

Already works likes this on 0.0.18


Android build error

Hi I have an error in the Android build:

What went wrong:
Execution failed for task ':app:mergeAppDebugAssets'.

Could not resolve all files for configuration ':app:appDebugRuntimeClasspath'.
Could not find io.paperdb:paperdb:2.7.1.
Searched in the following locations:
...
Required by:
project :app > project :react-native-exponea-sdk > com.exponea.sdk:sdk:2.9.5

In my package.json I am using the following versions:
react-native: 0.64.2
react-native-exponea-sdk: ^0.5.2
In my app/build.gradle:
minSdkVersion = 23
compileSdkVersion = 30
targetSdkVersion = 30
Any idea what could be wrong?

Please try the latest SDK version - 1.0.0, this issue could occur on previous versions where the paperDb library was used.


Integrated terminal does not recognize when a folder is deleted in the explorer

VSCode Version: 1.3.0 Insider
OS Version: Windows 10 x64

Steps to Reproduce:

Create a folder with files in the explorer
Open a integrated terminal
Delete that folder - confirm deletion with yes -
cd to the deleted folder - its still existing -
close the integrated terminal
Open an integrated terminal again
cd to the deleted folder , its still there.

I'm assuming this is a problem with the deletion as the terminal just defers all logic to the shell which I'm assuming is cmd (the default) in your cause?

Unlikely. More likely, folder moves to trash and the terminal still shows it from there. Maybe you try to reproduce?

The only interaction done with the file system by the terminal is by the cmd process. I tried to reproduce but could not get step 4 to repro.
@bastienJS some follow ups:

Are you using cmd within the terminal?
Is it reproducing 100% consistently?
Can you reproduce with a cmd window open?

Closing due to inactivity, please leave a comment if you're still experiencing the issue and/or have more information.


CMake doe not work

Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: /usr/bin/arm-none-eabi-gcc
Build flags:
Id flags:
The output was:
1
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-exit.o): in function exit': exit.c:(.text.exit+0x28): undefined reference to _exit'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-sbrkr.o): in function _sbrk_r': sbrkr.c:(.text._sbrk_r+0x18): undefined reference to _sbrk'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-writer.o): in function _write_r': writer.c:(.text._write_r+0x24): undefined reference to _write'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-closer.o): in function _close_r': closer.c:(.text._close_r+0x18): undefined reference to _close'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-lseekr.o): in function _lseek_r': lseekr.c:(.text._lseek_r+0x24): undefined reference to _lseek'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-readr.o): in function _read_r': readr.c:(.text._read_r+0x24): undefined reference to _read'
collect2: error: ld returned 1 exit status
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: /usr/bin/arm-none-eabi-g++
Build flags:
Id flags:
The output was:
1
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-exit.o): in function exit': exit.c:(.text.exit+0x28): undefined reference to _exit'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-sbrkr.o): in function _sbrk_r': sbrkr.c:(.text._sbrk_r+0x18): undefined reference to _sbrk'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-writer.o): in function _write_r': writer.c:(.text._write_r+0x24): undefined reference to _write'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-closer.o): in function _close_r': closer.c:(.text._close_r+0x18): undefined reference to _close'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-lseekr.o): in function _lseek_r': lseekr.c:(.text._lseek_r+0x24): undefined reference to _lseek'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-readr.o): in function _read_r': readr.c:(.text._read_r+0x24): undefined reference to _read'
collect2: error: ld returned 1 exit status
Detecting C compiler ABI info failed to compile with the following output:
Change Dir: /workspaces/Controller/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_0a87f/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_0a87f.dir/build.make CMakeFiles/cmTC_0a87f.dir/build
gmake[1]: Entering directory '/workspaces/Controller/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_0a87f.dir/CMakeCCompilerABI.c.o
/usr/bin/arm-none-eabi-gcc   -v -o CMakeFiles/cmTC_0a87f.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c
Using built-in specs.
 search starts here:
#include <...> search starts here:
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/include
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/include-fixed
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/include
End of search list.
Compiler executable checksum: 9c2ae77c272b305506938e8b4c3643b8
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0a87f.dir/CMakeCCompilerABI.c.o' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t' '-dumpdir' 'CMakeFiles/cmTC_0a87f.dir/'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/as -v -march=armv4t -mfloat-abi=soft -meabi=5 -o CMakeFiles/cmTC_0a87f.dir/CMakeCCompilerABI.c.o /tmp/ccdjwKns.s
GNU assembler version 2.42.0 (arm-none-eabi) using BFD version (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)) <IP_ADDRESS>40614
COMPILER_PATH=/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../libexec/gcc/arm-none-eabi/13.3.1/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../libexec/gcc/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/
LIBRARY_PATH=/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../arm-none-eabi/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0a87f.dir/CMakeCCompilerABI.c.o' '-c' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t' '-dumpdir' 'CMakeFiles/cmTC_0a87f.dir/CMakeCCompilerABI.c.'
Linking C executable cmTC_0a87f
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0a87f.dir/link.txt --verbose=1
/usr/bin/arm-none-eabi-gcc  -v CMakeFiles/cmTC_0a87f.dir/CMakeCCompilerABI.c.o -o cmTC_0a87f
Using built-in specs.
COLLECT_GCC=/usr/bin/arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../libexec/gcc/arm-none-eabi/13.3.1/lto-wrapper
Target: arm-none-eabi
Configured with: /data/jenkins/workspace/GNU-toolchain/arm-13/src/gcc/configure --target=arm-none-eabi --prefix=/data/jenkins/workspace/GNU-toolchain/arm-13/build-arm-none-eabi/install --with-gmp=/data/jenkins/workspace/GNU-toolchain/arm-13/build-arm-none-eabi/host-tools --with-mpfr=/data/jenkins/workspace/GNU-toolchain/arm-13/build-arm-none-eabi/host-tools --with-mpc=/data/jenkins/workspace/GNU-toolchain/arm-13/build-arm-none-eabi/host-tools --with-isl=/data/jenkins/workspace/GNU-toolchain/arm-13/build-arm-none-eabi/host-tools --disable-shared --disable-nls --disable-threads --disable-tls --enable-checking=release --enable-languages=c,c++,fortran --with-newlib --with-gnu-as --with-headers=yes --with-gnu-ld --with-native-system-header-dir=/include --with-sysroot=/data/jenkins/workspace/GNU-toolchain/arm-13/build-arm-none-eabi/install/arm-none-eabi --with-multilib-list=aprofile,rmprofile --with-pkgversion='Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)' --with-bugurl=https://bugs.linaro.org/
Thread model: single
Supported LTO compression algorithms: zlib
gcc version 13.3.1 20240614 (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24))
COMPILER_PATH=/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../libexec/gcc/arm-none-eabi/13.3.1/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../libexec/gcc/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/
LIBRARY_PATH=/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/:/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../arm-none-eabi/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_0a87f' '-mcpu=arm7tdmi' '-mfloat-abi=soft' '-marm' '-mlibarch=armv4t' '-march=armv4t' '-dumpdir' 'cmTC_0a87f.'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../libexec/gcc/arm-none-eabi/13.3.1/collect2 -plugin /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../libexec/gcc/arm-none-eabi/13.3.1/liblto_plugin.so -plugin-opt=/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../libexec/gcc/arm-none-eabi/13.3.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccyBpvfF.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc --sysroot=/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../arm-none-eabi -X -o cmTC_0a87f /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/crti.o /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/crtbegin.o /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/crt0.o -L/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1 -L/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc -L/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib -L/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../arm-none-eabi/lib CMakeFiles/cmTC_0a87f.dir/CMakeCCompilerABI.c.o --start-group -lgcc -lc --end-group /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/crtend.o /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/crtn.o
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-exit.o): in function exit': exit.c:(.text.exit+0x28): undefined reference to _exit'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-sbrkr.o): in function _sbrk_r': sbrkr.c:(.text._sbrk_r+0x18): undefined reference to _sbrk'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-writer.o): in function _write_r': writer.c:(.text._write_r+0x24): undefined reference to _write'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-closer.o): in function _close_r': closer.c:(.text._close_r+0x18): undefined reference to _close'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-lseekr.o): in function _lseek_r': lseekr.c:(.text._lseek_r+0x24): undefined reference to _lseek'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-readr.o): in function _read_r': readr.c:(.text._read_r+0x24): undefined reference to _read'
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_0a87f.dir/build.make:99: cmTC_0a87f] Error 1
gmake[1]: Leaving directory '/workspaces/Controller/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:127: cmTC_0a87f/fast] Error 2
Determining if the C compiler works failed with the following output:
Change Dir: /workspaces/Controller/build/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_b40b4/fast && /usr/bin/gmake  -f CMakeFiles/cmTC_b40b4.dir/build.make CMakeFiles/cmTC_b40b4.dir/build
gmake[1]: Entering directory '/workspaces/Controller/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_b40b4.dir/testCCompiler.c.o
/usr/bin/arm-none-eabi-gcc    -o CMakeFiles/cmTC_b40b4.dir/testCCompiler.c.o -c /workspaces/Controller/build/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_b40b4
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_b40b4.dir/link.txt --verbose=1
/usr/bin/arm-none-eabi-gcc CMakeFiles/cmTC_b40b4.dir/testCCompiler.c.o -o cmTC_b40b4
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-exit.o): in function exit': exit.c:(.text.exit+0x28): undefined reference to _exit'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-sbrkr.o): in function _sbrk_r': sbrkr.c:(.text._sbrk_r+0x18): undefined reference to _sbrk'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-writer.o): in function _write_r': writer.c:(.text._write_r+0x24): undefined reference to _write'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-closer.o): in function _close_r': closer.c:(.text._close_r+0x18): undefined reference to _close'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-lseekr.o): in function _lseek_r': lseekr.c:(.text._lseek_r+0x24): undefined reference to _lseek'
/usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/bin/ld: /usr/share/arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.3.1/../../../../arm-none-eabi/lib/libc.a(libc_a-readr.o): in function _read_r': readr.c:(.text._read_r+0x24): undefined reference to _read'
collect2: error: ld returned 1 exit status
gmake[1]: *** [CMakeFiles/cmTC_b40b4.dir/build.make:99: cmTC_b40b4] Error 1
gmake[1]: Leaving directory '/workspaces/Controller/build/CMakeFiles/CMakeTmp'
gmake: *** [Makefile:127: cmTC_b40b4/fast] Error 2

In Makefile a reference to the toolchain file is made. CMake does not use this by default.


more of a request..

Is there anychance someone can add a star rating system to this basicly at the end of a level the uses will recive up to 3 stars depending on the time they take to complete the level or simulour i have tried my self but went really wrong

Did you have any change in getting it to work? Basically, you need to get the time that the level has started, the level that has been successfully completed and find a formula to assign a proper start. I'm closing it as it's more of a feature request than an issue with the code itself.


i cannot able to find dum annotation button

My actions before raising this issue

[ ] Read/searched the docs
[ ] Searched past issues

Expected Behaviour

Current Behaviour

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Git hash commit (git log -1):
Docker version docker version (e.g. Docker 17.0.05):
Are you using Docker Swarm or Kubernetes?
Operating System and version (e.g. Linux, Windows, MacOS):
Code example or link to GitHub repo or gist to reproduce problem:
Other diagnostic information / logs:
Logs from `cvat` container

Next steps
You may join our Gitter channel for community support.

https://openvinotoolkit.github.io/cvat/docs/manual/advanced/export-import-datasets/


Filterable WSDropdown with many items lacks UX clue for number of elements

Hey all,
The filterable WSDropdown is cool because by filtering the user don't have to deal with scrolling a potentially huge list of elements, but I think it's a bit confusing for the user to actually realize that the list has more elements than .
I made a quick gif of the behavior, the limit is default (10) and the list has 50 elements.

Notice in the beginning that unless the user has previous knowledge OR you tell him somewhere in your screen OR you tell him by using the placeholder text (which can lead to increase the horizontal size of the dropdown menu), the user has no way to tell that the list has 50 elements, unless he starts typing.
I'm no UX guru, I don't know exactly how to give the user a feel that there are more elements without resorting to a scroll bar (maybe som text close to the filter field? but then it would get long like "This list has more elements. Type to filter", probably not cool).
Anyway, keep up the great work!

@myueksel Can you please look into this? Lucas has a great point about the usability of the Dropdown.

Any suggestion about this from @wholesale-design-system/ux

We could make this scrollable with the default OS scrollbar
We could create a own scrollbar which uses javascript but looks everywhere the same
We could show no scollbar but let the user scroll
We could show a link with "show more" which shows the next x items

I totally would propose the 4th solution for the reason that it is much more performant because we only have to render 10 items instead of 5000 (for instance on sub units). So on click we would show another 10 items and the dropdown gets larger instead of a scrollbar.

Thanks for the proposal, @fragsalat. I'm skeptical about the 4th solution for two reasons:

It is fairly unusual
The size of the box will grow each time I click, and at some point it becomes bigger than the screen

In order of my preferences, I would vote no. 2, then no. 1. Maybe start with 1 and see how ugly it looks?
Thanks!

@schluchter this is the worst performance wise. Just remember that we have like 7000 brands, 4500 suppliers, and some units and so on. To render all of those is not performant and no one want's to scroll those. It probably is an edge case that a user wants to see more.
To make a compromise I would suggest a combination. A link at the bottom which is about "show all" and if the user clicks it becomes scrollable. So we have a good initial performance but the user still can see all

Just bear in mind that my comment was about the filterable dropdown specifically: if the list is too big, it's OK "scroll-wise" because people would probably type in the text field anyway. The point was more like: there is no indication whatsoever that there are more than 9 elements (in my example) in the list.
The "show all" idea sounds good 👍

Is there any way to make this menu work like an "endless scroll" to fetch more and more items as the user scrolls? And still be reasonably smooth

For short and medium lists: I agree with @schluchter, scrolling is the most natural and expected behavior.
For longer lists: do we really need to render everything? Can't we just render ex. 50 and then automatically render more during scrolling (like auto "show more" button)?
Another thing is the question, how many people would go through the list of thousands elements instead of typing a name? My guess is - no one (sane). IMO showing limited list (50? 100?) before you type anything should not cause any real user problem.
About scrolling we need scrolling element anyway and standard scrolls looks ugly (I have seen it!).

Instead of "click for more" or visible scrollbar, maybe different hint for "there's more down here" could be used, for example a double downward arrow, that also possibly moves a bit.

@fabric-design/ux any news here? I would like to implement it right now

No ux decision taken yet.
I suggested multiple possibilities.

My 'everyday internet apps user' persepctive: if there are more elements, there should defnitely be a visual cue (like the arrow suggested by @jseb). But then if there's a visual cue saying that the list is longer than what I see, I do expect it to be scrollable. Regardless if the loading is on-demand (better) or loading everything when the list renders (noooo), I would try to scroll it definitely, maybe realize there are too many elements and then use the smart filter.


Envoy Gateway GA Plan

Envoy Gateway GA Plan
This issue tracks all the necessary steps for Envoy Gateway to reach v1.0, providing users with the confidence to run it in production.
Plan Release Time: The GA is planned for early March 2024, before KubeCon Paris 2024.

I will be responsible for: manage GitHub issue/project, set priorities, and release the v1.0.0.

Stability

[x] Pass conformance tests for all v1.0 Gateway API upstream features
[x] Write and pass E2E tests for all extended features
[x] Achieve 60%-80% code coverage (from unit tests)

Performance at Scale

[x] Meet certain performance criteria when used at scale
[x] Performance Report

API Gateway Features
Core (Gateway API Implementation)
Implement and expose the majority of API Gateway features using a stable API. This requires the upstream Gateway APIs to be graduated (tracked with https://github.com/kubernetes-sigs/gateway-api/discussions/1801)
Protocol Support

[x] HTTP
[x] gRPC
[x] TCP
[x] TLS
[x] UDP

Cross Namespace Access Control

[x] ReferenceGrant

Traffic Management

[x] More Advanced Match Routing Rules:

[x] Header
[x] Method
[x] Param
[x] Host
[x] Path

[x] Timeout
[x] Request Header Modifier
[x] Response Header Modifier
[x] Request Mirror
[x] Request Redirect
[x] URL Rewrite
[x] Weighted Backend

Extended (Envoy Gateway Policy Attachment)
Security

[x] CORS
[x] BasicAuth
[x] JWT
[x] OIDC

Traffic Management
Client Side

[x] EnableProxyProtocol
[x] TCPKeepAlive
[x] HTTP3/QUIC

Backend Side

[x] Global Ratelimit
[x] Local Ratelimit
[x] LoadBalancing
[x] ProxyProtocol
[x] TCPKeepAlive
[x] Active Health Check
[x] Retry
[x] Circuit Breaker
[x] Fault Injection

Extensibility

[x] Envoy Gateway Extension Manager
[x] EnvoyPatchPolicy
[x] WASM/Go/Lua PluginPolicy

Flexible Deploy Mode

[x] Multiple GatewayClass per Envoy Gateway
[x] One GatewayClass per Envoy Gateway
[x] Merged Gateway per Envoy Gateway
[x] Namespaces scope watch mode
[x] Cluster scope watch mode
[ ] Deploy EnvoyProxy Instance in Gateway CR namespace
[x] Deploy EnvoyProxy Instance in Envoy Gateway namespace
[x] Multi-tenancy Envoy Gateway in different namespace
[x] Multi Cluster Support with MCS API

Day 2 Operations

[x] Install

[x] Helm
[x] Yaml

[x] Observability

[x] Data Plane
[x] Control Plane

[x] egctl command line tool

[x] Core
[ ] Extended

[ ] Triage
[x] HPA
[x] Upgrades (CRD, Envoy Proxy, Envoy Gateway)
[x] Customize Envoy Kubernetes Resources

Documentation

[ ] Document all features, operations, and other relevant information

Other
Team Session

All issues related to GA should be managed under Envoy Gateway: The Road to GA, which includes the following sections: Backlog, Todo, In Progress, Review, and Done.
All issues related to GA should be labeled for identification: road-to-ga

Blog Post

[x] Publish a blog post about Envoy Gateway on both blog.envoyproxy.io and gateway.envoyproxy.io

CNCF Logo Design

[ ] Design a CNCF logo for Envoy Gateway

Since the benchmark part has been added, do we need to reevaluate this ? @Xunzhuo

@shawnh2 Updated thanks!


Working on the search bar (#123)

Implemented:

Currently implemented to show a small ❌ when the user has input, and delete the entered content when clicked on.

placeholder functionality.

Not implemented:
Currently there is no search function implemented, @kevinaboos do you have any good method for passing parameters between two sibling components? The source code is located in /src/home/rooms_sidebar.rs, the components  and
My current thinking is that when the user enters something in the search bar, the value is passed to the rooms list, and then the rooms list does the filtering.

Or what needs to be improved about the current component. In the meantime, I'm currently ramping up my makepad studies and hope to make some contributions!

Looks great, thanks for the initial contribution!

Currently there is no search function implemented, @kevinaboos do you have any good method for passing parameters between two sibling components?

Yes, fortunately Makepad supports this with its Actions concept. The basic idea is that one widget "emits" an action, and then any other widgets (anywhere within the app) can handle that action as part of the event handler. You can see some other examples in Robrix already, look for cx.widget_action() which produces/emits a new action, and then look for .as_widget_action() which attempts to handle an action.

My current thinking is that when the user enters something in the search bar, the value is passed to the rooms list, and then the rooms list does the filtering.

Yep, that should definitely work, and actions will help you facilitate that control flow.

ok, thanks for the suggestion, I'll try it!

oops! Currently combining and merge difficulties, I need to check.


Support bt_file_logger_v2

Support bt_file_logger_v2 as the standard file logger is no longer built by default in bt.CPP v4 and is officially deprecated
From a very quick analysis, the main differences appear to be protocol versioning, and that tree is formatted in XML instead of flat buffers (rest is still in flat buffers)

To be honest. I first would like to get rid of the neccessity for fbl in bt_live. But that is just priorities, I guess.

Supporting the zeroMQ protocol would probably solve both issues as it sends/supplies the tree model, and can supply the action states updates. This would also remove the need for the nav2 specific ros topic


Pop3 remove messages from server + notification issues

k-9 mail version 5.700
android ver. 8.1.0
account pop3

Poll frequency is set to 15 minutes, once the email is received, is also deleted on server. In the previous k-9 version there was an option to leave a copy on server... i can't find it now.
Other issue on notification. Even if "show a notification for message I sent" is checked... no any notification is shown. (This happens for both imap & pop3)
Thank you!

K-9 Mail doesn't delete messages from the server after retrieving them. It's much more likely your email provider is doing some behind-the-scenes magic, see e.g. https://support.google.com/a/answer/6089246?hl=en
If you can avoid it, you shouldn't use POP3 with K-9 Mail. It's not a great fit for how K-9 Mail handles messages. You probably shouldn't use POP3 at all in 2019.
We know that there are lots of issues regarding notifications. Fixing them will be a focus after the next stable version has been released.
Closing this issue because there was no actionable information provided and it's likely these are bugs we already have an issue for.
If you need help figuring out how to configure K-9 Mail to use POP3 with a specific provider please use the mailing list.


Upload fix, rebased onto #72

Merge this after #72 has been merged. This will close #86, which this was based upon.

@chriseth, this branch has been rebased.


BSplines

Hi,
thank you for this nice github repo. I am trying to write an exporter to the CAD file format STEP with python OpenCASCADE (pythonOCC) i am bit confused with ur code for the BSplines.
In the Line
https://github.com/vccimaging/DiffOptics/blob/f62dc49aa45c5ea3f8165634622392fbe44e6448/diffoptics/optics.py#L1613
Code with some extra Comments:
    @staticmethod
    def _generate_knots(R, n, p=3, device=torch.device('cpu')):
        t = np.linspace(-R, R, n)
        step = t[1] - t[0]
        T = t[0] - 0.9 * step

        np.pad(t, p+1, 'constant', constant_values=step)#-doesnt effect result

        t = np.concatenate((np.ones(p+1)*T, t, -np.ones(p+1)*T), axis=0)
        return torch.Tensor(t).to(device)   #=>c.shape[0]==t.shape[0]+4 if size[0]==size[1]

it becomes clear that the shape of c doesnt match the shape of tx or ty in the respected dimensions. it is smaller by 4 in each dimension. Why is that?
Would it be safe to directly use the BSpline Surface as an input for a CAD file. Or would it be better to fit a NURBS Curve to your surface?
regards Martin

Oke i think i got it. U are using only Bsplines basis of degree 3.
And pythonOCC "BSplineSurface" seems to not have directly controll points.


CI improvements

Closes WRAP-268, WRAP-269, WRAP-270, WRAP-271

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


bug(mat-chip-option): mat-chip-option doesn't listen for [selected] input

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
Simple code:
<ng-container *ngIf="vm$|async as $">
  <mat-chip-listbox
      aria-label="Roles selection"
      [multiple]="true"
  >
    <mat-chip-option
        *ngFor="let role of $.allRoles" [value]="role"
        [selected]="collection.hasItemIn(role, $.roles)"
        (click)="collection.hasItemIn(role, $.roles) ? removeRole(role) : addRole(role)"
    >{{role.name}}</mat-chip-option>
  </mat-chip-listbox>
</ng-container>

Whenever I click the chip, visually its "selected" state is being toggled, but it absolutely ignores what [selected] is sending.
I know that there is selectionChange output, but the point is: I want to control the "selected" state, not just toggle it automatically.
Simplified code from StackBlitz:
<mat-chip-listbox aria-label="Roles selection" [multiple]="true">
  <mat-chip-option
    *ngFor="let role of allRoles"
    [value]="role"
    [selected]="selectedRoles.has(role)"
    (click)="selectedRoles.has(role) ? removeRole(role) : addRole(role)"
    >{{role.name}}</mat-chip-option
  >
</mat-chip-listbox>

Reproduction
Code is here, but I can't make it run with Angular 15 on StackBlitz:
https://stackblitz.com/edit/components-issue-w1yexo?file=src/app/example-component.ts
Expected Behavior
[selected] should not be overriden by the internal state. Quite the contrary, [selected] should define the state.
Actual Behavior
[selected] is being ignored
Environment

Angular: 15.0.0-rc2
CDK/Material: 15.0.0-rc1
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): macOS 13

This is just how the framework works: the selected input will only be re-evaluated when it changes. Have you tried setting the chip to selectable="false"?

That's the whole point, @crisbeto , mat-chip-option doesn't react when the value of [selected] is being changed.
You can try to select it with [selectable]=false, let's call it homework.

The Stackblitz doesn't run for me, for some reason, but I tried the following and it worked as expected:
<mat-chip-listbox>
  <mat-chip-option selectable="false" [selected]="selected === '1'">Extra Small</mat-chip-option>
  <mat-chip-option selectable="false" [selected]="selected === '2'">Small</mat-chip-option>
  <mat-chip-option selectable="false" [selected]="selected === '3'">Medium</mat-chip-option>
  <mat-chip-option selectable="false" [selected]="selected === '4'">Large</mat-chip-option>
</mat-chip-listbox>

<input type="text" [(ngModel)]="selected">

https://user-images.githubusercontent.com/4450522/200682571-69061676-43f9-4a78-9941-ef445e170106.mov

See, @crisbeto , they are highlighted, but not selected. API docs explicitly say that with [selectelable]=false this component will not react to [selected]. At least this part works, lol
[selected] value is only respected on init, but not in consequence changes.

And yes, even StackBlitz examples in official docs don't run for 15 next or RC.

Side-note: the next RC should fix the Stackblitz.
Regarding selectable: the intent is that the user isn't allowed to select it, but you can still toggle it programmatically.

Yes, that's what I'm trying to do, to toggle it programmatically. It's completely ignored.
BTW, I can't wait while it's fixed so I had to do some workaround, and here I'll post some code from a working project but if some readers are struggling with the same issue, they can use my workaround as a hint:
HTML:
  <mat-chip-listbox
      aria-label="Roles selection"
      [multiple]="true"
  >
    <mat-chip-option
        *ngFor="let role of $.allRoles" [value]="role"
        [selected]="collection.hasItemIn(role, $.roles)"
        [selectable]="false"
        [disabled]="$.cvm.isMutating && (collection.hasItemIn(role, $.cvm.updatingItems) || collection.hasItemIn(role, $.cvm.deletingItems))"
        [disableRipple]="!isEditable(role)"
        (click)="collection.hasItemIn(role, $.roles) ? removeRole(role) : addRole(role)"
        (touchstart)="touched()"
        (mouseup)="touched()"
    >
      <mat-icon [ngClass]="{'hide-check': !collection.hasItemIn(role, $.roles), 'show-check': collection.hasItemIn(role, $.roles)}" class="me-1 ">check</mat-icon>
      <span>{{role.name|roleName}}</span>
    </mat-chip-option>
  </mat-chip-listbox>

CSS:
:host {
  display: block;
}

.hide-check {
  transition: width 75ms;
  width: 0;
}

.show-check {
  animation: 75ms ease-out 0s 1 show-check;
}

@keyframes show-check {
  0% {
    width: 0;
  }
  100% {
    width: unset;
  }
}

Of course, it's not as glorious as Angular Material bundled animation, but at least it works and have similar styling.

the intent is that the user isn't allowed to select it, but you can still toggle it programmatically

no.

After reading the source code:
the issue is in line (currently) 170:
https://github.com/angular/components/blob/204adb9483f052719bfed4592878550c5170d015/src/material/chips/chip-option.ts#L170
  _hasLeadingGraphic() {
    // The checkmark graphic communicates selected state for both single-select and multi-select.
    // Include checkmark in single-select to fix a11y issue where selected state is communicated
    // visually only using color (#25886).
    return this.leadingIcon || this.selectable;
  }

if this.selectable is false, then [selected] will not add the fancy checkmark (exactly what is happening) because of this function.
But if selectable is true, then 'click' event interferes with the programmatically set value.
Proposed fix:
replace
return this.leadingIcon || this.selectable

with
return this.leadingIcon || (this.selectable || this.selected)

I noticed the same and ended up submitting this fix 😄  https://github.com/angular/components/pull/25942. That being said, I assumed that your issue was about the chip not being selected at all (e.g. not receiving the blue background).

Thanks a lot for your help!
Sorry for some PA - after 11 years with Angular phrase “that’s how the framework works” triggers me a bit 😜

Assuming that the issue was only about the missing checkmark, it'll be fixed in the next RC version by https://github.com/angular/components/pull/25942. Closing the issue for now, but it can be reopened if that's not the intended behavior.

With [selectable]=false it now reflects the [selected] value.
So I have this nice animation and don't need to use mat-icon as a replacement ;)
Thank you again.


Fix gnn_explainer bug

It seems mean should be applied to feature mask here. The code below is from the original repo of gnnexplainer.
        feat_size_loss = self.coeffs["feat_size"] * torch.mean(feat_mask)
If sum is used, this loss term becomes very large compared to other loss terms. I use heatmap to visualize the output node_feat_mask, the importance of features are indistinguishable. After it is changed to mean, important features could be identified.

Actually, it depends on the domains. There might be cases where torch.mean would result in a too low value compared to the other terms. As a rule of thumb, you should fix the importance of loss terms by tuning the associated hyper-parameter (i.e, self.coeffs['feat_size'] in this case).
If you really want to define an alternative loss function (needed in some cases) you can just extend the class and override the method.
Substituting sum for mean is not likely to solve the issue for every situation.
Btw I'm not maintaining this repository, that's only my opinion :D

Thanks for the PR @yuanx749 and thanks for the clarification @danilonumeroso . It indeed looks like the official GNNExplainer code uses mean by default, and I feel like we should, too. How about we add this behaviour as an argument to GNNExplainer, similar to what PyTorch is doing for its loss functions, e.g., nll_loss via reduction="mean"?

@danilonumeroso Thank you. I notice that the coefficient of edge_size is 0.005 while node_feat_size is 1.0, the same as the official code. I think that is why they use sum in the edge mask size loss term but mean in the node feature size loss term.
So maybe these coeffs could be added as arguments for user to tune, the default values following the official setting? @rusty1s

You should be able to tune them via
GNNExplainer.coeffs['node_feat_size'] = 1.0

You should be able to tune them via
GNNExplainer.coeffs['node_feat_size'] = 1.0

Yep, of course I know. Just an opinion.


Youtube link

I'd like to include a link to my youtube in my footer. I've changed the default page to include the link, and the _config file to keep track of the URL, but I don't know how to get the icon to work. I have the image I want (attached) but need to figure out how to get it into the right format for the _svg-icons.scss file. Any sugggestions?

Fixed and merged in, see #121 :octocat:


[Docs]: update contributing guidelines

Remove npm install
Follow up of #20

It's already being removed.


Add Console Information

When we have a error on a HTTP Request, a lot of useful info is there on Request and Session tab...
For Console, would be awesome if we have the arguments and options on that command... like:
php artisan name:command arg1 arg2 --option=2

Nice idea. I like it.
Currently, all Bugsnag does on Laravel is to set the type to "HTTP", "Console", or "Queue".
I agree that having a tab with more information about the console command would be a nice feature.


Root pattern for Gradle projects?

Gradle is a build system used by JVM languages such as Java or Kotlin. A Gradle project can bei either a plain project or contain sub-project. The question is, what should the root pattern be?
A plain project will have one file build.gradle in its root directory. A project with sub-projects on the other hand will have multiple sub-directories, each with their own build.gradle, and one global settings.gradle file. In order to find the root directory we have to first search for a settings.gradle file, and only then fall back to searching for build.gradle. Otherwise the sub-project will be considered the root of the entire project.
My question is, what should the root_dir configuration be? At first I tried the following:
util.root_pattern('settings.gradle', 'build.gradle')

However, after looking at the implementation of root_pattern I can see that this is wrong. Neovim will for each directory (starting with the one containing the current file) look for all the root files first before moving up a directory. What I want is the opposite though: start with the first file, search upwards, and when that fails search for the second file.
Here is another attempt:
function(startpath)
    return util.root_pattern('settings.gradle')(startpath) or util.root_pattern('build.gradle')(startpath)
end

What do you think? Should we have a depth-first alternative for util.root_path? Or do we leave it to server configuration s to use the latter?

I slept a bit over it, and I came up with the following function:
local function root_patterns(...)
	local searchers = {}

	for _, patterns in ipairs({...}) do
		local searcher = root_pattern(unpack(patterns))
		searchers[#searchers] = searcher
	end

	return function(startpath)
		for _, searcher in ipairs(searchers) do
			local root = searcher(startpath)
			if root then return root end
		end
	end
end

We can then use it as follows:
root_dir = root_patterns({'settings.gradle', 'settings.gradle.kts'}, {'build.gradle', 'build.gradle.kts'})

As you can see, each of the arguments is a list of patterns. The reason for that is that I want to be able to specify several patters to search for in the same iteration. For example, I know that in a project with sub-projects there has to be one of two files: settings.gradle (written in Groovy) or settings.gradle.kts (written in Kotlin). There is no point in doing a depth-first search for one of them and then the other, when I could just execute a depth-first search for both at the same time.

There is no point in doing a depth-first search for one of them and then the other, when I could just execute a depth-first search for both at the same time.

Not sure how much of a concern this is, with regard to time. Otherwise this is similar to #237 .

There is no point in doing a depth-first search for one of them and then the other, when I could just execute a depth-first search for both at the same time.

Not sure how much of a concern this is, with regard to time. Otherwise this is similar to #237 .

@mizlan Yes, it sounds like the same issue to me. Anyway, I have been using my snippet above succesfully for a while now and it works at least for me (after fixing an emberrasing bug).

Not sure how much of a concern this is, with regard to time

What exactly do you mean?

@mizlan Yes, it sounds like the same issue to me. Anyway, I have been using my snippet above succesfully for a while now and it works at least for me (after fixing an emberrasing bug).

Not sure how much of a concern this is, with regard to time

What exactly do you mean?

I feel like this is a good candidate for local project configuration with .nvimrc, so you can set whatever project root you want without fiddling with the root pattern.

I feel like this is a good candidate for local project configuration with .nvimrc, so you can set whatever project root you want without fiddling with the root pattern.

@mjlbach You mean by putting a .nvimrc file in the project directory that sets the configuration of the project? I think that should be a last resort for when someone has an unusual project structure. A multi-module project is a completely standard thing to do in Gradle and in my opinion this should work out of the box.

@mjlbach You mean by putting a .nvimrc file in the project directory that sets the configuration of the project? I think that should be a last resort for when someone has an unusual project structure. A multi-module project is a completely standard thing to do in Gradle and in my opinion this should work out of the box.

In that case, does:
function(startpath)
    return util.root_pattern('settings.gradle')(startpath) or util.root_pattern('build.gradle')(startpath)
end

Not provide the correct directory?  I'd like to avoid adding a bunch of handlers and prefer to show how to compose these. The actual search time is incredibly short.

In that case, does:
function(startpath)
    return util.root_pattern('settings.gradle')(startpath) or util.root_pattern('build.gradle')(startpath)
end

Not provide the correct directory?  I'd like to avoid adding a bunch of handlers and prefer to show how to compose these. The actual search time is incredibly short.

Yes, that would do it. My idea was to have a higher-level util function which can be re-used, otherwise one has to type out that pattern every single time (we now have two servers where this is necessary). That's my proposal at least, I leave the decision to the repo maintainers.

Yes, that would do it. My idea was to have a higher-level util function which can be re-used, otherwise one has to type out that pattern every single time (we now have two servers where this is necessary). That's my proposal at least, I leave the decision to the repo maintainers.

Yeah, I totally sympathize with that idea as well. My completely very non-set opinion is that we should just add this workaround (for now), and then look through the root patterns in 6 months or so once we have a number of servers, and see what root patterns would actually benefit from a more general utility function.
If it's only 2/60 odd servers, not worth adding a separate function. If it ends up being 100/300, then probably worth some refactoring :)

Yeah, I totally sympathize with that idea as well. My completely very non-set opinion is that we should just add this workaround (for now), and then look through the root patterns in 6 months or so once we have a number of servers, and see what root patterns would actually benefit from a more general utility function.
If it's only 2/60 odd servers, not worth adding a separate function. If it ends up being 100/300, then probably worth some refactoring :)

If it's only 2/60 odd servers, not worth adding a separate function. If it ends up being 100/300, then probably worth some refactoring :)

IMO, it's not about the number of servers as much as that the expectation from root_pattern is that it checks files in order. I might argue that the default behaviour is not right.
My naive assumption is that many people might be having issues with their config or think that it doesn't work because of that, without even noticing. nvim-lspconfig should have sane defaults & IMO one of them is that root_pattern should search in order of the list provided (it was definitely a surprising behaviour for me that it didn't). And document the behaviour so anyone can modify it if needed.
This is by not criticism, it's just my 2 cents on the issue.

If it's only 2/60 odd servers, not worth adding a separate function. If it ends up being 100/300, then probably worth some refactoring :)

IMO, it's not about the number of servers as much as that the expectation from root_pattern is that it checks files in order. I might argue that the default behaviour is not right.
My naive assumption is that many people might be having issues with their config or think that it doesn't work because of that, without even noticing. nvim-lspconfig should have sane defaults & IMO one of them is that root_pattern should search in order of the list provided (it was definitely a surprising behaviour for me that it didn't). And document the behaviour so anyone can modify it if needed.
This is by not criticism, it's just my 2 cents on the issue.

@ahmedelgabri root_pattern does check files in order, the issue is how it traverses directories. Starting with the directory of the file it checks for the patterns in the order they are given, then it moves up one directory, checks the patterns in the order they are given, moves up one directory, and so one until one pattern matches.
Thus if you have a list like {foo, bar, baz} and a directory structure like
├── foo
└── source
    └── bar

It will match source/bar. If there was also a file source/foo, then that would have been mached before source/bar because foo comes before bar.

@ahmedelgabri root_pattern does check files in order, the issue is how it traverses directories. Starting with the directory of the file it checks for the patterns in the order they are given, then it moves up one directory, checks the patterns in the order they are given, moves up one directory, and so one until one pattern matches.
Thus if you have a list like {foo, bar, baz} and a directory structure like
├── foo
└── source
    └── bar

It will match source/bar. If there was also a file source/foo, then that would have been mached before source/bar because foo comes before bar.

Thanks, @HiPhish, yeah I meant the way it resolves them. I made a mistake there.

Thanks, @HiPhish, yeah I meant the way it resolves them. I made a mistake there.

Hi all, please give feedback on #671 if you have the time

Hi all, please give feedback on #671 if you have the time

Hi all, please give feedback on #671 if you have the time

Looks good to me.

Hi all, please give feedback on #671 if you have the time

Looks good to me.

Closed via #370

Closed via #370


Parent/Child closure description is the same for both bullets

[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5cf7e4fd-6d9e-6a93-c2ff-b53f9a130427
Version Independent ID: d7f5244b-7ceb-7d03-68ce-f8199314506a
Content: Define settings for parent and child cases (Dynamics 365 for Customer Service)
Content Source: ce/customer-service/define-settings-parent-child-cases.md
Service: dynamics-365-customerservice
Product: unspecified
GitHub Login: @anjgupta
Microsoft Alias: anjgup

The feedback has been incorporated and will be live in the next merge. Hence marking this request as closed.


Update CRW che-devfile-registry image to 0.11.0

Fixes: #628

Note: CheCluster CR installation completed fine. Codewind workspace creation completed with no errors. Project creation is not quite working (codewind project explorer empty. Error shown when creating a new project using a codewind command). I made John and Tim Etchells aware of this.
Having said that, those error should not affect this delivery. If changes are made to the che-devfile-registry image, the 0.11.0 image will be refreshed.


serializer_class must be specified even when using @view_config(request_serializer=...)

DRF OpenAPI version: 1.0 (installed from pypi)
Python version: 3.6
Operating System: Fedora 26

Description
When adding a view_config decorator to a APIView method the request_serializer parameter is ignored when viewing the schema. The only way to get the request body rendered is by adding a serializer_class to the APIView
What I Did
from django.conf.urls import url
from drf_openapi.utils import view_config
from rest_framework import status
from rest_framework.views import APIView
from rest_framework.parsers import FormParser, MultiPartParser
from rest_framework.response import Response

from . import serializers

class UploadView(APIView):
    serializer_class = serializers.UploadRequestSerializer # <---- should not be needed
    parser_classes = (FormParser, MultiPartParser)

    @view_config(
        request_serializer=serializers.UploadRequestSerializer,
        response_serializer=serializers.UploadResponseSerializer)
    def post(self, request, version, format=None):
        req = self.request_serializer(data=request.data)
        req.is_valid(raise_exception=True)
        upload = req.save()
        res = self.response_serializer(upload)
        return Response(res.data, status=status.HTTP_201_CREATED)

When leaving out the serializer_class no request body is shown in the schema. This is obviously a limitation when post and put do not use the same request serializer.
As the example in the documentation does not use the serializer_class I think this must be a bug: https://drf-openapi.readthedocs.io/en/latest/usage.html#add-schema-to-a-view-method

This is odd. Thanks. Gonna investigate.

I'm having more troubles with this than initially thought. I tried using the @view_config decorator in a ViewSet and had to realize that I need to specify a different request_serializer for the list and create method. Therefore the serializer_class doesn't help much.
I tried digging into it...
https://github.com/limdauto/drf_openapi/blob/9813af66ff2e71f34bfb32643649b2140694a63e/drf_openapi/entities.py#L153
https://github.com/limdauto/drf_openapi/blob/9813af66ff2e71f34bfb32643649b2140694a63e/drf_openapi/entities.py#L278
I found that fields is only populated by fields from the serializer_class ignoring the method.request_serializer. If I understand the code correctly this part of the code should be patched.

I just realized that I messed up the get_serializer_class method in my pull request. It needs to use serializer_class and "get_serializer_class" from the view and response_serializer from the view_func. Right now it tried to load everything from the view_func which is just wrong.

I haven't really merged / carefully reviewed your PR so please feel free to amend it.

Just a friendly bump on this PR - it's a bit of a deal breaker for me to use this project.
@bikeshedder are you done making your updates?

This bug should be fixed with in 1.2.0. /cc @werwty

Sorry for not responding earlier. I recently moved away from DRF and DRF OpenAPI and try my luck with a schema first attempt using Connexion. I'm glad that this issue is fixed in the latest release of DRF OpenAPI.


Fix error that null is displayed when number of registrations is 0.

This PR fixes error that null is displayed when number of registrations is 0.
$ ngsi list registrations -P
null

Coverage remained the same at 100.0% when pulling e0efff5f5181bc38dbf38ddaad06ed4e8e593d3d on fisuda:fix/registration into 07f6a4453070d7d3d1d3bd94bd9757b3d7c3a407 on lets-fiware:main.

Coverage remained the same at 100.0% when pulling e0efff5f5181bc38dbf38ddaad06ed4e8e593d3d on fisuda:fix/registration into 07f6a4453070d7d3d1d3bd94bd9757b3d7c3a407 on lets-fiware:main.


Teams in Important considerations

Does this list also work independently of the list in Microsoft Teams or will this be synced to Microsoft Teams & Skype for Business Online?
(1) Teams > Org-wide settings > External access > Domain list
(2) Teams > Legacy portal > Organizaion > External communications > blocked or allowed domains
The "Collaboration restrictions" is set to "Allow invitations only to the specified domains (most restrictive)" in our Tenant

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9e4ee507-3d48-d93b-8f6c-59279b1c0eda
Version Independent ID: 60683a55-6e81-0e9e-f8fe-2e1ff37c262e
Content: Allow or block invites to specific organizations - Azure AD
Content Source: articles/active-directory/b2b/allow-deny-list.md
Service: active-directory
Sub-service: b2b
GitHub Login: @msmimart
Microsoft Alias: mimart

@weyCC81 Thanks for your feedback! We will investigate and update as appropriate.

hey @weyCC81 there should be two layers of security, there's the aad security and then the teams security, so you can assume they are two separate pieces of software. Please let us know if you have anymore questions otherwise I will be closing this out by end of day today.

If you have any issues implementing this, please post your concerns with details in the Q&A forums and further troubleshooting can be handled there https://docs.microsoft.com/answers/index.html


[documentation] broken link in /docs/guide/cognito/setup.md

aws-alb-ingress-controller/docs/guide/cognito/setup.md
https://github.com/kubernetes-sigs/aws-alb-ingress-controller/blob/master/docs/guide/cognito/setup.md#deploying-an-ingress
the cognito-ingress-template its not there!
thanks!

here is:
https://github.com/kubernetes-sigs/aws-alb-ingress-controller/blob/master/docs/examples/cognito-ingress-template.yaml

https://github.com/kubernetes-sigs/aws-alb-ingress-controller/pull/936


Task Module - Input.Text doesn't accept Enter key on browser

Our bot uses REST API and response to a Bot button card with a Task module/dialog with a few Input.Text entries. The dialog is rendered as expected. It works perfectly on native Mac OS app. However, on browsers (Chrome, Edge), it doesn't accept Enter key. Here is the payload that our bot returns to a Bot card button task/fetch invoke event
{
  "task": {
    "type": "continue",
    "value": {
      "title": "Enter your standup for General",
      "width": "large",
      "height": "large",
      "card": {
        "content": {
          "body": [
            {
              "text": "What did you do yesterday?",
              "weight": "bolder",
              "isRequired": false,
              "type": "TextBlock"
            },
            {
              "id": "0",
              "isMultiline": true,
              "maxLength": 5000,
              "placeholder": "Enter text",
              "isRequired": true,
              "type": "Input.Text"
            },
            {
              "text": "What will you do ?",
              "weight": "bolder",
              "isRequired": false,
              "type": "TextBlock"
            },
            {
              "id": "1",
              "isMultiline": true,
              "maxLength": 5000,
              "placeholder": "Enter text",
              "isRequired": true,
              "type": "Input.Text"
            },
            {
              "text": "Are there any impediments in your way?",
              "weight": "bolder",
              "isRequired": false,
              "type": "TextBlock"
            },
            {
              "id": "2",
              "isMultiline": true,
              "maxLength": 5000,
              "placeholder": "Enter text",
              "isRequired": true,
              "type": "Input.Text"
            }
          ],
          "actions": [
            {
              "title": "Submit",
              "data": {
                "action": "dialog_submission",
                "skey": "2020-11-27",
                "pid": "99",
                "pstad": "0",
                "sid": "44"
              },
              "type": "Action.Submit"
            }
          ],
          "type": "AdaptiveCard",
          "version": "1.0",
          "$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
        },
        "contentType": "application/vnd.microsoft.card.adaptive"
      }
    }
  }
}

Which is rendered as below screenshot:

The dialog works perfectly with Enter key on native Mac OS app, but doesn't work on any browsers
My implementation is based on https://docs.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/what-are-task-modules#the-taskinfo-object. Is there any advise?
It was brieftly discussed in https://github.com/microsoft/AdaptiveCards/issues/5086

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 501d3295-997c-d252-d458-534673b36a52
Version Independent ID: c90dcc98-df65-b45b-4f78-64d2cab91852
Content: What are task modules? - Teams
Content Source: msteams-platform/task-modules-and-cards/what-are-task-modules.md
Product: msteams
GitHub Login: @clearab
Microsoft Alias: anclear

@baole , Were you able to submit task module data on Enter in desktop client? I've not seen where we directly submit data through enter, there should be on submit button.

Hi @Trinetra-MSFT ,
It's not about submitting dialog with Enter key, it's about Enter key doesn't create a new line in the textarea on the dialog on browser. It does create a new line on desktop client however.

@baole , Thanks for confirming, enter key is working for me in browser
.
my teams is running on windows so this can be related to OS.

I'm using Mac OS. Input.Text is rendered differently. @Trinetra-MSFT which OS do you use?

@baole , I'm running Teams on windows, I've filed a Bug for this, Will get back to you once this got resolved


Add a new kind of alert rules - NRT

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[x] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
If updating an existing version, please select the specific langauge SDKs and CLIs that must be refreshed after the swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No refresh required for updates in this PR

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[x] Check this box if any of the following apply to the PR so that label “WaitForARMFeedback” will be added automatically to begin ARM API Review. Failure to comply may result in delays to the manifest.

Adding a new service
Adding new API(s)
Adding a new API version
-[x] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits.

[x] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If any of the following scenarios apply to the PR, request approval from the Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in a stable version
[ ] Removing properties in a stable version
[ ] Removing API version(s) in a stable version
[ ] Updating API in a stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.
Main changes:

Added a new kind - NRT
Added NrtAlertRule
Added NrtRuleTemplate
As Nrt and Scheduled rules have many common properties, added QueryBasedAlertRuleProperties to have to common properties in one place.
so eventually ScheduledAlertRuleProperties and NrtAlertRuleProperties extend QueryBasedAlertRuleProperties and the same for Templates- ScheduledAlertRuleTemplateProperties and NrtAlertRuleTemplateProperties extend QueryBasedAlertRuleTemplateProperties

@necoh
If you need it merged, you will need approval from @anat-gilenson

@necoh
OK, all clear, let me know when it need merged.

@weidongxu-microsoft ,
could you please merge this PR for me? :)

@necoh
OK, all clear, let me know when it need merged.

it can be merged, thanks :)


Stale Powershell Scripts in Debugger

Issue Type: Bug
Frequently, when I go to Debug powershell scripts it is debugging against a version before my last changes.
The breakpoints and error messages don't match what is displayed but match a version before my most recent changes.
I have to regulary relaunch Visual Studio Code to refresh the debugger to run the code that I see.
VS Code version: Code 1.33.1 (51b0b28134d51361cf996d2f0a1c698247aeabd8, 2019-04-11T08:27:14.102Z)
OS version: Windows_NT x64 10.0.17763

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (8 x 3408)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Memory (System)
31.89GB (12.00GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (1)

Extension
Author (truncated)
Version

powershell
ms-
1.12.1

Please file against powershell extension. Thank you


customLocalizationBlock in obj-c

Anyone can please convert it to obj-c syntax please?
DKImagePickerControllerResource.customLocalizationBlock = { title in
if title == "picker.select.title" {
return "Test(%@)"
} else {
return nil
}
}

Used and build error, No "customLocalizationBlock" property on V4.0.2
How to fix it?

Hi @bochitan My mistake :( As a workaround, try this:
pod 'DKImagePickerController', :git => 'https://github.com/zhangao0086/DKImagePickerController.git', :branch => 'develop'

thanks for your reply :)


NuGet packages not available for pre-release versions of 5.7

Acknowledgement

[x] I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.

Comment
I was looking to test the update Microsoft.TypeScript.MSBuild nuget package v5.7 (any prerelease) buy couldn't find them in nuget.org. Are pre-release versions no longer being published? Can we still expect the stable release to be published as nuget?

Hi! We are still publishing. We had some issues with the release that are now resolved. We should have the nuget available very soon. Sorry about that! J


the OnItemExpandCollapseListener not work!

I want to change the icon of the toggleButton when I click the btn.So I set a OnItemExpandCollapseListener on the SlideExpandableListAdapter,but not work. When I debug,the listener is null.Why?

Same problem here. Why is it closed?

Ok, I think I got it. In SlideExpandableListView.java line 44 a new SlideExpandableListAdapter is initialized, but documentation instead says that we are supposed to pass it.
In documentation:

Wrap your ListAdapter
list.setAdapter(new SlideExpandableListAdapter(adapter, ...));

But in code:
public void setAdapter(ListAdapter adapter) {
    this.adapter = new SlideExpandableListAdapter(adapter);
    super.setAdapter(this.adapter);
}

Basically our custom SlideExpandableListAdapter, the one with our expand/collapse listener, is wrapper into another, new SlideExpandableListAdapter, which has no listener obviously.
This is a major issue in my opinion. If you think about it, the list adapter is wrapped two times with no reason at all. We should change the code (i.e. assigning the SlideExpandableListAdapter directly, without wrapping it) or the documentation (i.e. it should be said that we must pass the normal list adapter, not the SlideExpandableListAdapter, but then provide a getSlideExpandableListAdapter() method, so we can grab it and set out listener).
Hope the author will make a decision! I'm ready to provide a pull request, but there's a choice to be made and it must be made by @tjerkw

Hi @lorenzos could you please show us the solution? I can't figure out how to resolve this issue.
Thanks

Hi @MarcoMirisola
I didn't provide a pull request because I proposed two solutions that works both, but are different in architecture. I was waiting for a reply by @tjerkw on which is its favourite, and then I forgot this at all.
First proposed solution
Remove both the setAdapter methods in the SlideExpandableListView class and replace them with this now:
public void setAdapter(SlideExpandableListAdapter adapter) {
	this.adapter = adapter;
	super.setAdapter(this.adapter);
}

Second proposed solution
If I remeber well, I ended up chosing this one. Add the following method in the SlideExpandableListView class:
public SlideExpandableListAdapter getSlideExpandableListAdapter() {
	return adapter;
}

Change the setup code in your application from:
list.setAdapter(new SlideExpandableListAdapter(adapter, ...));

To:
list.setAdapter(adapter, ...);

Now, when you want to attach the listener, you do on it the instance returned by the new method, not on your original adapter:
list.getSlideExpandableListAdapter().setItemExpandCollapseListener(...)

Thanks @lorenzos! I've used your second solution and it works perfectly. I hope @tjerkw replays you.


Default hardware BackButton behavior is eliminated when the Modal is visible but no onBackButtonPress is specified

Environment
System:
    OS: macOS 11.6
    CPU: (8) x64 Intel(R) Core(TM) i5-8257U CPU @ 1.40GHz
    Memory: 81.05 MB / 8.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.17.1 - /usr/local/opt/node@14/bin/node
    Yarn: Not Found
    npm: 6.14.13 - /usr/local/opt/node@14/bin/npm
    Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.2 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK:
      API Levels: 28, 29, 30
      Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.1, 30.0.2
      System Images: android-24 | Intel x86 Atom_64, android-28 | Intel x86 Atom_64, android-29 | Intel x86 Atom_64, android-30 | Google APIs Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.0 AI-193.69<IP_ADDRESS>26763
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_262 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: 0.65.1 => 0.65.1
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Platforms
Android

Versions

Android: 30
iOS: 14.4
react-native-modal: 13.0.0
react-native: 0.65.1
react: 17.0.2
Description & Reproducible Demo
After upgrading the package to version 13.0.0 my team and I noticed some unexpected behavior on how the app responds to hardware back button presses when the Modal is visible.
More specifically, rendering a Modal visible but omitting the onBackButtonPress, results in earlier back button subscriptions to not be getting called.
Steps to reproduce are:

Setup a parent view that registers a BackHandler listener and renders a child View
In the child view, render a Modal and omit its onBackButtonPress prop
Set Modal's prop visible=true
Press the back button, notice that the first handler registered in step 1 is not getting called.

Example
Run this snack on Android: https://snack.expo.dev/uZ2_p6RkK
In this demo app, a simple react-navigation Stack Navigator manages two screens.
The Navigator internally registers a BackHandler that pops a screen from the stack each time it's called. Notice that when the modal is visible, the Navigator's BackHandler never runs.
Why it happens
Looking through the source code we pinned down the cause to this line:
  onBackButtonPress = () => {
    if (this.props.onBackButtonPress && this.props.isVisible) {
      this.props.onBackButtonPress();
      return true;
    }
    return false;
  };

Omitting the onBackButtonPress prop should result in not entering the if statement, thus returning false and allowing other handlers registered earlier to be called.
However, the component's default props set the onBackButtonPress prop to an empty function. So, omitting the prop means the default prop takes its place, getting initialised to an empty function instead of it being undefined.
Empty functions are truthy, so whenever the Modal is visible the if branch is entered, calling the empty function and then returning true, which in turn prevents all previous handlers registered from getting called.
We have two proposals for this:
Solution 1
Allow the prop to also be null. Setting it to null overrides the default empty function prop, so now it  properly is falsy and the if branch is not entered.
This seems to be the easiest way, but the API gets dirty. This requires a change in the types and the documentation as well, describing how to correctly omit a back handler in modals and let the parent deal with that.
Solution 2
Do not default the prop to an empty function, leave it undefined so that the if branch is not entered.
Not sure if this is has any implications with the rest of the implementation though or even if the current behavior is actually intended.

Hey @KostasLib , thanks so much for this fantastic issue description 🙌
I can't test it right now, but I agree, the API for this is confusing.
Before going any further, there's also one thing that we might wanna take into account. A long time has passed since the initial implementation of the back handler flow, so I had to refresh a bit how it works: by checking the React Native's built-in modal onRequestClose API it seems that it overrides the built-in back-button press behavior. If that's the case, I don't think that solution 1 would work here, right? Could you give it a try (sorry can't run the Expo snack now 😞 ) by updating the Expo snack providing null to onBackButtonPress?

Hey @KostasLib , thanks so much for this fantastic issue description 🙌 I can't test it right now, but I agree, the API for this is confusing.
Before going any further, there's also one thing that we might wanna take into account. A long time has passed since the initial implementation of the back handler flow, so I had to refresh a bit how it works: by checking the React Native's built-in modal onRequestClose API it seems that it overrides the built-in back-button press behavior. If that's the case, I don't think that solution 1 would work here, right? Could you give it a try (sorry can't run the Expo snack now 😞 ) by updating the Expo snack providing null to onBackButtonPress?

Passing null seems to work but we got a linting error.

Before going any further, there's also one thing that we might wanna take into account. A long time has passed since the initial implementation of the back handler flow, so I had to refresh a bit how it works: by checking the React Native's built-in modal onRequestClose API it seems that it overrides the built-in back-button press behavior. If that's the case, I don't think that solution 1 would work here, right? Could you give it a try (sorry can't run the Expo snack now 😞 ) by updating the Expo snack providing null to onBackButtonPress?

@mmazzarolo contrary to @Splanis' report — not sure why we are seeing different outcomes 😕 — I found that adding onBackButtonPress={null} does not change the outcome of pressing the hardware back button. I updated the reproduction Snack to showcase this. I would imagine this is caused by the React Native Modal documentation you referenced.

Warning for modal users: If your app shows an opened Modal, BackHandler will not publish any events.

The onRequestClose callback is called when the user taps the hardware back button on Android or the menu button on Apple TV. Because of this required prop, be aware that BackHandler events will not be emitted as long as the modal is open.

If an open Modal prevents bubbling of the BackHandler event, I am not sure of a library-specific solution to address this. I would imagine this would need to be managed in application leveraging react-native-modal library.

Hey @dcalhoun, thanks for giving it a try — that's what I was suspicious about as well. Open to suggestions, but I think this might need to be handled by the react-native-modal consumer :/


Pinned planning entity results in NullPointerException

With the current main branch, I've run into a bug with a pinned planning entity.
Error is reported as:
21:39:01.401 [main        ] INFO  Construction Heuristic phase (0) ended: time spent (25), best score (-2init/0hard/-2soft), score calculation speed (2500/sec), step total (2).
Traceback (most recent call last):
  File "DefaultSolver.java", line 209, in org.optaplanner.core.impl.solver.DefaultSolver.solve
Exception: Java Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/mmmvvvppp/workspaces/optapy_crash/venv/lib/python3.10/site-packages/optapy/optaplanner_api_wrappers.py", line 384, in solve
    return _unwrap_java_object(self._java_solve(wrapped_problem))
java.lang.java.lang.NullPointerException: java.lang.NullPointerException: Cannot invoke "org.optaplanner.core.api.score.buildin.hardsoft.HardSoftScore.getInitScore()" because "subtrahend" is null

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/mmmvvvppp/workspaces/optapy_crash/main.py", line 52, in <module>
    main()
  File "/Users/mmmvvvppp/workspaces/optapy_crash/main.py", line 46, in main
    solution = solve_tool(solution)
  File "/Users/mmmvvvppp/workspaces/optapy_crash/main.py", line 22, in solve_tool
    solution = solver.solve(problem)
  File "/Users/mmmvvvppp/workspaces/optapy_crash/venv/lib/python3.10/site-packages/optapy/optaplanner_api_wrappers.py", line 391, in solve
    raise RuntimeError(error_message) from e
RuntimeError: An error occurred during solving. This can occur when functions take the wrong number of parameters (ex: a setter that does not take exactly one parameter) or by a function returning an incompatible return type (ex: returning a str in a filter, which expects a bool). This can also occur when an exception is raised when evaluating constraints/getters/setters.

Minimal example builds on #154 but hardcodes two of the PlanningEntities to be pinned based on the planning_id
https://github.com/mmmvvvppp/optapy166
Also note that my more complex local version does not seem to report the NullPointerException, but does yield the supremely broad "RuntimeError", so it's possible I've not completely captured the issue I'm seeing locally.
Also note that this issue appears to be present from 8.23.0a0 onwards.

I looked at your example, it not a bug, but you fed OptaPy (and thus OptaPlanner) an invalid model: you pinned two non-nullable entities to None, meaning Local Search cannot start (as Local Search requires all entities to be initialized). If you make the planning variable nullable, the issue disappears. The issue also disappears if you keep the entities not nullable and assign them the NullTool:
  tn1g = ToolNeed("A", get_glues(), "job1glues", 1, 2, selected_tool=NullTool())
  tn1l = ToolNeed("B", get_locks(), "job1locks", 1, 2, selected_tool=NullTool())

That being said, the error message could be better.

Thanks for the reply Christopher.  I'll need to go back and investigate what's happening on my end then.  I'm not pinning a nulled planning variable as far as I know.  I would certainly appreciate more descriptive errors being passed from OptaPlanner as I'm often completely clueless as to the root cause with the above error message.

Unfortunately, https://github.com/jpype-project/jpype/issues/1047 prevents this, since the cause of an exception is lost when transferring from Java to CPython (and depending on where the exception occurred, it might be wrapped).

Hi Chris, I'm going to close this issue for now.  I was unable to reproduce the error with the simplified implementation, but I did fix it on my end with a more complex implementation.  I think the issue was that the call to solve the @planning_solution was being executed in a secondary thread.  I re-architected my solution to call .solve(problem) from the main thread of the application and that seemed to resolve the issue.  I wish I was able to reproduce, but I'll update this issue if I'm able to at some point in the future.


SFTTrainer: Can we make tokenization in the trainer optional?

Currently the SFTTrainer seems to insist on tokenizing the dataset when it prepares the dataloader (see here). I think it would be nice to make that optional. The main use case I have in mind is conversational data, where you can't always tokenize an example as a whole, but you might have to tokenize turn-by-turn.
In my own such use case, I end up tokenizing in the DataCollator, but I still have to pass a text column inside the dataset just to make the SFTTrainer data loader prep work.
I'd be happy to make a PR, but just wanted to check if there are any objections?

There is no objection on my end @mgerstgrasser would you be happy to make a PR for this enhancement?

I'd be happy to, but just to check beforehand, what do you think is the best way of passing that configuration option? Right now SFTTrainer uses standard transformers TrainingArguments, which don't include a configuration option for tokenization. I assume the best way of doing it is to pass it to SFTTrainer.__init__() as a new argument? There are already arguments for the number of processes to use for tokenization there, so I guess that makes the most sense?

hi @mgerstgrasser - that's great!
I think having an arg in the sfttrainer's init sounds good, but I think we don't even need an argument as this can be detected already under the hood by inspecting the dataset's column (if it contains input_ids only for instance), if that's properly documented in the SFTTrainer docs this shouldn't be an issue. What do you think?

Any plans to implement this? How are we handling to avoid the auto tokenizing on data preparation under the hood?

Is this implemented in the latest version?


Can't login anymore

I get the following error when I'm calling the login method with my Tapo P100 device.
Traceback (most recent call last):
  File "/home/jensjp/Repos/TapoP100/PyP100/PyP100.py", line 177, in login
    self.token = ast.literal_eval(decryptedResponse)["result"]["token"]
KeyError: 'result'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/jensjp/Repos/TapoP100/test.py", line 9, in <module>
    p100.login()
  File "/home/jensjp/Repos/TapoP100/PyP100/PyP100.py", line 182, in login
    raise Exception(f"Error Code: {errorCode}, {errorMessage}")
Exception: Error Code: -1501, Invalid Request or Credentials

The decryptedResponse variable returns the error code; {"error_code":-1501}}.
All the methods worked fine until mid desember. The first occurrence of the
problem may have started with a password change to my tp-link account (not
sure).

I had the same problem when my password was longer and more complex. After I've changed it everything started to work fine.

Thanks! That worked.


fix(ui): Wrong screen footer after scanning group invitation

Description
Fixing a bug that should show the person we scanned when we are invited to a group id.
NOTES:
In the videos there is an issue with the notification not arriving on time on the emulators. I asked Fergal and this is a core issue currently being fixed in another PR.
Checklist before requesting a review
Issue ticket number and link

[x] This PR has a valid ticket number or issue: DTIS-1273

Testing & Validation

[x] This PR has been tested/validated in IOS, Android and browser.
[x] The code has been tested locally with test coverage match expectations.
[x] Added new Unit/Component testing (if relevant).

Security

[x] No secrets are being committed (i.e. credentials, PII)
[x] This PR does not have any significant security implications

Code Review

[x] There is no unused functionality or blocks of commented out code (otherwise, please explain below)
[x] In addition to this PR, all relevant documentation (e.g. Confluence) and architecture diagrams (e.g. Miro) were updated

Design Review

[x] If this PR contains changes to the UI, it has gone through a design review with UX Designer or Product owner.
[x] In case PR contains changes to the UI, add some screenshots to notice the differences

Browser
https://github.com/user-attachments/assets/93b3866d-6121-42ef-a19c-da703240a365
https://github.com/user-attachments/assets/f1f33478-2e1c-4c56-9242-6e418f8d2307
IOS / Android
https://github.com/user-attachments/assets/172299c3-303e-4ac8-a557-5c63a2ae6610

@sdisalvo-crd It's not a bug in the core - I'm saying on your particular device there may have been an issue with the notifications crashing and on the core side we're making that more resilient. But afaik it shouldn't be happening in the first case. I'd get a second opinion from one of the SotaTek guys


Want to know where the labels.txt files used in the author's training are generated?

Want to know where the \data\retinaface_labels\train\labels.txt files used in the author's training are generated?

@goldwater668  labels.txt file is used in vision/datasets/voc_dataset.py.
below is the snippet of code : which will check your custom label.txt is available that make classes according to that else take "face" and "Background" as default.
# if the labels file exists, read in the class names
label_file_name = self.root / "labels.txt"
    if os.path.isfile(label_file_name):
        class_string = ""
        with open(label_file_name, 'r') as infile:
            for line in infile:
                class_string += line.rstrip()

        # classes should be a comma separated list

        classes = class_string.split(',')
        # prepend BACKGROUND as first class
        classes.insert(0, 'BACKGROUND')
        classes = [elem.replace(" ", "") for elem in classes]
        self.class_names = tuple(classes)
        logging.info("VOC Labels read from file: " + str(self.class_names))


"uniqueItems" limitations caused by performance optimisation

Affected versions
6.x.x only, <= 5.x.x is ok
Problem
"uniqueItems" when item "type" is specified as array of types in "items" schema will coerce all items to string before comparison (so "5" will be considered equal to 5, etc.). If one of allowed types in the list is "array" or "object", uniqueItems simply won't work correctly, as all objects will be coerced as well and considered equal.
Solution
Make generated code dependent on the list of allowed types.
Related to #725

@domoritz let me know if you’re interested to fix it, I can then explain the scenarios that should be supported. It’s seems to me a bit bigger problem than #725 introduced by that performance optimisation of uniqueItems. I guess heterogenous arrays aren’t that common - that’s why nobody caught it.

I can't take on another project right now. Sorry!

Actually, I just caught it-- and then discovered that you fixed it.  Thanks!


PyPi dj-database-url points to different/old github codebase.

I have just realised that the PyPi dj-database-url is pointing to a forked version of this under a different name (https://github.com/kennethreitz/dj-database-url , 0.5.0 from 2018, and no recent activity), but this repo looks like it has more recnt active than that and more up to date with new Django versions.
Are you aware of this?
I am interested in using this. Hense, is there a 'stable/production' version of this available via Pip install?
Will your next release replace the above or be under a different name?
Kind Regards,
Hitesh Patel

@jacobian should be able to do this, or once the project is fully migrated to Jazzband then we can make the change.

my workaround is to use
<EMAIL_ADDRESS>

Please can a new version of dj-database-url be released to PyPI?
The current version is still the 0.x release.

@edmorley the release process has been kicked off.

Marking as closed 1.0.0 release is live.


Loosen some tests (#414)

Codecov Report

Merging #418 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #418   +/-   ##
=======================================
  Coverage   96.05%   96.05%
=======================================
  Files          34       34
  Lines       10706    10706
=======================================
  Hits        10283    10283
  Misses        423      423

Codecov Report

Merging #418 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #418   +/-   ##
=======================================
  Coverage   96.05%   96.05%
=======================================
  Files          34       34
  Lines       10706    10706
=======================================
  Hits        10283    10283
  Misses        423      423


Can the search be customized more finely？

①.Specify certain websites
②.Define date range
③.or add a limited range on my own

Date range is in the works. You can added specific sites by adding the field "include_domains". See here for more details: https://docs.tavily.com/docs/tavily-api/rest_api


MigrationTable.tableExists ignores schema

It seems MigrationTable.schema is always null, so at least on PG it looks for the db_migration table in any schema rather than the current one (which I'm setting via the jdbc url). If the current schema doesn't have the table but another one does it then blows up when trying to use it (as it's in the wrong schema).
It seems that absent any particular schema being configured, it should use connection.getSchema() to find the schema name.
Or maybe the simplest approach would be to just try to blindly load the migrations and handle the 'table not found' error by creating it.

Ok, the commit above just reads the schema from config and uses that (rather than it always being null).
To me that ought to fix this issue (assuming the the config has the correct schema set).
I'll close this for now. Please re-open if this doesn't work for your use case and I'll review it again.
Thanks, Rob.


http: deprecate envoy.reloadable_features.http1_connection_close_header_in_redirect

Commit Message: remove above runtime guard and update changelog
Risk Level: low
Testing: existing tests
Docs Changes: N/A
Release Notes: Yes
Platform Specific Features: N/A
Fixes #33621

/retest

coverage had a permafail so this may need a main merge


Reduce atomToStr calls to 0

Reference: https://todo.sr.ht/~bptato/chawan/8#event-390360
func getAttr*(e: Element; key: string): string {.inline} =
    let factory = e.document.factory
    for attr in e.attrs:
        if factory.atomToStr(attr.name) == key: return attr.value
    return ""

This is going to be very slow.
For best efficiency, you should try to reduce atomToStr calls to zero. In this case, the easiest fix is:
func getAttr*(e: Element; key: string): string {.inline} =
    let factory = e.document.factory
    let atomizedKey = factory.strToAtom(key)
    for attr in e.attrs:
        if attr.name == atomizedKey: return attr.value
    return ""

Why: atoms are just integers, so it's way faster to compare those than their string representation. This is also why minidom's attributes are in a seq, not a Table; linear search over a low amount of integers is fast.

*** need to reflect this within getAttrs procedure as well


Refactor maps folder

Refactor maps folder to easily include other environments using world and world_config launch file variables.
See https://github.com/DFKI-NI/mobipick/pull/5 and https://github.com/DFKI-NI/mobipick_labs/pull/35

I'm not so sure about this one. The main thing I don't like is that there are so many copied files - if a file is updated, you have to remember to update all others as well, otherwise there will be inconsistencies.
Also, what exactly is the difference between a world and a world_config? Looks to me like a world is a certain Gazebo .sdf file, and a world_config is the spawned objects. Since we also sometimes spawn a "cage" of tables with laser scan barriers, some world_configs require a different map as well.
Wouldn't it be better to split this differently? A world is anything that requires a new map, and if we need it a world_config could be the different object arrangements that don't require changing the map.