[icu] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported.

Host Environment

OS: [centos 7.9]
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
./vcpkg install icu:x64-linux
Failure logs
[root@centos-dev vcpkg]# ./vcpkg install icu:x64-linux
Computing installation plan...
The following packages will be built and installed:
icu[core]:x64-linux -> 70.1
Detecting compiler hash for triplet x64-linux...
Restored 0 packages from /root/.cache/vcpkg/archives in 5.45 us. Use --debug to see more details.
Starting package 1/1: icu:x64-linux
Building package icu[core]:x64-linux...
-- Using cached icu4c-70_1-src.tgz.
-- Cleaning sources at /usr/work/vcpkg/buildtrees/icu/src/c-70_1-src-a6ee276eef.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /usr/work/vcpkg/downloads/icu4c-70_1-src.tgz
-- Applying patch disable-escapestr-tool.patch
-- Applying patch remove-MD-from-configure.patch
-- Applying patch fix_parallel_build_on_windows.patch
-- Applying patch fix-extra.patch
-- Applying patch mingw-dll-install.patch
-- Applying patch disable-static-prefix.patch
-- Applying patch fix-win-build.patch
-- Using source at /usr/work/vcpkg/buildtrees/icu/src/c-70_1-src-a6ee276eef.clean
-- Found external ninja('1.10.2').
-- Getting CMake variables for x64-linux-dbg
-- Getting CMake variables for x64-linux-rel
CMake Error at scripts/cmake/vcpkg_host_path_list.cmake:43 (message):
Host path separator (:) in path; this is unsupported.
Call Stack (most recent call first):
scripts/cmake/vcpkg_host_path_list.cmake:72 (z_vcpkg_translate_to_host_path_list)
scripts/cmake/vcpkg_configure_make.cmake:218 (vcpkg_host_path_list)
scripts/cmake/vcpkg_configure_make.cmake:548 (z_prepend_include_path)
ports/icu/portfile.cmake:52 (vcpkg_configure_make)
scripts/ports.cmake:145 (include)
error: building icu:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with git pull and ./vcpkg update.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+icu
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[icu]+Build+error
including:
package: icu[core]:x64-linux -> 70.1
vcpkg-tool version: 2022-03-30-692785ac944e81417840c6de244fb3e18a4b35eb
vcpkg-scripts version: 99346bb69 2022-04-13 (14 hours ago)
Additionally, attach any relevant sections from the log files above.

thanks your reply, by the way when?

today， I brand new install vcpkg and vcpkg install icu:x64-linux, do not work, os: centos 7.9

@chris-shenzhen-china Failure logs please?

@.*** vcpkg]# ./vcpkg install icu:x64-linux
Computing installation plan...
The following packages will be built and installed:
    icu[core]:x64-linux -> 71.1
Detecting compiler hash for triplet x64-linux...
Restored 0 packages from /root/.cache/vcpkg/archives in 16.67 us. Use --debug to see more details.
Starting package 1/1: icu:x64-linux
Building package icu[core]:x64-linux...
-- Using cached icu4c-71_1-src.tgz.
-- Cleaning sources at /usr/work/vcpkg/buildtrees/icu/src/c-71_1-src-08c83f7de1.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /usr/work/vcpkg/downloads/icu4c-71_1-src.tgz
-- Applying patch disable-escapestr-tool.patch
-- Applying patch remove-MD-from-configure.patch
-- Applying patch fix_parallel_build_on_windows.patch
-- Applying patch fix-extra.patch
-- Applying patch mingw-dll-install.patch
-- Applying patch disable-static-prefix.patch
-- Applying patch fix-win-build.patch
-- Applying patch check-autoconf-archive.patch
-- Using source at /usr/work/vcpkg/buildtrees/icu/src/c-71_1-src-08c83f7de1.clean
-- Found external ninja('1.10.2').
-- Getting CMake variables for x64-linux-dbg
-- Getting CMake variables for x64-linux-rel
CMake Error at scripts/cmake/vcpkg_host_path_list.cmake:43 (message):
  Host path separator (:) in path; this is unsupported.
Call Stack (most recent call first):
  scripts/cmake/vcpkg_host_path_list.cmake:72 (z_vcpkg_translate_to_host_path_list)
  scripts/cmake/vcpkg_configure_make.cmake:218 (vcpkg_host_path_list)
  scripts/cmake/vcpkg_configure_make.cmake:549 (z_prepend_include_path)
  ports/icu/portfile.cmake:53 (vcpkg_configure_make)
  scripts/ports.cmake:146 (include)
error: building icu:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with git pull and ./vcpkg update.
Then check for known issues at:
  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+icu
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[icu]+Build+error
including:
  package: icu[core]:x64-linux -> 71.1
    vcpkg-tool version: 2022-03-30-692785ac944e81417840c6de244fb3e18a4b35eb
    vcpkg-scripts version: 0d7603c4e 2022-05-09 (66 minutes ago)
Additionally, attach any relevant sections from the log files above.
------------------ 原始邮件 ------------------
发件人:                                                                                "microsoft/vcpkg"                                                                                @.>;
发送时间: 2022年5月10日(星期二) 下午2:48
@.>;
<EMAIL_ADDRESS>主题: Re: [microsoft/vcpkg] [icu] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported. (Issue #24138)
@chris-shenzhen-china Failure logs please?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@chris-shenzhen-china Can you please provide your environment variable value C_INCLUDE_PATH?
@BillyONeal This issue has the same problem with #22812 but it's in other environment variables.
In this case it's C_INCLUDE_PATH.

Can you please test my PR https://github.com/microsoft/vcpkg/pull/24653 whether it works?
Thanks.

I have not tested any PR， how can I do it， could you have some info like step by step？
------------------ 原始邮件 ------------------
发件人:                                                                                "microsoft/vcpkg"                                                                                @.>;
发送时间: 2022年5月11日(星期三) 下午3:36
@.>;
<EMAIL_ADDRESS>主题: Re: [microsoft/vcpkg] [icu] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported. (Issue #24138)
Can you please test my PR #24653 whether it works?
Thanks.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@chris-shenzhen-china Check my changes and modify it in your vcpkg, then try to install icu.

I think this is not related to the envronment C_INCLUDE_PATH contains :, can you please add extra option --x-cmake-args=--trace-expand to the install command, rerun the install then provide the full output?
Thanks.

I think this is not related to the envronment C_INCLUDE_PATH contains :, can you please add extra option --x-cmake-args=--trace-expand to the install command, rerun the install then provide the full output?
Thanks.

It is easily reproducible on x64-linux:
$ export C_INCLUDE_PATH=$PWD/installed/x64-linux/include:$PWD/installed/x64-linux/include
$ ./vcpkg install icu

------------------ 原始邮件 ------------------
发件人:                                                                                "microsoft/vcpkg"                                                                                @.>;
发送时间: 2022年5月20日(星期五) 中午1:52
@.>;
<EMAIL_ADDRESS>主题: Re: [microsoft/vcpkg] [icu] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported. (Issue #24138)
I think this is not related to the envronment C_INCLUDE_PATH contains :, can you please add extra option --x-cmake-args=--trace-expand to the install command, rerun the install then provide the full output?
Thanks.
It is easily reproducible on x64-linux:
$ export C_INCLUDE_PATH=$PWD/installed/x64-linux/include:$PWD/installed/x64-linux/include $ ./vcpkg install icu
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

ar: creating libicudata.a
.././../src/c-71_1-src-08c83f7de1.clean/source/common/brkiter.cpp:282:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gInitOnceBrkiter = U_INITONCE_INITIALIZER;
^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/characterproperties.cpp:45:11: warning: declaration requires a global destructor [-Wglobal-constructors]
Inclusion gInclusions[NUM_INCLUSIONS]; // cached getInclusions()
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/characterproperties.cpp:51:13: warning: declaration requires a global destructor [-Wglobal-constructors]
icu::UMutex cpMutex;
^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/emojiprops.cpp:25:16: warning: declaration requires a global destructor [-Wglobal-constructors]
icu::UInitOnce emojiInitOnce = U_INITONCE_INITIALIZER;
^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/loadednormalizer2impl.cpp:141:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce nfkcInitOnce = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/loadednormalizer2impl.cpp:144:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce nfkc_cfInitOnce = U_INITONCE_INITIALIZER;
^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locavailable.cpp:40:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gInitOnceLocale = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locavailable.cpp:105:16: warning: declaration requires a global destructor [-Wglobal-constructors]
icu::UInitOnce ginstalledLocalesInitOnce = U_INITONCE_INITIALIZER;
^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locdistance.cpp:48:11: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce gInitOnce = U_INITONCE_INITIALIZER;
^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/loclikelysubtags.cpp:248:11: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce gInitOnce = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locid.cpp:67:18: warning: declaration requires a global destructor [-Wglobal-constructors]
static UInitOnce gLocaleCacheInitOnce = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locid.cpp:70:15: warning: declaration requires a global destructor [-Wglobal-constructors]
static UMutex gDefaultLocaleMutex;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locid.cpp:494:11: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce gKnownCanonicalizedInitOnce = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locid.cpp:685:22: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce AliasData::gInitOnce = U_INITONCE_INITIALIZER;
^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/locutil.cpp:24:25: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce   LocaleUtilityInitOnce = U_INITONCE_INITIALIZER;
^
1 warning generated.
4 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/normalizer2.cpp:186:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce noopInitOnce = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/normalizer2.cpp:248:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce nfcInitOnce = U_INITONCE_INITIALIZER;
^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/putil.cpp:1263:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gDataDirInitOnce = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/putil.cpp:1266:11: warning: declaration requires a global destructor [-Wglobal-constructors]
UInitOnce gTimeZoneFilesInitOnce = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/unicode/urename.h:122:32: note: expanded from macro 'gTimeZoneFilesInitOnce'
#define gTimeZoneFilesInitOnce U_ICU_ENTRY_POINT_RENAME(gTimeZoneFilesInitOnce)
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/unicode/uvernum.h:130:47: note: expanded from macro 'U_ICU_ENTRY_POINT_RENAME'
define U_ICU_ENTRY_POINT_RENAME(x)    U_DEF2_ICU_ENTRY_POINT_RENAME(x,U_ICU_VERSION_SUFFIX)
                                          ^

.././../src/c-71_1-src-08c83f7de1.clean/source/common/unicode/uvernum.h:129:51: note: expanded from macro 'U_DEF2_ICU_ENTRY_POINT_RENAME'
define U_DEF2_ICU_ENTRY_POINT_RENAME(x,y) U_DEF_ICU_ENTRY_POINT_RENAME(x,y)
                                              ^

.././../src/c-71_1-src-08c83f7de1.clean/source/common/unicode/uvernum.h:128:50: note: expanded from macro 'U_DEF_ICU_ENTRY_POINT_RENAME'
define U_DEF_ICU_ENTRY_POINT_RENAME(x,y) x ## y
                                             ^

:30:1: note: expanded from here
gTimeZoneFilesInitOnce_71
^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/rbbi.cpp:1156:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gLanguageBreakFactoriesInitOnce = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/rbbi.cpp:1157:23: warning: declaration requires a global destructor [-Wglobal-constructors]
static icu::UInitOnce gRBBIInitOnce = U_INITONCE_INITIALIZER;
^
2 warnings generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/serv.cpp:330:15: warning: declaration requires a global destructor [-Wglobal-constructors]
static UMutex lock;
^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/servnotf.cpp:24:15: warning: declaration requires a global destructor [-Wglobal-constructors]
static UMutex notifyLock;
^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/static_unicode_sets.cpp:132:16: warning: declaration requires a global destructor [-Wglobal-constructors]
icu::UInitOnce gNumberParseUniSetsInitOnce = U_INITONCE_INITIALIZER;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:40:34: error: no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?
return (sizeInBytes + sizeof(std::max_align_t) - 1) / sizeof(std::max_align_t);
^~~~~
/usr/bin/../lib/clang/3.4.2/include/stddef.h:94:3: note: 'max_align_t' declared here
} max_align_t;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:40:66: error: no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?
return (sizeInBytes + sizeof(std::max_align_t) - 1) / sizeof(std::max_align_t);
^~~~~
/usr/bin/../lib/clang/3.4.2/include/stddef.h:94:3: note: 'max_align_t' declared here
} max_align_t;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:39:26: error: no return statement in constexpr function
static constexpr int32_t sizeInMaxAlignTs(int32_t sizeInBytes) {
^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:144:31: error: no member named 'max_align_t' in namespace 'std'
icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
~~~~~^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:144:79: error: C++ requires a type specifier for all declarations
icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:238:31: error: no member named 'max_align_t' in namespace 'std'
icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;
~~~~~^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:238:83: error: C++ requires a type specifier for all declarations
icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;
^~
7 errors generated.
make[1]: *** [uarrsort.ao] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [all-recursive] Error 2

today，ubuntu1804 install icu success, but centos 7.9 failed, error info:  no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?

.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:40:34: error: no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?
    return (sizeInBytes + sizeof(std::max_align_t) - 1) / sizeof(std::max_align_t);
                                 ^~~~~
/usr/bin/../lib/clang/3.4.2/include/stddef.h:94:3: note: 'max_align_t' declared here
} max_align_t;
  ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:40:66: error: no member named 'max_align_t' in namespace 'std'; did you mean simply 'max_align_t'?
    return (sizeInBytes + sizeof(std::max_align_t) - 1) / sizeof(std::max_align_t);
                                                                 ^~~~~
/usr/bin/../lib/clang/3.4.2/include/stddef.h:94:3: note: 'max_align_t' declared here
} max_align_t;
  ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:39:26: error: no return statement in constexpr function
static constexpr int32_t sizeInMaxAlignTs(int32_t sizeInBytes) {
                         ^
1 warning generated.
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:144:31: error: no member named 'max_align_t' in namespace 'std'
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
                         ~~~~~^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:144:79: error: C++ requires a type specifier for all declarations
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE)> v;
                                                                              ^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:238:31: error: no member named 'max_align_t' in namespace 'std'
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;
                         ~~~~~^
.././../src/c-71_1-src-08c83f7de1.clean/source/common/uarrsort.cpp:238:83: error: C++ requires a type specifier for all declarations
    icu::MaybeStackArray<std::max_align_t, sizeInMaxAlignTs(STACK_ITEM_SIZE) * 2> xw;

Which gcc version do you use?

root@centos-dev vcpkg]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-11/root/usr/libexec/gcc/x86_64-redhat-linux/11/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-11/root/usr --mandir=/opt/rh/devtoolset-11/root/usr/share/man --infodir=/opt/rh/devtoolset-11/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-11.2.1-20210728/obj-x86_64-redhat-linux/isl-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.2.1 20210728 (Red Hat 11.2.1-1) (GCC)
You have new mail in /var/spool/mail/root
[root@centos-dev vcpkg]#

root@centos-dev vcpkg]# clang -v
clang version 3.4.2 (tags/RELEASE_34/dot2-final)
Target: x86_64-redhat-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.2
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.8.2
Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/4.8.5
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-redhat-linux/4.8.5
[root@centos-dev vcpkg]#

but clang version is old

Can you please provide the full log?

build-x64-linux-dbg-err.log
build-x64-linux-dbg-out.log

We solved the "Host path separator (:) in path; this is unsupported" issue. Can new issues be treated in new GH issues?

sure

Should be the same issue with https://github.com/catchorg/Catch2/issues/334.

Do I need to upgrad clang compiler?

today install icu, not work yet. i update centos and  install vcpkg this moring.
@.*** vcpkg]# ./vcpkg install icu:x64-linux
Computing installation plan...
The following packages will be built and installed:
    icu[core]:x64-linux -> 71.1
Detecting compiler hash for triplet x64-linux...
Restored 0 packages from /root/.cache/vcpkg/archives in 16.67 us. Use --debug to see more details.
Starting package 1/1: icu:x64-linux
Building package icu[core]:x64-linux...
-- Using cached icu4c-71_1-src.tgz.
-- Cleaning sources at /usr/work/vcpkg/buildtrees/icu/src/c-71_1-src-08c83f7de1.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source /usr/work/vcpkg/downloads/icu4c-71_1-src.tgz
-- Applying patch disable-escapestr-tool.patch
-- Applying patch remove-MD-from-configure.patch
-- Applying patch fix_parallel_build_on_windows.patch
-- Applying patch fix-extra.patch
-- Applying patch mingw-dll-install.patch
-- Applying patch disable-static-prefix.patch
-- Applying patch fix-win-build.patch
-- Applying patch check-autoconf-archive.patch
-- Using source at /usr/work/vcpkg/buildtrees/icu/src/c-71_1-src-08c83f7de1.clean
-- Found external ninja('1.10.2').
-- Getting CMake variables for x64-linux-dbg
-- Getting CMake variables for x64-linux-rel
CMake Error at scripts/cmake/vcpkg_host_path_list.cmake:43 (message):
  Host path separator (:) in path; this is unsupported.
Call Stack (most recent call first):
  scripts/cmake/vcpkg_host_path_list.cmake:72 (z_vcpkg_translate_to_host_path_list)
  scripts/cmake/vcpkg_configure_make.cmake:218 (vcpkg_host_path_list)
  scripts/cmake/vcpkg_configure_make.cmake:549 (z_prepend_include_path)
  ports/icu/portfile.cmake:53 (vcpkg_configure_make)
  scripts/ports.cmake:146 (include)
error: building icu:x64-linux failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with git pull and ./vcpkg update.
Then check for known issues at:
  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+icu
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[icu]+Build+error
including:
  package: icu[core]:x64-linux -> 71.1
    vcpkg-tool version: 2022-03-30-692785ac944e81417840c6de244fb3e18a4b35eb
    vcpkg-scripts version: 0d7603c4e 2022-05-09 (66 minutes ago)
Additionally, attach any relevant sections from the log files above.
------------------ 原始邮件 ------------------
发件人:                                                                                "microsoft/vcpkg"                                                                                @.>;
发送时间: 2022年5月10日(星期二) 上午8:23
@.>;
<EMAIL_ADDRESS>主题: Re: [microsoft/vcpkg] [icu] build failure icu 70.1, error: Host path separator (:) in path; this is unsupported. (Issue #24138)
Closed #24138 via #23429.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

Host path separator (:) in path; this is unsupported.

Which path did you clone your vcpkg?

vcpkg-tool version: 2022-03-30-692785ac944e81417840c6de244fb3e18a4b35eb
vcpkg-scripts version: https://github.com/microsoft/vcpkg/commit/0d7603c4efc351da97b43c1952ba943e76f9b35f 2022-05-09 (66 minutes ago)

You must upgrade to receive bug fixes.
git pull
./booststrap.sh
./vcpkg upgrade --no-dry-run


Home page banner

Description
[Landing page hero image and title] https://trello.com/c/QWkOCj4B/57-landing-page-hero-image-and-title
Added a banner to look as close as possible to the https://www.canada.ca/en.html banner.
For the hard-coded strings as English, we will need to change it when i18n is incorporated into the project.
Acceptance Criteria
Content AC:

consists of a title, followed by short byline
the site title and byline appear in a dark blue box
the site title is presented as an H1, with a red horizontal rule underneath
the byline appears immediately below the site title

Image AC:

images must be photographic (no illustration or abstract imagery)
choose images that show seasonal details (e.g. snow in winter, flowers in spring)
avoid images of people or faces as these are distracting
the banner image appears across the full width of the page, underneath the site header and behind the box containing the site title and headline

Test Instructions

Navigate to branch called: homePageBanner
runthe comand: npm run dev
see the banner on the home page.
Test different width including mobile.

Help Requested
Any feedback is greatly appreciated. I am new to JavaScript unit test and Storybook.
Checklist

[ ] Strings use placeholders for translation (No hard coded strings)
[ x] Unit tests have been added/updated

Product and Sprint Backlog
https://trello.com/c/QWkOCj4B/57-landing-page-hero-image-and-title

I feel it's too long on the medium max size, but we can leave it for now (until we have a better site layout). eg, on https://www.canada.ca/en.html, it never gets that big.

This will be adjusted once we have left and right margin for with layout.

Two small feedbacks.

When the overlay hits the left-hand side of the screen, it should be full-bleed

It's the orange part there that's missing. I get that as the screen squeezes down it will touch both sides of the screen, but we should just force it to do that.

Can you do a screenshot of your change in your PR description since it's a visual change, in future?

Banner request fixed and I will include a screenshot for future visual PR's :)


QUIRREL_BASE_URL should not be necessary at build time

Feature Request
When Quirrel is integrated with Blitz or maybe this counts for Next.js as, then it will require to have the ENV QUIRREL_BASE_URL set, but at build time, that URL might not be known and can change later.
QUIRREL_BASE_URL could be removed for build time, so no jobs can be executed at build time.

The environment variables were named so you don't need to actually know how Quirrel works internally, it should just work. QUIRREL_BASE_URL is meant to be the base url of your application, the QUIRREL_ prefix is to prevent name clashes. I agree that QUIRREL_URL is a bit of a misnomer, QUIRREL_API_URL would be a much better fit. I'll update that!

Also, I'll keep the QUIRREL_BASE_URL build requirement for the time being. It's a safety net that's helpful for most cases. People that wonder about why that's necessary will hopefully find this issue and know that they can put some dummy value :D
(To the future: If you, future reader, came here as expected, please leave a comment so I can estimate how often people actually do that)


jrnl: override pytest version to fix tests

Description of changes
Fix tests and closes https://github.com/NixOS/nixpkgs/issues/306399.

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[X] Tested, as applicable:

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

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

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

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 307578 run on x86_64-linux 1

2 packages built:

jrnl
jrnl.dist

Result of nixpkgs-review pr 307578 run on aarch64-darwin 1

2 packages built:

jrnl
jrnl.dist


improve copyto for broadcast

Improve in-place broadcast

Codecov Report

:exclamation: No coverage uploaded for pull request base (triq_dev@ce7f222). Click here to learn what that means.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             triq_dev      #53   +/-   ##
===========================================
  Coverage            ?   52.75%
===========================================
  Files               ?       13
  Lines               ?      616
  Branches            ?        0
===========================================
  Hits                ?      325
  Misses              ?      291
  Partials            ?        0

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


10 Quotes Added

#11
Hey!! I have added 10 new Quotes.
I request you to accept my PR.

You must follow the contribution guideline
then make a PR

just copy your 10 quotes.
sync your fork repository with original repository ,
then make a git pull.
then add your 10 quote again
and make a pull request


Approval Request for Joining

What is your username and discriminator?
Username: M-Theory#3737
User ID:<PHONE_NUMBER>95271169
Why did you join Discord Linux?
to learn more
Where did you hear about Discord Linux?
channel search for Linux
What is the passphrase that was assigned to you by the bot?
8a932e45-44c9-4dee-8cb9-ede6445c411a

From simonizor :
The passphrase you have entered is not correct.  Please check the message that mentions you in the welcome channel to find your passphrase.

8a932e45-44c9-4dee-8cb9-ede6445c411a

From Ethan Weegee :
The passphrase you have entered is not correct.  Please check the message that mentions you in the welcome channel to find your passphrase.

From simonizor :
This form is only for people who do not have a phone to verify with Discord. Please read the message that mentions you in the welcome channel.

322476419995271169

thanks! got it


Splash docker instance terminates

When I try to query 'http://localhost:8050/render.json?url=https://www.nd.edu/' the splash docker instance terminates. The console output is the following:
libpng warning: iCCP: known incorrect sRGB profile
process 1: D-Bus library appears to be incorrectly set up; failed to read machine uuid: UUID file '/etc/machine-id' should contain a hex string of length 32, not length 0, with no other text
See the manual page for dbus-uuidgen to correct this issue.
qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_method```

type like below:
$ sudo docker run --net="host" -p 8050:8050 -p 5023:5023 scrapinghub/splash -v4

Closing due to a lack of feedback.


Cannot call setKeys(keys, proof) anymore

Call fails with
2022-01-03 17:10:33  Failed to submit extrinsic: Transaction pool error: Invalid transaction validity: InvalidTransaction::BadProof

Works on local version of polkadot js apps


Add pipfile dependency to Pipfile

As a reminder: the Pipfile.lock has to be ordered as well. I'll have a look at it later.

The issue is that Pipfile.lock is copied from the Pipfile back into a dictionary. That functionality is in the Pipfile repo, rather than pipenv, so it'll need to be fixed over there I think.

Also thanks for this @timofurrer!

The issue is that Pipfile.lock is copied from the Pipfile back into a dictionary. That functionality is in the Pipfile repo, rather than pipenv, so it'll need to be fixed over there I think.

Okay, I'll have a look at it there.


Cannot run editor with Vite - @loadable/components has hard dependency on Webpack

Describe the bug
One of the editor's dependencies is essentially hardcoded to only work with Webpack. From googling all day, it seems to only affect people attempting to SSR, but I'm being plagued by Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object. while developing using Laravel and Vite.
I get a flash of the editor and then it crashes providing me four errors, they're all essentially the same. Here's the first:
Warning: React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: object.

Check the render method of `InnerLoadable2`.
InnerLoadable2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-XHZZXWFJ.js?v=a5a3123b:14341:34
LoadableWithChunkExtractor2
Loadable
div
node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js/withEmotionCache2/<@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AWQIRVGD.js?v=a5a3123b:2352:50
Avatar2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-IULQHNQI.js?v=a5a3123b:3056:31
li
node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js/withEmotionCache2/<@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AWQIRVGD.js?v=a5a3123b:2352:50
ListItem2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AMXIV5BI.js?v=a5a3123b:5291:30
div
Draggable@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-XHZZXWFJ.js?v=a5a3123b:15473:17
Item@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-XHZZXWFJ.js?v=a5a3123b:15502:16
ul
node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js/withEmotionCache2/<@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AWQIRVGD.js?v=a5a3123b:2352:50
List2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AMXIV5BI.js?v=a5a3123b:3094:30
div
node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js/withEmotionCache2/<@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AWQIRVGD.js?v=a5a3123b:2352:50
Paper2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-JRYMQJFO.js?v=a5a3123b:126:30
node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js/withEmotionCache2/<@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AWQIRVGD.js?v=a5a3123b:2352:50
Transition2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-BWKZJDK5.js?v=a5a3123b:84:30
Slide2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-IULQHNQI.js?v=a5a3123b:5630:17
div
node_modules/@emotion/react/dist/emotion-element-cbed451f.browser.esm.js/withEmotionCache2/<@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AWQIRVGD.js?v=a5a3123b:2352:50
Drawer2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-IULQHNQI.js?v=a5a3123b:5925:31
Portal4@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-XHZZXWFJ.js?v=a5a3123b:15001:20
PluginDrawer<@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-XHZZXWFJ.js?v=a5a3123b:15562:16
EditorUI_default<@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6491:12
div
StickyWrapper@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6532:18
div
BlurGate@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6090:18
InnerThemeProvider@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AWQIRVGD.js?v=a5a3123b:5834:17
ThemeProvider2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AWQIRVGD.js?v=a5a3123b:5576:7
ThemeProvider3@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-AWQIRVGD.js?v=a5a3123b:5844:7
Provider@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-XHZZXWFJ.js?v=a5a3123b:8555:15
ReduxProvider@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-XHZZXWFJ.js?v=a5a3123b:9299:15
EditorStoreProvider@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6216:18
DndProvider2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-XHZZXWFJ.js?v=a5a3123b:11272:22
DndProvider2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6029:18
CallbacksProvider@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6113:18
RenderOptionsProvider@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6349:18
OptionsProvider@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6311:18
Provider@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6374:12
EditableEditor@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/EditableEditor-KHOPL575.js?v=a5a3123b:6602:15
InnerLoadable2@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-XHZZXWFJ.js?v=a5a3123b:14341:34
LoadableWithChunkExtractor2
Loadable
Editor@http://<IP_ADDRESS>:5173/node_modules/.vite/deps/chunk-3SQDUMP4.js?v=a5a3123b:390:12
CmsEditor@http://<IP_ADDRESS>:5173/resources/js/cms/editor/CmsEditor.tsx:24:37

That's a lot of chunking garbage, so I dove in and here's the function being referred to:
      function InnerLoadable2(props) {
        var _this;
        _this = _React$Component.call(this, props) || this; // <---
        _this.state = {
          result: null,
          error: null,
          loading: true,
          cacheKey: _getCacheKey(props)
        };
        invariant2(!props.__chunkExtractor || ctor.requireSync, "SSR requires `@loadable/babel-plugin`, please install it");
        if (props.__chunkExtractor) {
          if (options.ssr === false) {
            return _assertThisInitialized(_this);
          }
          ctor.requireAsync(props)["catch"](function() {
            return null;
          });
          _this.loadSync();
          props.__chunkExtractor.addChunk(ctor.chunkName(props));
          return _assertThisInitialized(_this);
        }
        if (options.ssr !== false && (ctor.isReady && ctor.isReady(props) || ctor.chunkName && LOADABLE_SHARED.initialChunks[ctor.chunkName(props)])) {
          _this.loadSync();
        }
        return _this;
      }

So not very helpful. Scrolling up, the sourcemap is<EMAIL_ADDRESS>To Reproduce
// CmsEditor.tsx
import React, { useState } from 'react';
import type { Value } from '@react-page/editor';
import Editor from '@react-page/editor';
import slate from '@react-page/plugins-slate';

const cellPlugins = [slate()];

export default function CmsEditor() {
    const [value, setValue] = useState<Value | null>(null);

    return (
        <Editor cellPlugins={cellPlugins} value={value} onChange={setValue} />
    );
}

// edit.tsx
import React from 'react';
import ReactDOM from 'react-dom';
import CmsEditor from './CmsEditor';

ReactDOM.render(<CmsEditor />, document.getElementById('editor'));

// vite.config.js
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import react from '@vitejs/plugin-react';

export default defineConfig({
    plugins: [
        react(),
        laravel({
            input: [
                'resources/js/edit.tsx',
            ],
            refresh: true,
        }),
    ]
});

Expected behavior
The editor should load without crashing.
Desktop (please complete the following information):

OS: Fedora 35
Browser: Firefox
Version: 103.0.1 (64-bit)

Additional context
So just for fun:

I've tried running in React 18 and 17
I've tried running in React's classic runtime mode
I've tried passing the @loadable/babel-plugin to the React Vite plugin
Probably some other stuff
All of the above doesn't change the runtime behavior. At some point today I believe I saw a log or followed some code that indicated it was crashing while trying to load the bottom toolbar.

Additionally while putting this all together, I noticed @emotion is mentioned in the errors too. I hope that that isn't the root cause here. I see react-admin uses it as well, but I just upgraded our years old pre 1.0 admin dashboard to use React 18 and this same Vite build process with no issues.
I did some research on @loadable/components and lazy loading in general:

They will not be supporting Vite any time soon, if ever: https://github.com/gregberge/loadable-components/issues/833
The project seems relatively dead: https://github.com/gregberge/loadable-components/issues/718
React as an organization no longer endorses it: https://github.com/reactjs/reactjs.org/pull/4499/files#diff-fe53b6d2b7c07165bfce8953484a8f840fe8424ab0989f0dbdc0fe851c840bf7L86
Currently nobody is really sure if there's a good way to lazy load components in React

Anyway, Vite is really taking off and I held off trying it until it started shipping with new Laravel projects and I have to say it's leagues better than Webpack, so I feel it's safe to call this a bug (I'm pretty unwilling to go back, though, so maybe I'm biased).

thx, I will have a look at this.
its important that:

it still runs on react 17
it properly does code spitting in nextjs and other platforms
it does not increase bundle size (

Those are all good points that I talk about in the linked PR. The main takeaway is that SSR with the native React lazy loader is unavailable in React 17. I understand if that's a dealbreaker for you, and in that case you can just ignore the PR entirely lol

Those are all good points that I talk about in the linked PR. The main takeaway is that SSR with the native React lazy loader is unavailable in React 17. I understand if that's a dealbreaker for you, and in that case you can just ignore the PR entirely lol

not a dealbreaker of course, at some point we will might need to make react 18 the default requirement, but i think its still too early.
Having said that, SSR is not an issue here, all lazy loaded components in ReactPage should not be rendererd on the server, as it makes nearly no sense. The <Editor /> component itself should just render the static version on the server (same as with readOnly=true. I think this is doable with react 17 and suspense+lazy, but i never tried it.
(I actually never used lazy+suspense, because in most cases I would want the component to be rendered on the server, which was (I think) not possible with react 17. ReactPage is a rare exception where server rendering is not desired)

:tada: This issue has been resolved in version 5.0.3 :tada:
The release is available on:

v5.0.3
GitHub release

Your semantic-release bot :package::rocket:


Widget auto generate ID and FragmentCache

When FragmentCache using for caching some code with Widgets may cause a problem:
Before caching: "w0", "w1"
After caching: "w0", "w0"
Code for example:
<?php if ($this->beginCache('input1cache', ['enabled' => true])): ?>

    Number input:
    <?= yii\widgets\MaskedInput::widget(['name' => 'test1', 'mask' => '9999999999']) ?>

<?php $this->endCache() ?>
<?php endif ?>

    Text input
    <?= yii\widgets\MaskedInput::widget(['name' => 'test2', 'mask' => 'aaaaaaaaaa']) ?>

After obtaining from cache are not registered JS code for the masked input widget.
Not to keep yii\base\Widget::$counter

Solution for keep unique widgets ids
Change autoIdPrefix to cache id key and restore it after:
yii\base\View::beginCache() {
    $properties['id'] = $id;
    $properties['view'] = $this;
    /* @var $cache FragmentCache */

	// Set new widgets auto-prefix same as cache key
    Widget::$autoIdPrefix = $id; // <--- THIS IS NEW LINE

    $cache = FragmentCache::begin($properties);
    if ($cache->getCachedContent() !== false) {
        $this->endCache();

        return false;
    } else {
        return true;
    }
}

yii\base\View::endCache() {
    FragmentCache::end();

	// Restore widgets auto-prefix to default. @todo Need to refine it for keep custom prefix.
    Widget::$autoIdPrefix = 'w'; // <--- THIS IS NEW LINE
}

Solution for keep View assets:
Any idea? :)
Maybe add any asset registration within cache block to the cache dynamic content placeholders?

Caching widget has been a problem to me too. I was proposing #7435
By having an event before render and after render in the widget, we can have a fragment cache for a widget.
<?=
yii\widgets\MaskedInput::widget([
   'name' => 'test1',
   'mask' => '9999999999',
   'as cached' => [
       'class' => WidgetCache::class,
   ]
]) ?>

Then in the widget cache,
public function cache() {
    $this->owner->options['id'] = some_random_variable();
}

You should explicitely specify the widget id for the widgets, which will be cached.
This will avoid all the problems.
Keeping autogenerated ids may lead to different problems like this one or ajax rendering.


SA - Side Nav Bar issue

Sender<EMAIL_ADDRESS>Comment: Side Nav Bar Down Arrow alignment issue
Open #22 in Usersnap Dashboard
Notes:

(1) Down Arrow Alignment issue

Download original image
Browser: Firefox 61 (Macintosh)
Referer: https://amexio.org/api/v5.1/index.html#/getting-started
Screen size: 1680 x 1050 Browser size: 1215 x 884
Powered by usersnap.com

Fixed.


Pointer arithmetic UB in very large tables

RawTable seems to have an implicit invariant that the size of the table's allocation will never exceed isize::MAX, an invariant which becomes important for ensuring the safety of raw pointer .add calls. This invariant, however, is not properly enforced.
Allocating a table with a usize::MAX capacity fails as expected because capacity_to_buckets multiplies this value by 8 in a checked fashion. The highest capacity a user can request is thus usize::MAX / 8, which produces a bucket count of (usize::MAX / 7).next_power_of_two(), or isize::MAX / 2.
This bucket count is then passed on to TableLayout::calculate_layout_for, which calculates the ctrl_offset using exclusively checked arithmetic. However, the maximum size of values being processed in calculate_layout_for is usize::MAX, not isize::MAX. Thus, users can get ctrl_offsets and sizes greater than isize::MAX by requesting tables with bucket sizes greater than 2 bytes.
If the allocator somehow manages to fulfill a request for more than isize::MAX bytes, the next line will instantly UB as it is offsetting the allocation pointer by ctrl_offset bytes, a value which can be greater than isize::MAX.
This is, of course, an incredibly rare situation and I doubt any real world applications will benefit from the extra safety guarantee. Nonetheless, this sort of unsound behavior was important enough for std's docs to call attention to it and for Vec to apparently handle this scenario.
I haven't looked at all the other resizing/reallocation logic so it might be worth clarifying certain state invariants for the table sizes and ensuring that they're maintained throughout RawTable's implementation.

Nice catch!
Looking at the code, I think the best place to fix this with minimal overhead would be in capacity_to_buckets: we could simply change the code to cap.checked_mul(16)? / 14 which should will cause the overflow check to reject too-large tables.
Could you open a PR for this? You can also add more comments to clarify the invariants where needed.

Updating capacity_to_buckets's to limit the maximum requestable bucket count will not fix the issue since users control the size of the buckets and can thus always grow any non-zero bucket count to a value greater than isize::MAX. The fix will have to limit the size of the table in bytes, not its bucket count.
As for the structure's invariants, I think the only requirement is that the size of the table has to be less than isize::MAX. ZSTs introduce slight logical complications in how they are treated as having a size of 1 for bucket arithmetic but this would be caught by the size check since the control byte array will be at least as long as the bucket array's "virtual" size.
Alternatively, we could only limit ctrl_offset to isize::MAX since all pointer arithmetic happens with ctrl_offset as a root. While ZST buckets could break ctrl accessing logic for bucket counts greater than isize::MAX - Group::WIDTH, capacity_to_buckets limits the bucket count users can directly request to isize::MAX / 2. We would just have to ensure that all other calls to the function also respect this limit.
Afaik, RawTableInner::new_in and RawTableInner::new_uninitialized are the only two methods capable of creating a new table with a different capacity so it's probably best to put the relevant checks there.
Thoughts?


[DOC] How does flagd relate to OpenFeature?

Change in the documentation
This issue will answer the question: "How does it relate to OpenFeature?" as bulletpointed here.

My Take
flagd is a free and open source product or tool which follows the OpenFeature standard. flagd is to OpenFeature as Jaeger is to OpenTelemetry.
OpenFeature adopters are free to choose flagd or a different flag evaluation backend system.


List can not be assigned to the type Widget

The issue is that i am not able to assign a Widget made from a list to a Row in flutter, I tried different ways but cant find an answer
starsGan,
that is the line that cant be called back, and shows me an error
List can not be assigned to the type Widget, i changed to widget and still the same
List can not be assigned to the type Widget,
when i make just one object it gets called back, but when used the list cant, any help, thanks in advance

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.orange,
      ),
      home: SafeArea(
        child: Scaffold(
          backgroundColor: Colors.orange,
          // appBar: AppBar(title: Text('Let us Know')),
          body: Padding(
            padding: EdgeInsets.symmetric(horizontal: 10.0),
            child: CustomScrollView(
              slivers: [
                SliverAppBar(
                  backgroundColor: Colors.deepOrange[50],
                  title: Text('Let us Know'),
                  centerTitle: true,
                  floating: true,
                ),
                SliverFixedExtentList(
                  itemExtent: 800,
                  delegate: SliverChildBuilderDelegate(
                    (BuildContext context, int index) {
                      if (index > 0) return null;
                      // or we can do this // childCount: 0,
                      return QuizApp();
                    },
                  ),
                ),
              ],
            ),
          ),
          bottomNavigationBar: BottomAppBar(
            shape: CircularNotchedRectangle(),
            notchMargin: 4.0,
            child: new Row(
              children: <Widget>[
                SizedBox(width: 8.00),
                Text('My Score'),
                // for a button do // IconButton(icon: Icon(Icons.star), onPressed: () {},),

THE PROBLEM IS HERE >     starsGan,

              ],
            ),
          ),
          floatingActionButtonLocation: FloatingActionButtonLocation.endDocked,
          floatingActionButton: FloatingActionButton(
            child: const Icon(Icons.add),
            onPressed: () {},
          ),
        ),
      ),
    );
  }
}

class QuizApp extends StatefulWidget {
  @override
  _QuizAppState createState() => _QuizAppState();
}

Flexible questionBank(
    {required String questionText, required int questionNumber}) {
  return Flexible(
    fit: FlexFit.loose,
    child: Card(
      child: Column(
        children: <Widget>[
          ListTile(
            trailing: Icon(Icons.contact_support_outlined),
            title: Text('$questionText'),
            subtitle: Text('Question $questionNumber'),
          ),
          Row(
            mainAxisAlignment: MainAxisAlignment.end,
            children: <Widget>[
              TextButton(
                child: const Text('Yes'),
                onPressed: () {/* ... */},
              ),
              const SizedBox(width: 8),
              TextButton(
                child: const Text('No'),
                onPressed: () {/* ... */},
              ),
              const SizedBox(width: 8),
            ],
          ),
        ],
      ),
    ),
  );
}

List<Icon> starsGan = [Icon(Icons.star),Icon(Icons.cancel)];
// Same as before // final starsGan = [Icon(Icons.star),Icon(Icons.cancel)];

class _QuizAppState extends State<QuizApp> {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        questionBank(questionText: 'Are you Married', questionNumber: 1),
        questionBank(questionText: 'Do you like apples', questionNumber: 2),
        questionBank(questionText: 'Do you Study Hard', questionNumber: 3),
        questionBank(questionText: 'Are you brave', questionNumber: 4),
        questionBank(questionText: 'Do you want to learn to meditate', questionNumber: 5),
        questionBank(questionText: 'Do you love life and the people around you', questionNumber: 6),
      ],
    );
  }
}

For help with your own code, see the discussion and help resources at https://flutter.dev/community
Closing, as this is not a bug; the error message here is correct.

thanks a lot


fix tests, restructure test files to live with components

each component now has a corresponding test.tsx file
jest setup and config files live under src/jest/
add @testing-library/react-native for implementing tests
add snippet for test files

converting to draft temporarily so i can add a test file to the new screen component added by @semamama

pulled and rebased with main, amended to include a test.tsx for SemaHome


Android 6.x permission fix

Added permission check (and request) on startup
updated Gradle scripts to Android API 23
ContextCompat and ActivityCompact support libs used for backwards compatibility

It compiles and runs fine on my 5.1.1 phone. Haven't have time to set up a 6.x emulator yet so feel free to test it before merging (or wait for libgdx team to implement).
You will probably need to update your Android SDK for it to compile.
More info:
http://developer.android.com/training/permissions/requesting.html
http://developer.android.com/tools/support-library/index.html

If this works, It will be amazing, thanks.
I'll review this later this week.

/me pokes @kbz


Update SpotifyTileServiceProvider.php

@ashbakernz Hi Ash, can you accept this merge to fix this little bug?


Drag and drop not working for iFrame panels within a Shadow DOM

disableIFramePointerEvents() doesn't work when within a Shadow DOM, so you can't use drag'n'drop with iFrames in a Shadow DOM.
At a guess, you could fix by passing this.el.ownerDocument into the method call here.
I was unable to find any workarounds based on the exposed event handlers.

Owner document won't work actually, https://developer.mozilla.org/en-US/docs/Web/API/Node/getRootNode is more appropriate as it'll work in Shadow DOM or not (according to docs)

This is an interesting one. For this to work at the time of the drag event starting you need to find every iframe element that exists within the standard and shadow DOM.
As far I know there is no method for "give me all shadow DOMs" so the best I have current is this which I am not a fan of due to the use of querySelectorAll('*')...
If anybody has a better solution I would love to hear it!
I could potentially include my change, perhaps with a optional flag to explicitly enable this behaviour since the querySelectorAll('*') has the potential to be an expensive call but I would like to leave this issue open for a while to see if any suggestions role in.


Fix keyword documentation shortcuts menu overflow and overscroll

Fixes #4012
Note: overscroll-behavior CSS property isn't yet supported on Safari. However, the keyword documentation pages seemed to work as they do now.

Codecov Report

Merging #4013 (7ece8c8) into master (c53f34e) will decrease coverage by 1.10%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4013      +/-   ##
==========================================
- Coverage   75.11%   74.01%   -1.09%
==========================================
  Files         222      219       -3
  Lines       18840    18733     -107
  Branches     3083     3073      -10
==========================================
- Hits        14150    13864     -286
- Misses       4163     4312     +149
- Partials      527      557      +30

Impacted Files
Coverage Δ

src/robot/utils/robotinspect.py
38.10% <0.00%> (-28.57%)
:arrow_down:

src/robot/utils/compat.py
39.63% <0.00%> (-28.30%)
:arrow_down:

src/robot/utils/unic.py
69.85% <0.00%> (-26.98%)
:arrow_down:

src/robot/running/runkwregister.py
66.67% <0.00%> (-26.66%)
:arrow_down:

src/robot/utils/encoding.py
62.75% <0.00%> (-25.49%)
:arrow_down:

src/robot/utils/encodingsniffer.py
63.08% <0.00%> (-24.61%)
:arrow_down:

src/robot/utils/robottypes.py
78.58% <0.00%> (-21.42%)
:arrow_down:

src/robot/utils/robottypes3.py
78.85% <0.00%> (-21.15%)
:arrow_down:

src/robot/utils/robotpath.py
56.37% <0.00%> (-16.36%)
:arrow_down:

src/robot/version.py
55.56% <0.00%> (-11.11%)
:arrow_down:

... and 27 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fc57664...7ece8c8. Read the comment docs.

Thanks for the PR @asonkeri! Thanks also @mkorpela for quick review.


Defect/dnn 21337 SI: Option to use Site Timezone For Page Versioning Timestamps

Summary
Go to page versions, time listed for each version is stamped with server time, it needs to be in Site's time zone
Current
Page Versioning Timestamps appear in Database/Server Time Zone
Desired
Everything on the UI should be displayed in user's timezone. There are APIs available in DNN Platform to convert any time to a user's timezone.
fixes #2200

fixes #2200

The conversion to user time should be performed in UI level or close to it

It was my initial thought too but in the end you would probably just end up with similar boilerplate in other parts of UI. Would you agree?
Ideally, we would have DateTimeOffset in the DB and DTO classes so that it's always clear what is the exact point in time. Otherwise it's easy to make wrong assumptions and meaningless conversions.
A good thing to do would be to establish a common way for performing this operations. Currently the https://github.com/dnnsoftware/Dnn.Platform/pull/2195/files#diff-1d95514c463d6eb8296c986a69e4b15dR129 method is too specific to tab versions.
Any other thought @dnnsoftware/tag ?

@tpluscode, @mean2me
We should limit database access to as least queries and interfaces as possible.
I don't see a need for method GetDatabaseTimeOffset in DataProvider as this maybe easily calculated by from GetDatabaseLocalTime() - GetDatabaseUtcTime() , which are using cached values (unless we are rewriting these methods to use GetDatabaseTimeOffset instead).
In DNN 6, we intentionally removed previous UserTime class to avoid unnecessary code, as .Net supports easy calculations between timezones using timeZoneInfo.ConvertTime, see GetProperty in DotNetNuke.Services.Tokens.PropertyAccess.DateTimePropertyAccess.cs class for reference (although it needs to be updated to use Datatabase time instead of DateTime.Now(), but that is another issue.

Providing correct timezone calculations has always been a challenge in DNN - see the old forums module.
We need to be aware there are four different time zones usually involved:

UTC
server time zone
Portal default timezone
user timezone
In DNN 6, we provided methods to provide now and UTCNow from the database, to make sure, we always get the same time, despite obtaining now in the platform code or in a stored procedure - even if both are on different servers with non-synched clocks. Therefore GetDatabaseLocalTime() should always be preferred over DateTime.Now() and  GetDatabaseUtcTime() over DateTime.UTCnow()!
In general, it is preferrable to store all timestamp values in the database as UTC, which allows moving the database from one timezone to another or from a local server to azure without the need to correct all timezone values.

@tpluscode
there is no adjustment of date values, if the database is moved to a server in a different time zone. The best would be migrating all datetime columns to UTC, however, this would be a big change,

we removed some methods, which were misnamed and resulted in issues like the wrong time displayed by Forums module (see dnnsoftware.com). Of course, there should have been better guideline provided.
Note: this is the associated blog post: https://www.dnnsoftware.com/community-blog/cid/135312/enhanced-time-zone-support-in-6

I support the principle that all date/time fields in the database should store the date/time in UTC.

      I support the principle that all date/time fields in the database should store the date/time in UTC.

We would need a separate issue for this. However, given the number of date fields, this would be a bigger effort.

Of course, there should have been better guideline provided.
Note: this is the associated blog post: https://www.dnnsoftware.com/community-blog/cid/135312/enhanced-time-zone-support-in-6

I would have been awesome to have read this blog post a couple months ago when I replaced a lot of deprecated API usages in a ton of modules. There should have been a short note on the deprecated Time Zone methods and properties with a link to this blog post.

@valadas
I can't but agree that source code comments would have been helpful.


Provide option to pass custom certificate on dapr init -k

Describe the proposal
Provide option to pass custom certs(ca.pem, issuer.pem and issuer.key) while initialising  dapr cluster via dapr init -k
Suggested command -
dapr init -k --caCert <filepath> --issuerCert <> --issuerKey <>
RELEASE NOTE: Initialise Dapr cluster with custom certificates

/assign


Slightly ambiguous placeholder name {EXE PATH} in service creation PowerShell example

I find it not immediately clear in the code below that {EXE PATH} refers to the path of the folder containing the executable. I thought this was the path to the executable file itself, but this triggered the following error:
Exception calling "SetAccessRule" with "1" argument(s): "No flags can be set. #Parameter name: inheritanceFlags.
I noticed the different names {EXE PATH} and {EXE FILE PATH} only much later (it seems inheritance flags ContainerInherit,ObjectInherit can only be used on folders).
I think {EXE PATH} should be changed for something clearer, like {EXE DIRECTORY PATH}, {EXE FOLDER PATH}, {EXE CONTAINING FOLDER PATH}...
Here is the original piece of code I was refering to:
$acl = Get-Acl "{EXE PATH}"
$aclRuleArgs = "{DOMAIN OR COMPUTER NAME\USER}", "Read,Write,ReadAndExecute", "ContainerInherit,ObjectInherit", "None", "Allow"
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule($aclRuleArgs)
$acl.SetAccessRule($accessRule)
$acl | Set-Acl "{EXE PATH}"

New-Service -Name {SERVICE NAME} -BinaryPathName "{EXE FILE PATH}" -Credential "{DOMAIN OR COMPUTER NAME\USER}" -Description "{DESCRIPTION}" -DisplayName "{DISPLAY NAME}" -StartupType Automatic

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

ID: b0bd8cb8-7e28-8c4d-a550-3aea8f3ab4dd
Version Independent ID: 4b60d24e-ef05-15e5-10b4-483094081bf3
Content: Host ASP.NET Core in a Windows Service
Content Source: aspnetcore/host-and-deploy/windows-service.md
Product: aspnet-core
Technology: aspnetcore-hostdeploy
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Hello @fterrani ... But immediately under the example, the placeholders are defined, including for {EXE PATH} ...

{EXE PATH}: Path to the app's folder on the host (for example, d:\myservice). Don't include the app's executable in the path. A trailing slash isn't required.

U said ...

I thought this was the path to the executable file itself

... but the definition of the placeholder even says not to include that and includes an example that doesn't have the executable.
Perhaps, I'm misunderstanding your remarks. Can you clarify how the definition is confusing?

It's easy enough to the change ... I'll go ahead. If anything, it will be even clearer. You did say slightly :smile:.

Path is never the folder, it's the path.

Thanks @fterrani ... We'll take more feedback on this. I'm ok with the current form WITH the existing examples that I placed in the text. That's why I have those there. I knew that it would be a bit tricky without them.
WRT the definition of path, I think the industry has overloaded the term. Various definitions say it can be both, and the style manual seems to bear that out ...
https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/p/path
... so let's take more feedback on it. We can look again if devs write in again on this. Thanks again for the shout out, @fterrani. We do need to look when things seem a bit tricky and/or an error occurs when trying to follow the guidance.

... and btw .... I had a bit of a ...
😆
... for ...

When a path also specifies a file, use full path.

full path? ... overloading absolute path (vs. relative path). Making things even more overloaded, maybe? I say so because a folder path could also be absolute (from the root) or relative (to another folder). Anyway .... I gotta get back to work! :smile: lol ... This might be fun to discuss over a few 🍻 sometime.

Sorry for replying only now, my github notifications were lost in the cosmic depths of my inbox... Anyway.

Perhaps, I'm misunderstanding your remarks. Can you clarify how the definition is confusing?

Here is how I see it: if we consider the whole content of the section (that is the code example and the definition of placeholders right below it), it is indeed very clear and coherent ; I don't think anyone sane can argue with that.
When I used that piece of code, I was in a hurry and since placeholder names seemed pretty self-explanatory at first sight, I copied the code without reading the rest of the section. I genuinely thought {EXE PATH} and {EXE FILE PATH} were exactly the same thing and that someone might have forgotten to use the same name in both places.
I might be mistaken but to me, a path is a path and it can refer to a folder, or a file, or even other stuff on Linux. It's in the name after all, a path leads somewhere/to something and that somewhere/something could be anything. So consequently, I interpret {EXE PATH} as a path of/to EXE => EXE is an executable file => a path of/to EXE is then a path of/to an executable file.
I should have taken the time to read the whole section more carefully. Still, changing {EXE PATH} to {EXE FOLDER PATH} would make this already pretty clear section crystal-clear and its code easier to use. This isn't a big problem though (hence the word "slightly" and the low number of people in this thread)... I'm aware that I might be nitpicking here, but hey, I'm a programer so that's both my job and my "condition" :) (pun totally intended)


improve alerts

nice rework on the not saved game dialog, much better than my solution.

shouldn't we provide the alert about the not saved game to the upstream?


fix(key-auth) properly re-encode request body

Summary
When both key_in_body and hide_credentials are set, we previously re-encoded the request body as a form/url-encoded entity, regardless of the request content type (and without changing the content type
header!). This commit refactors the key_in_body behavior to be a bit more robust and handle request types that the existing Kong API can decode/encode via the 'get_body_info' public function.
This PR is to be accompanied by a getkong.org PR that explicitly documents this behavior, and notifies Kong administrators that the simultaneous use of hide_credentials and key_in_body is limited to a given set of request body types.
Full changelog

Hide key-auth credentials sent in the request body, and re-encode the body, when the hide_credentialsandkey_in_bodyplugin values are set, forapplication/json, multipart/form-data, and application/www-form-urlencoded` request bodies.
Bail with a BAD_REQUEST status when the client sends a request with an unsupported body type, when both hide_credentials and key_in_body are set.
Expand the key-auth plugin access tests to cover this new behavior.

Issues resolved
Fix #3108.

Travis failure looks unrelated

Neat, thanks! That will help. I will try to get a look tomorrow! cc @Kong/team-core

@p0pr0ck5 If you won't have time to make those changes, tell me and I'll just take care of it while merging :) Let me know!

@thibaultcha I can snag this over the weekend. If you want to work on it sooner feel free! :)

@thibaultcha sorry for the delay. I won't have time to work on the test changes you've noted. If you want to make the adjustment and pull this in, please feel free. Otherwise I can likely circle back to this in a few weeks.

Gave this another look now that we have lua-multipart 0.5.4, but unfortunately the test is still failing (because of lua-multipart) :/

Fixed and merged, yay! Thank you!


Updated index page link for azps 6.4.0 ref content

Docs Build status updates of commit 3c989d4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-conceptual/azps-6.4.0/index.yml
:white_check_mark:Succeeded
View (azps-6.4.0)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


(JAVA-W1034) Conditions should not contain assignments

Description
This condition seems to have an assignment (like a = b) instead of a comparison (like a == b). Such code can be confusing and difficult to read and debug. Consider separating out the assignment and perform only a comparison within the expression.
Occurrences
There is 1 occurrence of this issue in the repository.
See all occurrences on DeepSource → deepsource.io/gh/Verisimilitude11/Vigenere-Cipher/issue/JAVA-W1034/occurrences/

Hi VerisimilitudeX 🫡
Do you need some help with this issue?
I am avaiable to do that. 🚀
Could you assign this issue to me? I'd like to work on this issue, please.
Many thanks in advance 😄

Sure! Also, I’d appreciate it if you could give me a follow. As an open source developer, it would mean a lot to me!
If you’re interested, I would also like some contributions on DNAnalyzer: https://github.com/VerisimilitudeX/DNAnalyzer


Crash when handling .serviceUnavailable errors

We started getting crashes when the SDK attempts to handle an error. It appears that the exclamation-icon asset is missing. We are currently using the SPM-support branch, so it could be something related to that particular branch.

Hi @GeorgiDamyanov. Thanks for the heads up! This has now been fixed in the latest commit on the SPM-support branch. If you come across any other problems don't hesitate to let us know.


[Feature][Seatunnel suport seatunnel engine

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Now only support seatunnel spark、flink
I wan't can support seatunnel engine
Use case
Because the company does not have Spark or Flink, if seatunnel can be used, it will be lighter
Related issues
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

3.1.7 supported


Service Qualification - Export to CSV field mapping

When export to CSV, field (specifically if an address field has a comma) are not being correctly mapped in the output. This does not occur with the export to CSV in web app builder's attribute table export to CSV.

@clareprice We have fixed this issue and will include the fix in next release

verified


Fix the lack of responsiveness of the width of the color code input field

Setting the input element's width property to be auto makes it fail to be responsive to the screen width.

auto helps thickening the border width upon active/hover/focus without layout shifting.

To prevent the layout shifting, we need to set height of the input field wrapper explicitly. Then we can use width: 100% for the input element.

We need to avoid the hard-coding of the height of InputWrapper. The task is delegated to #71.


Chomp fails to install on Alpine via npm

Here's what I'm trying:
/workspaces/es-module-lexer # node --version
v20.7.0
/workspaces/es-module-lexer # npm i -g chomp

changed 147 packages in 1s

6 packages are looking for funding
  run `npm fund` for details
/workspaces/es-module-lexer # chomp --help
node:events:492
      throw er; // Unhandled 'error' event
      ^

Error: spawn /usr/local/lib/node_modules/chomp/vendor/chomp ENOENT
    at ChildProcess._handle.onexit (node:internal/child_process:286:19)
    at onErrorNT (node:internal/child_process:484:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
Emitted 'error' event on ChildProcess instance at:
    at ChildProcess._handle.onexit (node:internal/child_process:292:12)
    at onErrorNT (node:internal/child_process:484:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  errno: -2,
  code: 'ENOENT',
  syscall: 'spawn /usr/local/lib/node_modules/chomp/vendor/chomp',
  path: '/usr/local/lib/node_modules/chomp/vendor/chomp',
  spawnargs: [ '--help' ]
}

Node.js v20.7.0

file reveals it's a dynamically linked binary, which doesn't run out of the box on Alpine:
/workspaces/es-module-lexer # file /usr/local/lib/node_modules/chomp/vendor/chomp
/usr/local/lib/node_modules/chomp/vendor/chomp: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=73c85cd956c7a62809badf65af42c53130596b8b, for GNU/Linux 3.2.0, with debug_info, not stripped
/workspaces/es-module-lexer # ls /lib64/ld-linux-x86-64.so.2
ls: /lib64/ld-linux-x86-64.so.2: No such file or directory

Ah, yeah this sounds like an issue that we don't support Alpine builds.
I would suggest cargo install chompbuild in this case.


Pandas-Profiling not considering the type of the column which is changed manually.

Describe the bug

Pandas is used to read data
One of the column was misread as number (int) instead of string/category (str)
That column is manually typecast with the help of astype function [astype('str') / astype('category')]
Pandas-Profiling is used to generate report
The new type of the column is not considered and instead it considered that column as number.

To Reproduce
GitHub repo: https://github.com/mohith7548/Pandas-Profiling-issue-recreation
import numpy as np
import pandas as pd
import pandas_profiling

df = pd.DataFrame({
    'Dummy': ['X', 'Y', 'X', 'X', 'Y', 'Y', 'Y', 'X'],
    'Contract': [9940243658,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>,<PHONE_NUMBER>]
})

df['Contract_category'] = df['Contract'].astype('category')
df['Contract_str'] = df['Contract'].astype('str')

df.dtypes
# output
Dummy                  object
Contract                int64
Contract_category    category
Contract_str           object
dtype: object

df.profile_report() # ProfileReport(df)
# When generating report, Pandas-Profiling has considered Contract_category & Contract_str as int
# even though they are explicitly casted as category, str respectively above.

Version information:
python version: 3.6
enviroment: jupyter-notebook
pandas-profiling==2.10.0

Additional context
As a work-around many suggested to prefix a character at the beginning of the number after type casting from int to str,
so that Pandas-Profiling considers it as string/category. But this method seems to bring unnecessary complexity.

pandas-profiling has no way of knowing if a column is cast in another type manually or not. The user should be able to disable the automatic detection of strings with integer values (and/or individual columns). Contributions are welcome. The code can be found here:
https://github.com/pandas-profiling/pandas-profiling/blob/develop/src/pandas_profiling/model/typeset.py#L38
(cc @ieaves)

pandas-profiling has no way of knowing if a column is cast in another type manually or not. The user should be able to disable the automatic detection of strings with integer values (and/or individual columns). Contributions are welcome. The code can be found here:
https://github.com/pandas-profiling/pandas-profiling/blob/develop/src/pandas_profiling/model/typeset.py#L38
(cc @ieaves)

The root of his issue is the use of infer_type instead of detect_type here: https://github.com/pandas-profiling/pandas-profiling/blob/d4e70185fa7e16b1d0b07dfb731897ef06bb3067/src/pandas_profiling/model/summary.py#L43 @sbrugman.

The root of his issue is the use of infer_type instead of detect_type here: https://github.com/pandas-profiling/pandas-profiling/blob/d4e70185fa7e16b1d0b07dfb731897ef06bb3067/src/pandas_profiling/model/summary.py#L43 @sbrugman.

So, how can we solve this issue? @sbrugman can we manually tell pandas-profiling the data types of a misunderstood column?

So, how can we solve this issue? @sbrugman can we manually tell pandas-profiling the data types of a misunderstood column?

@mohith7548
This isn't a long term solution for you but if it's a blocker you can solve the problem by building from source with the following changes to summary.py linked above:
Change
vtype = typeset.infer_type(series)
series = typeset.cast_to_inferred(series)

to
vtype = typeset.detect_type(series)

@mohith7548
This isn't a long term solution for you but if it's a blocker you can solve the problem by building from source with the following changes to summary.py linked above:
Change
vtype = typeset.infer_type(series)
series = typeset.cast_to_inferred(series)

to
vtype = typeset.detect_type(series)

I'm trying to create a pull request that can handle both options based on a boolean value passed to ProfileReport class.
This is my first pull request. I'm not sure how to do testing. @ieaves can you please shine some knowledge on how to run the test cases present in the tests folder at a go. Any additional info is helpful. Thanks.

I'm trying to create a pull request that can handle both options based on a boolean value passed to ProfileReport class.
This is my first pull request. I'm not sure how to do testing. @ieaves can you please shine some knowledge on how to run the test cases present in the tests folder at a go. Any additional info is helpful. Thanks.

Thanks for the help @ieaves. I made a pull request making the developer choose infer/detect dtype by using a new kwarg param  infer_dtypes in ProfileReport.
New changes here:
https://github.com/mohith7548/pandas-profiling/blob/4dd35dfbf7c1eb005a90e87275efdeec6968931b/src/pandas_profiling/model/summary.py#L46

Thanks for the help @ieaves. I made a pull request making the developer choose infer/detect dtype by using a new kwarg param  infer_dtypes in ProfileReport.
New changes here:
https://github.com/mohith7548/pandas-profiling/blob/4dd35dfbf7c1eb005a90e87275efdeec6968931b/src/pandas_profiling/model/summary.py#L46

@ieaves Kindly review this pull request https://github.com/pandas-profiling/pandas-profiling/pull/680

I notice that using infer_dtypes=False when generating reports like
report = ProfileReport(df, infer_dtypes=False)

appears to make the report generation run much faster in my experience. Would you happen to know why this would be?

@reedv the infer_dtypes flag attempts to infer the best data types for each column in your dataframe before computing summaries. For example, if you had a sequence of values ['1', '2', '3'], when you use infer_dtypes, PP will provide a summary for integers rather than strings.
 Under the hood, PP is using a customizable type system called visions and is moving towards fully customizable ProfileReports.


Hangs when there's an svg file

Describe the bug
If there's an svg, it just hangs and never finishes. The logs say it's not a supported file type. You should be able to just output the source file if it's not supported.
To Reproduce
<Image src="/vercel.svg" alt="Vercel Logo" width={72} height={16} />
Expected behavior
Should work just like the built-in server-side optimization.
Screenshots

Desktop (please complete the following information):
MacOS
Node v14.18.3

@akinnee
Thanks for reporting the issue!
Indeed, for unsupported images, it seems like a good idea to output them as they are.
When you say 'the built-in server-side optimization', do you mean the same as the Next.js image optimization server?
It seems that svg and gif are returned as is without optimization.
https://github.com/vercel/next.js/blob/canary/packages/next/server/image-optimizer.ts#L353
Please let me know if my perception is incorrect.

@akinnee
Thanks for reporting the issue!
Indeed, for unsupported images, it seems like a good idea to output them as they are.
When you say 'the built-in server-side optimization', do you mean the same as the Next.js image optimization server?
It seems that svg and gif are returned as is without optimization.
https://github.com/vercel/next.js/blob/canary/packages/next/server/image-optimizer.ts#L353
Please let me know if my perception is incorrect.

I think that's right! I meant that I'd expect the image component to function pretty much the same way with this as it does with the server image optimizer. Thanks.

🎉 This issue is included in version v1.5.1.


Fix/clientside validation in repo creation 833

Closes #833
Added client side validation while creating a repository as follows:

Repository name should match ^[a-z0-9][a-z0-9-]{2,62}$
Storage namespace should match ^(s3|gs|mem|local|transient):\/.*$
Default branch name should not be empty

Codecov Report

Merging #879 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #879      +/-   ##
==========================================
- Coverage   45.06%   45.03%   -0.04%
==========================================
  Files         140      140
  Lines       10881    10881
==========================================
- Hits         4904     4900       -4
- Misses       5366     5368       +2
- Partials      611      613       +2

Impacted Files
Coverage Δ

catalog/cataloger_create_branch.go
84.90% <0.00%> (-3.78%)
:arrow_down:

catalog/cataloger_create_repository.go
59.25% <0.00%> (-3.71%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6cedb96...2ce0143. Read the comment docs.


fixed link in developers.md

Closes #

Changes

link fixed

Screenshots or Video

Related Issues

Issue #424

Author Checklist

[x] Ensure you provide a DCO sign-off for your commits using the --signoff option of git commit.
[ ] Vital features and changes captured in unit and/or integration tests
[ ] Commits messages follow AP format
[ ] Extend the documentation, if necessary
[x] Merging to master from fork:dev
[ ] Manual accessibility test performed

[ ] Keyboard-only access, including forms
[ ] Contrast at least WCAG Level A
[ ] Appropriate labels, alt text, and instructions

i am closing this PR and will create a new one.


Sync Knapsack

https://github.com/exercism/php/issues/782
This PR contains no major changes except @testdox updated in test case file.

@fejan-malek Do you have time to re-structure the tests like this:
    public function testNoItems(): void
    {
        $expected = 0;
        $maximumWeight = 100;
        $items = [];

        $knapsack = new Knapsack();
        $actual = $knapsack->getMaximumValue($maximumWeight, $items);

        $this->assertEquals($expected, $actual);
    }

This would greatly enhance readability for students using the online editor. The current test methods do not contain the object creation and the long lines require scolling horizontally.
If you have no time, I will do that after merging your PR. That is OK, we all have a life besides Exercism.

Yes, I am a little busy with a project at work.
Do we need to implement this in all test cases or only this single test case?


Is there an event "UserGroupRemove" and "UserGroupAdd" ?

Hello, i'm developing a plugin using the LuckPerms API, but i couldn't find a way to listen for an event when a Player receive a group and when a group is removed from the Player, is there any event like that? If yes, could you guys provide an example on how to do it? Thanks for the great plugin!

LoL, i opened in the wrong place, sorry!

LoL, i opened in the wrong place, sorry!


timestamp precision is not preserved in MarkingDefinition objects

If I parse a marking that requires more precision on the created property it will be lost upon a round-trip. Example:
EXPECTED_MARKING_DEFINITION = """{
    "type": "marking-definition",
    "id": "marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9",
    "created": "2018-01-20T00:00:00.000Z",
    "definition_type": "my-new-marking",
    "definition": {
        "property1": 10
    }
}"""

obj = stix2.parse(...)
serialized = stix2.serialize(...)

# The result would be... (precision lost)
{
    "type": "marking-definition",
    "id": "marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9",
    "created": "2018-01-20T00:00:00Z",
    "definition_type": "my-new-marking",
    "definition": {
        "property1": 10
    }
}

Fixed by #287.


Auto-orient rotation for arrivals

I thought about just doing it on FTL completion but I think this makes it clearer on when someone should be touching their camera controls?
:cl:

add: Arrivals will auto-orient your camera upon.

pro cl

pro cl

I don't know what you're talking


Dopamine for 17.0b1

Nice.
This should work up to 17.0b4 for arm64 by the way, nothing should be inherently stopping it.

This is an offset that is not currently used, but I think kernelStruct.pmap.type is 0x94

Which did you means kernelStruct.pmap.type = 0x94 + pmapA11Adjust or kernelStruct.pmap.type = 0x94?

Which did you means kernelStruct.pmap.type = 0x94 + pmapA11Adjust or kernelStruct.pmap.type = 0x94?

If it's 0x94 on A10 then it's 0x94 + adjust on A11

Thanks!
So, there is no need to change this one, right?

how about new one?

Can it support arm64e A13 SE2 ios17b1？


Add deadline to wait for event

This PR allows a user to specify a timeout for blocking wait for events.
The reason for this is that I'm writing a WM that I'd preferably run single threaded while being able to do tasks intermittently, i.e. I can't block potentially forever waiting for an event.
Other solutions such as spawning the blocking wait in a different thread is therefore not desirable.
Polling for an event and then going off doing something else leaves me with two suboptimal options:

Slow poll (around 100ms) add some latency <=100ms to event processing which is noticeable (followed by fast polls until None so throughput decrease isn't that noticeable)
Fast poll adds a lot of CPU overhead just looping, I'm trying to make this WM as low-overhead as possible
The underlying poll API supports timeouts so I added an API for it, but only extended it to wait_for_event and not the less-parsed methods to avoid unecessary work in case you don't like this change. I'm currently using it and it works great, the noticeable latency from polling is gone and the CPU-usage is low.

There are some problematic things implementing this however. Since the underlying c-API accepts an i32 whereas the rust-apis accept u64 where the magic number -1 means infinity there's a risk of future programming mistakes creating uint range-issues. At the moment the user input is converted at a single point where it accepts an i32 to avoid u64 -> i32 contraction, and treats any negative value as Infinity (-1), the max wait time in millis is therefore i32::MAX.

This PR allows a user to specify a timeout for blocking wait for events.
The reason for this is that I'm writing a WM that I'd preferably run single threaded while being able to do tasks intermittently,

If you are single-threaded, can't you use the approach from https://docs.rs/x11rb/latest/x11rb/event_loop_integration/index.html? You poll_for_event() until there is no more pending event. At this point, you use AsRawFd to get access to the underlying FD and call libc::poll on it to "wait for something"?
I haven't yet looked at the PR, so I might be missing something (I will edit this comment if necessary). But libc::poll seems easier to me.

This PR allows a user to specify a timeout for blocking wait for events.
The reason for this is that I'm writing a WM that I'd preferably run single threaded while being able to do tasks intermittently,

If you are single-threaded, can't you use the approach from https://docs.rs/x11rb/latest/x11rb/event_loop_integration/index.html? You poll_for_event() until there is no more pending event. At this point, you use AsRawFd to get access to the underlying FD and call libc::poll on it to "wait for something"?
I haven't yet looked at the PR, so I might be missing something (I will edit this comment if necessary). But libc::poll seems easier to me.
Edit: Okay, the API addition seems to be wait_for_event_with_deadline. Here is an implementation using the existing API. (BEWARE! Only works for single-threaded applications)
pub fn wait_for_event_with_deadline(
    conn: &RustConnection,
    timeout: std::time::Duration,
) -> Result<Option<crate::protocol::Event>, ConnectionError> {
    let event = conn.poll_for_event();
    if Ok(None) == event {
        poll_with_timeout(conn, duration)?;
        conn.poll_for_event()
    } else {
        event
    }
}

The above uses poll_with_timeout from here:
https://github.com/psychon/x11rb/blob/df1ff3012fa46fe3804eb25349a88639f42cb1d7/examples/xclock_utc.rs#L170-L173
(The error type in the above Result do not match up; fixing that is left as an exercise for the reader)

That works perfectly, thanks!

It was this easy to implement

Yay. :-)
Just be careful: x11rb has an internal queue of pending events. Thus, it can happen that there is a pending event in the queue, but the socket is not readable. Even writing a request can cause new events to be read. That's why I'd recommend something event-specific. That is easier to mis-use.
Example:
async fn wait_for_event(connection: &RustConnection) -> Result<x11rb::protocol::Event>> {
    loop {
        if let Some(event) = connection.poll_for_event()? {
            return Ok(event);
        }
        use std::os::unix::io::AsRawFd;
        let async_fd = tokio::io::unix::AsyncFd::new(connection.stream().as_raw_fd())?;
        let _guard = async_fd.readable().await?;
    }
}

It was this easy to implement

Yay. :-)
Just be careful: x11rb has an internal queue of pending events. Thus, it can happen that there is a pending event in the queue, but the socket is not readable. Even writing a request can cause new events to be read. That's why I'd recommend something event-specific. That is easier to mis-use.
Example:
async fn wait_for_event(connection: &RustConnection) -> Result<x11rb::protocol::Event>> {
    loop {
        if let Some(event) = connection.poll_for_event()? {
            return Ok(event);
        }
        use std::os::unix::io::AsRawFd;
        let async_fd = tokio::io::unix::AsyncFd::new(connection.stream().as_raw_fd())?;
        let _guard = async_fd.readable().await?;
    }
}

That's a good note, it's currently implemented like this. Since I'm only waiting for the channel to become readable i don't think the select should be problematic, thinking about cancel safety. I'm opting to just disregard the response too and poll for an event regardless after that wait.
let deadline = Duration::from_millis(500);
    loop {
        connection.flush()?;
        tokio::select! {
            _ = await_ready(&connection) => {},
            _ = tokio::time::sleep(deadline) => {},

        }
        while let Some(event) = connection.poll_for_event()? {
            manager.handle_event(event)?;
        }
        manager.redraw_status()?;
    }

Really like the crate and managed to construct a dwm inspired WM that I'm now using full-time kinda relating to this https://github.com/psychon/x11rb/issues/182 I'll publish it when I feel like it's stable!


Error when querying for user activity levels

I use a Davis Server on heroku connected to a Dynatrace Managed instance.
When querying for user activity levels I get an error: Must set a response

I get this result for all question regarding user activity levels, all other question work fine.
This happens weather there are active user sesssion or not.

@pahofmann would you be able to attach the logs?

Of course, it changed to "An unhandled error has occurred" now, here is the log:
amasoldavis-logs-1499958436708.txt

@pahofmann thanks for attaching the logs.  It looks the managed instance you're on doesn't support the prediction API.  This should be a straightforward change and we'll try and have something to release in the next few hours.

Great to hear, thanks! Just let me know if you need more information or want me to test anything :)

This stems from the fact that the managed tenant hasn't been updated to have the user activity prediction. Pushed a fix that should be released soon. @beeme1mr please close this ticket after release.

No problem we appreciate the feedback
On Jul 13, 2017 11:33 AM, "Patrick Hofmann"<EMAIL_ADDRESS>wrote:

Great to hear, thanks! Just let me know if you need more information or
want me to test anything :)
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/Dynatrace/davis-server/issues/276#issuecomment-315114700,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABibYwvb0zsT1xyrlavqRb5HKvnNhZGQks5sNjjFgaJpZM4OWp_8
.

@pahofmann Version 0.19.2 has been released to address this issue.  Please perform an update and let us know if that resolves the issue.
We've documented the process for upgrading on Heroku here.

There are some errors/warnings when doing the npm update, here is the log:
amasoldavis-console-1499962873601.txt

Would you be able to try to rebuild your node modules.  This guide should get you started.
https://coderwall.com/p/jjcpra/clean-heroku-npm-cache
If that still doesn't work, would you mind rebuilding your environment?  I just created a brand new app on Heroku with no issues.  If this isn't an option, we'll do our best to figure out the root cause.

I tried redeploying it, but ran into an error there aswell:

The second redeploy worked, the issue is fixed now.
Thanks for the quick help!


Fission reactor port from Mining Station 14

About the PR
This PR adds fission reactor from Mining Station 14 for settlers outpost
Why / Balance
Shrimple as: I dont like the current generator and would like to see some unique content for settlers
Technical details
This code is from almost two years outdated repository. NEVER try to port something from such outdated repos. Horrible mistake
Media

[x] I will eventually add screenshots/videos to this PR showcasing its changes ingame, this PR does require an ingame showcase

Changelog
:cl:

add: Added fission reactor for settlers

sounds cool! A fission reactor for them sounds pretty great, the other idea was refining fish into fuel for their generator, this is way better


Improve no perms error message

Currently, the error returned to users looks something like:
{"error":"Request in not authenticated with any of the supported schemes.","code":16,"message":"Request in not authenticated with any of the supported schemes."}
We should improve this to give more info. For example

Info on which schemes were tried (type, principal name, etc.) and, for each scheme, if it resulted in "permission denied" or an error.
What action the user was trying to make.

The goal is to help users understand if they're using the wrong creds, forgot to supply creds, if they're trying to perform some action other than what they intended, or if they just don't have perms. Currently, these events would all result in the same error message.
This is the part of the code that should be updated:
https://github.com/G-Research/armada/blob/master/internal/common/auth/authorization/common.go#L139

Hey team! Please add your planning poker estimate with ZenHub @dejanzele @jayofdoom @kannon92 @richscott

Going to take a look at this.

@severinson Right now it looks like the behavior is the following:
Pseudocode:
`for each auth service:
try to auth with service
if auth fails due to missing creds, try the next one
if auth fails because creds are invalid, error immediately
otherwise auth succeeded and we're good
endfor
if we get here we couldn't auth with any of the configured services so return an unauthenticated error
`
Do you want me to change the behavior of this function to continue trying services even if one errors on credentials?

Don't we log the request taking place in other gRPC middleware?

I think it's best we return an error immediately on this if auth fails because creds are invalid, error immediately.
(If I've said differently previously, I've changed my mind :) )
This doesn't relate to logging. It relates to the error returned to the user. Since users never see the logs, it'd be helpful for them if we returned an error that explains what they were trying to do and why it failed.


Swap inverse and simple fft methods – refs #17

As stated in https://github.com/dntj/jsfft/issues/17, this assumes a different convention than is used in this lib.


PG upgrade

Version 1.x has been out for a while now (changelog).
Since this is not a concern:

Remove compatibility code for Ruby < 2.0 and PostgreSQL < 9.2

I think it's time to upgrade. Updated Readme to match the requirements.

Thanks @janklimo! 💯


Error setting up preview GC simulation

The dry run for the 1-day preview simulation throws this error:
fatal error: An error occurred (404) when calling the HeadObject operation: Key "HEMCO/../BoundaryConditions/GEOSChem.BoundaryConditions.20180401_0000z.nc4" does not exist
This path would work:
../../ExtData/HEMCO/../BoundaryConditions/GEOSChem.BoundaryConditions.20180401_0000z.nc4
Unclear why ../../ExtData is missing for this file.
All that said, the error seems to be irrelevant -- the needed boundary condition file is present and the simulation runs correctly.

This looks like the format of a failed aws s3 cp command. That path does look odd... the boundary conditions should exist at s3://imi-boundary-conditions/GEOSChem.BoundaryConditions.20180401_0000z.nc4