Add Julia example [WIP]

This is a basic Julia example. I will update below when I complete tests locally. There is no automated testing in this repo it seems.
Julia client tested with

[x] Python server
[x] Go server ---> @ianmcook tested successfully
[x] C-sharp server ---> @ianmcook tested successfully
[x] Java server ---> @ianmcook tested successfully
[x] Rust server ---> @ianmcook tested successfully
[x] Ruby server ---> @ianmcook tested successfully

Julia server tested with

[x] Python client
[x] Go client
[x] C client ---> @ianmcook tested successfully
[x] C++ client ---> @ianmcook tested successfully
[x] C-sharp client
[x] Java client  ---> @ianmcook tested successfully
[x] Javascript client
[x] Julia client
[x] R client ---> @ianmcook tested successfully
[x] Rust client ---> @ianmcook tested successfully
[x] Ruby client ---> @ianmcook tested successfully

Closes https://github.com/apache/arrow-julia/issues/502

Thanks @simsurace!

This is a basic Julia example. I will update below when I complete tests locally. There is no automated testing in this repo it seems.

That's correct. I can help run all the tests. We intentionally didn't build out any automated tests here because the time to build and maintain them would probably exceed the time they save. Ultimately the examples from here will find their way to a permanent place and we will add proper integration tests there.

Oops, please disregard my message above about the schema. I was writing the file incorrectly.
I had added Arrow.write("output.arrow", batches) inside get_batches(). That caused the extra level of nesting to be added.
The right way to do it is like this:
open(Arrow.Writer, "output.arrow") do writer
  for batch in stream
    Arrow.write(writer, batch)
  end
end

When I do it that way, the nesting problem goes away.

What we're calling batches here is called an "Arrow table" in the Arrow.jl API. So you might want to replace instances of batches with table.

Hmm ok, I think I'm still confused about the nomenclature. Looking at the other implementations (e.g. Python), record batches seem to be small tables (i.e. 4096 rows), so wouldn't you expect the same schema/format as the full table, which has 100 million rows?

On closer inspection: actually batches is not an Arrow.Table — it's a Vector{Arrow.Table}. Considering that, the added layer of nesting in the output schema makes more sense. Sorry for any confusion here — the Julia implementation of Arrow is very new to me.

Yes, on macos there is a known issue that I think will be fixed in the next releases https://github.com/JuliaLang/julia/issues/54225

Great, thanks. It works fine for me if I reduce total_records to  10_000_000

I successfully tested this Julia server with all the other client examples 🎉
Just one small thing: The int64 columns created in the server example are non-nullable (they have no validity bitmap). All the other server examples create nullable int64 columns (with a validity bitmap). Is it possible to make them nullable here for consistency?

Sure! I will do that.

I would like to ask for feedback on the Julia community channels for how to make this more performant, but we can also do this in a follow-up PR.

I think this is ready to merge as a functional first version. I would propose to put any possible performance enhancement in a new PR.

Thank you @simsurace!


Question: numeric mask extension

Hi, I'm looking for workaround for https://github.com/RobinHerbots/jquery.inputmask/issues/1329
Found that rootcause in events, firing by browser: it seems, keydown event doesn't trigger, only keypress and input. Input handler (inputFallBackEvent) invokes checkVal, checkVal invokes onBeforeWrite, where is clause
if (e && (e.type === "blur" || e.type === "checkval" || e.type === "keydown"))
e.type is 'checkval' and its cause
processValue = floatValue.toString().replace(".", opts.radixPoint).split('');
that loses radix symbol. With clause
if (e && (e.type === "blur" || e.type === "keydown"))
all works fine. Could it be that  e.type === "checkval" is redundant?

@Enfree ,
Thx for the extra info.  Sorry that there is barely response currently but all time I spend on the inputmask goes to the alternation logic..
Can you pass inputEventOnly: true as extra option and test the same in Chrome on PC.    Does this gives the same issue?

@RobinHerbots ,
Thx for reply :)
Yep, with inputEventOnly: true issue the same. Tested under PC Chrome(45.0.2454.101) and Firefox(47.0.1)

@Enfree ,
Latest commit fixes the entry of the radixPoint.
I still struggle with positioning the caret correctly when using the currency alias with the inputfallback.


Help
munmap_chunk(): invalid pointer
make[2]: *** [package/pkg-generic.mk:368: /opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig/build/ai/.stamp_target_installed] Aborted (core dumped)
make[1]: *** [Makefile:23: _all] Error 2
make[1]: Leaving directory '/opt/k510_buildroot/k510_crb_lp3_v1_2_defconfig'
make: *** [Makefile:80: all] Error 2

I can't reproduce the problem,Could you please add how to reproduce the problem?


Getting couldn't render output unit -50 for cases using audio in

Device is fine but simulator always gives this error. Tried on Xcode 4.3 and 4.4 and on different MacBooks. Anyone else see this?

Still an issue with recording block on a latest osx + iphone 6 simulator. Happened the first time in several weeks. Restart doesn't help.

I found one problem in audio processing. In simulator it's works fine but problem in iOS devices.
Audio File :https://www.dropbox.com/s/1eybs11wog8v3rz/Policemen %26 Pirates.mp3?dl=0
After 5 second there is guitar sound for 4-5 seconds. That guitar sound missing in iOS device.
If any one help me then it would be great.
Thanks in advance.

I just encountered a similar problem with both an iPhone 6S and a new iPad mini. In this case iNumberFrames was occasionally 236, and forcing it to 235 solved the problem.

        ThanksI'll try and let you know.---- On Mon, 16 May 2016 08:24:38 -0400  Andy<EMAIL_ADDRESS>wrote ----I just encountered a similar problem with both an iPhone 6S and a new iPad mini. In this case iNumberFrames was occasionally 236, and forcing it to 235 solved the problem.  —You are receiving this because you commented.Reply to this email directly or view it on GitHub


[Bug]: The custom widget Icon seems to be broken when user search for a widgets in widgets section

Is there an existing issue for this?

[X] I have searched the existing issues

Description
The custom widget Icon seems to be broken when user search for a widgets in widgets section

Steps To Reproduce

go to edit mode of the application
In the entity explorer section click on UI tab
search for the widget name which is not present
The custom widget icon will be displayed but seems like broken as in attached screenshot

Public Sample App
No response
Environment
Release
Severity
Medium (Frustrating UX)
Issue video log
No response
Version
v1.25

#33535


[freetype] build failure in manifest mode because of brotli dependency from while installing qt5-base

Host Environment

OS: Windows 10
Compiler: Visual Studio 2022

To Reproduce
Steps to reproduce the behavior:
Specify in vcpkg.json
{
    "name": "object-creator-vcpkg-dependencies",
    "version-string": "0.F",
    "dependencies": [
        "qt5-base"
    ]
}

Specify in project file
<VcpkgUserTriplet>x64-windows-static</VcpkgUserTriplet>

Build project in VS, ensuring x64 configuration.
Failure logs
1>Starting package 1/17: freetype:x64-windows
1>Building package freetype[brotli,bzip2,core,png,zlib]:x64-windows...
1>-- Using cached freetype-2.11.1.tar.xz.
1>-- Extracting source C:/src/vcpkg/downloads/freetype-2.11.1.tar.xz
1>-- Applying patch 0003-Fix-UWP.patch
1>-- Applying patch fix-bzip2-pc.patch
1>-- Applying patch brotli-static.patch
1>-- Applying patch fix-exports.patch
1>-- Using source at C:/src/vcpkg/buildtrees/freetype/src/0848678482-76dc045edb.clean
1>-- Configuring x64-windows
1>CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:128 (message):
1>    Command failed: ninja -v
1>    Working Directory: C:/src/vcpkg/buildtrees/freetype/x64-windows-rel/vcpkg-parallel-configure
1>EXEC : error code: 1
1>    See logs for more information:
1>      C:\src\vcpkg\buildtrees\freetype\config-x64-windows-out.log
1>
1>Call Stack (most recent call first):
1>  C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:415 (vcpkg_execute_required_process)
1>  ports/freetype/portfile.cmake:29 (vcpkg_cmake_configure)
1>  scripts/ports.cmake:145 (include)
1>
1>
1>EXEC : error : Building package freetype:x64-windows failed with: BUILD_FAILED
1>Please ensure you're using the latest portfiles with `git pull` and `.\vcpkg update`.
1>Then check for known issues at:
1>  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+freetype
1>You can submit a new issue at:
1>  https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[freetype]+Build+error
1>including:
1>  package: freetype[brotli,bzip2,core,png,zlib]:x64-windows -> 2.11.1
1>    vcpkg-tool version: 2022-03-09-1affd32f93b299d5a907816c328ca3ededb73a7e
1>    vcpkg-scripts version: af2287382 2022-03-11 (2 days ago)
1>
1>Additionally, attach any relevant sections from the log files above.
1>C:\src\vcpkg\scripts\buildsystems\msbuild\vcpkg.targets(156,5): error MSB3073: The command ""C:\src\vcpkg\vcpkg.exe" install  --x-wait-for-lock --triplet "x64-windows-static" --vcpkg-root "C:\src\vcpkg\\" "--x-manifest-root=C:\src\Cataclysm-DDA\msvc-object_creator\\" "--x-install-root=C:\src\Cataclysm-DDA\msvc-object_creator\vcpkg_installed\x64-windows-static\\" --clean-after-build" exited with code 1.
1>Done building project "ObjectCreator-vcpkg-static.vcxproj" -- FAILED.

C:\src\vcpkg\buildtrees\freetype\config-x64-windows-out.log:
[1/2] "C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -E chdir "C:/src/vcpkg/buildtrees/freetype/x64-windows-rel" "C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -S "C:/src/vcpkg/buildtrees/freetype/src/0848678482-76dc045edb.clean" "-DFT_DISABLE_HARFBUZZ=ON" "-DFT_REQUIRE_ZLIB=ON" "-DFT_REQUIRE_BZIP2=ON" "-DFT_REQUIRE_PNG=ON" "-DFT_REQUIRE_BROTLI=ON" "-DFT_DISABLE_ZLIB=OFF" "-DFT_DISABLE_BZIP2=OFF" "-DFT_DISABLE_PNG=OFF" "-DFT_DISABLE_BROTLI=OFF" "-DCMAKE_MAKE_PROGRAM=C:/src/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/src/vcpkg/" "-D_VCPKG_INSTALLED_DIR=C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/" "-DVCPKG_MANIFEST_INSTALL=OFF" "-DCMAKE_DISABLE_SOURCE_CHANGES=ON" -G "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=C:/src/vcpkg/packages/freetype_x64-windows"
FAILED: ../CMakeCache.txt
"C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -E chdir "C:/src/vcpkg/buildtrees/freetype/x64-windows-rel" "C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -S "C:/src/vcpkg/buildtrees/freetype/src/0848678482-76dc045edb.clean" "-DFT_DISABLE_HARFBUZZ=ON" "-DFT_REQUIRE_ZLIB=ON" "-DFT_REQUIRE_BZIP2=ON" "-DFT_REQUIRE_PNG=ON" "-DFT_REQUIRE_BROTLI=ON" "-DFT_DISABLE_ZLIB=OFF" "-DFT_DISABLE_BZIP2=OFF" "-DFT_DISABLE_PNG=OFF" "-DFT_DISABLE_BROTLI=OFF" "-DCMAKE_MAKE_PROGRAM=C:/src/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/src/vcpkg/" "-D_VCPKG_INSTALLED_DIR=C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/" "-DVCPKG_MANIFEST_INSTALL=OFF" "-DCMAKE_DISABLE_SOURCE_CHANGES=ON" -G "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=C:/src/vcpkg/packages/freetype_x64-windows"
-- The C compiler identification is MSVC 19.31.31103.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Preview/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found ZLIB: optimized;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/lib/zlib.lib;debug;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/debug/lib/zlibd.lib (found version "1.2.11")
-- Found PNG: optimized;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/lib/libpng16.lib;debug;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/debug/lib/libpng16d.lib (found version "1.6.37")
-- Found BZip2: optimized;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/lib/bz2.lib;debug;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/debug/lib/bz2d.lib (found version "1.0.8")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
CMake Error at C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find BrotliDec (missing: BROTLIDEC_LIBRARIES)
Call Stack (most recent call first):
  C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  builds/cmake/FindBrotliDec.cmake:51 (find_package_handle_standard_args)
  C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake:800 (_find_package)
  CMakeLists.txt:283 (find_package)

-- Configuring incomplete, errors occurred!
See also "C:/src/vcpkg/buildtrees/freetype/x64-windows-rel/CMakeFiles/CMakeOutput.log".
[2/2] "C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -E chdir "C:/src/vcpkg/buildtrees/freetype/x64-windows-dbg" "C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -S "C:/src/vcpkg/buildtrees/freetype/src/0848678482-76dc045edb.clean" "-DFT_DISABLE_HARFBUZZ=ON" "-DFT_REQUIRE_ZLIB=ON" "-DFT_REQUIRE_BZIP2=ON" "-DFT_REQUIRE_PNG=ON" "-DFT_REQUIRE_BROTLI=ON" "-DFT_DISABLE_ZLIB=OFF" "-DFT_DISABLE_BZIP2=OFF" "-DFT_DISABLE_PNG=OFF" "-DFT_DISABLE_BROTLI=OFF" "-DCMAKE_MAKE_PROGRAM=C:/src/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/src/vcpkg/" "-D_VCPKG_INSTALLED_DIR=C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/" "-DVCPKG_MANIFEST_INSTALL=OFF" "-DCMAKE_DISABLE_SOURCE_CHANGES=ON" -G "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=C:/src/vcpkg/packages/freetype_x64-windows/debug"
FAILED: ../../x64-windows-dbg/CMakeCache.txt
"C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -E chdir "C:/src/vcpkg/buildtrees/freetype/x64-windows-dbg" "C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -S "C:/src/vcpkg/buildtrees/freetype/src/0848678482-76dc045edb.clean" "-DFT_DISABLE_HARFBUZZ=ON" "-DFT_REQUIRE_ZLIB=ON" "-DFT_REQUIRE_BZIP2=ON" "-DFT_REQUIRE_PNG=ON" "-DFT_REQUIRE_BROTLI=ON" "-DFT_DISABLE_ZLIB=OFF" "-DFT_DISABLE_BZIP2=OFF" "-DFT_DISABLE_PNG=OFF" "-DFT_DISABLE_BROTLI=OFF" "-DCMAKE_MAKE_PROGRAM=C:/src/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/src/vcpkg/" "-D_VCPKG_INSTALLED_DIR=C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/" "-DVCPKG_MANIFEST_INSTALL=OFF" "-DCMAKE_DISABLE_SOURCE_CHANGES=ON" -G "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=C:/src/vcpkg/packages/freetype_x64-windows/debug"
-- The C compiler identification is MSVC 19.31.31103.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Preview/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found ZLIB: optimized;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/lib/zlib.lib;debug;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/debug/lib/zlibd.lib (found version "1.2.11")
-- Found PNG: optimized;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/lib/libpng16.lib;debug;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/debug/lib/libpng16d.lib (found version "1.6.37")
-- Found BZip2: optimized;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/lib/bz2.lib;debug;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/debug/lib/bz2d.lib (found version "1.0.8")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
CMake Error at C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find BrotliDec (missing: BROTLIDEC_LIBRARIES)
Call Stack (most recent call first):
  C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  builds/cmake/FindBrotliDec.cmake:51 (find_package_handle_standard_args)
  C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake:800 (_find_package)
  CMakeLists.txt:283 (find_package)

-- Configuring incomplete, errors occurred!
See also "C:/src/vcpkg/buildtrees/freetype/x64-windows-dbg/CMakeFiles/CMakeOutput.log".
ninja: build stopped: subcommand failed.

Additional context
Installing qt5-base on commandline directly results in a different error (#23539)
Freetype installed as a dependency of eg. sdl2 does not result in build error. It seems specific to the additional brotli dependency.

cc @Neumann-A

Starting package 3/3: freetype:x64-windows
Building package freetype[brotli,bzip2,core,png,zlib]:x64-windows...
-- Using cached freetype-2.11.1.tar.xz.
-- Extracting source E:/vcpkg_cache/downloads/freetype-2.11.1.tar.xz
-- Applying patch 0003-Fix-UWP.patch
-- Applying patch fix-bzip2-pc.patch
-- Applying patch brotli-static.patch
-- Applying patch fix-exports.patch
-- Using source at E:/vcpkg_folders/master/buildtrees/freetype/src/0848678482-6d52b0e1f7.clean
-- Configuring x64-windows
-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Fixing pkgconfig file: E:/vcpkg_folders/master/packages/freetype_x64-windows/lib/pkgconfig/freetype2.pc
-- Using cached msys-mingw-w64-i686-pkg-config-0.29.2-3-any.pkg.tar.zst.
-- Using cached msys-mingw-w64-i686-libwinpthread-git-<IP_ADDRESS>73.5be8fcd83-1-any.pkg.tar.zst.
-- Using msys root at E:/vcpkg_cache/downloads/tools/msys2/9a1ec3f33446b195
-- Fixing pkgconfig file: E:/vcpkg_folders/master/packages/freetype_x64-windows/debug/lib/pkgconfig/freetype2.pc
-- Installing: E:/vcpkg_folders/master/packages/freetype_x64-windows/share/freetype/copyright
-- Performing post-build validation
-- Performing post-build validation done
Stored binary cache: E:\vcpkg_cache\binaries\f5\f5c37625c58bbdc5bcebea3dad4a189f8faa44f7a0d9edff03965437175fd186.zip
Installing package freetype[brotli,bzip2,core,png,zlib]:x64-windows...
Elapsed time for package freetype:x64-windows: 9.159 s

probably an outdated  brotli package? or not using latest vcpkg but some version which was broken.

Can you please update vcpkg using git pull and try again?
Thanks.

I was pretty sure I was testing on an up to date repo, but I tested again on a different machine with identical results.
Notice in the original logs
1>  package: freetype[brotli,bzip2,core,png,zlib]:x64-windows -> 2.11.1
1>    vcpkg-tool version: 2022-03-09-1affd32f93b299d5a907816c328ca3ededb73a7e
1>    vcpkg-scripts version: af2287382 2022-03-11 (2 days ago)

And just now tested with
1>  package: freetype[brotli,bzip2,core,png,zlib]:x64-windows -> 2.11.1
1>    vcpkg-tool version: 2022-03-09-1affd32f93b299d5a907816c328ca3ededb73a7e
1>    vcpkg-scripts version: 965961552 2022-03-14 (11 hours ago)

I'm on vcpkg commit 965961552d9dca07ee88e89c8a236afdda2d7a14
Interestingly on this new machine I can install qt5-base on the commandline successfully when run from inside the vcpkg repo. This error only occurs in manifest mode.

From the other issue (#23539) it was suggested to set the host triplet to x64-windows-static. Once I did so, the build succeeded, so the issue seems to be specific to the non-static build.

can confirm this. Classic mode will build freetype in x64-windows but not with manifest mode.

The reported lack of brotli is obvious but there is more:

[2/2] "C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -E chdir "C:/src/vcpkg/buildtrees/freetype/x64-windows-dbg" "C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -S "C:/src/vcpkg/buildtrees/freetype/src/0848678482-76dc045edb.clean" "-DFT_DISABLE_HARFBUZZ=ON" "-DFT_REQUIRE_ZLIB=ON" "-DFT_REQUIRE_BZIP2=ON" "-DFT_REQUIRE_PNG=ON" "-DFT_REQUIRE_BROTLI=ON" "-DFT_DISABLE_ZLIB=OFF" "-DFT_DISABLE_BZIP2=OFF" "-DFT_DISABLE_PNG=OFF" "-DFT_DISABLE_BROTLI=OFF" "-DCMAKE_MAKE_PROGRAM=C:/src/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/src/vcpkg/" "-D_VCPKG_INSTALLED_DIR=C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/" "-DVCPKG_MANIFEST_INSTALL=OFF" "-DCMAKE_DISABLE_SOURCE_CHANGES=ON" -G "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=C:/src/vcpkg/packages/freetype_x64-windows/debug"
FAILED: ../../x64-windows-dbg/CMakeCache.txt
"C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -E chdir "C:/src/vcpkg/buildtrees/freetype/x64-windows-dbg" "C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/bin/cmake.exe" -S "C:/src/vcpkg/buildtrees/freetype/src/0848678482-76dc045edb.clean" "-DFT_DISABLE_HARFBUZZ=ON" "-DFT_REQUIRE_ZLIB=ON" "-DFT_REQUIRE_BZIP2=ON" "-DFT_REQUIRE_PNG=ON" "-DFT_REQUIRE_BROTLI=ON" "-DFT_DISABLE_ZLIB=OFF" "-DFT_DISABLE_BZIP2=OFF" "-DFT_DISABLE_PNG=OFF" "-DFT_DISABLE_BROTLI=OFF" "-DCMAKE_MAKE_PROGRAM=C:/src/vcpkg/downloads/tools/ninja/1.10.2-windows/ninja.exe" "-DBUILD_SHARED_LIBS=ON" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=C:/src/vcpkg/" "-D_VCPKG_INSTALLED_DIR=C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/" "-DVCPKG_MANIFEST_INSTALL=OFF" "-DCMAKE_DISABLE_SOURCE_CHANGES=ON" -G "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=C:/src/vcpkg/packages/freetype_x64-windows/debug"
-- The C compiler identification is MSVC 19.31.31103.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Preview/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found ZLIB: optimized;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/lib/zlib.lib;debug;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/debug/lib/zlibd.lib (found version "1.2.11")
-- Found PNG: optimized;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/lib/libpng16.lib;debug;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/debug/lib/libpng16d.lib (found version "1.6.37")
-- Found BZip2: optimized;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/lib/bz2.lib;debug;C:/src/Cataclysm-DDA/msvc-object_creator/vcpkg_installed/x64-windows-static/x64-windows/debug/lib/bz2d.lib (found version "1.0.8")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
CMake Error at C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find BrotliDec (missing: BROTLIDEC_LIBRARIES)
Call Stack (most recent call first):
  C:/src/vcpkg/downloads/tools/cmake-3.22.2-windows/cmake-3.22.2-windows-i386/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  builds/cmake/FindBrotliDec.cmake:51 (find_package_handle_standard_args)
  C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake:800 (_find_package)
  CMakeLists.txt:283 (find_package)

This is building with "-DVCPKG_TARGET_TRIPLET=x64-windows" but taking ZLIB, PNG and BZip2 from x64-windows-static.
There is nothing wrong about building some x64-windows ports when this is the host triplet. But the host triplet must use its native libraries.

This is building with "-DVCPKG_TARGET_TRIPLET=x64-windows" but taking ZLIB, PNG and BZip2 from x64-windows-static.
There is nothing wrong about building some x64-windows ports when this is the host triplet. But the host triplet must use its native libraries.

Ah no, this is the manifest install tree with <host-triplet>/<target-triplet>. Sorry for the noise.


reduce dependencies

We were importing a few libs just because of a single constant value, instead, why not use the value directly?
From https://pkg.go.dev/golang.org/x/net/html/atom Br = 0x202

Because that's the whole point of libraries. It might be one point, but definitely not the whole point.
The compiler will do the right thing and only pull in what is actually needed. But we still need to download all dependencies because of a single constant value.
These atom types will most likely be used more and more as we lean on goquery over regex. Good point! But when it happens, we can always import the package again if needed, but as of now, I can't seem to find a reason to have it.
I don't see why we should remove the whole block though instead of what I did with this PR.
Let me know what you think :)

I'm fine with this change going in. I'd request that you put a comment above the const with the link to the doc you linked above. It'll make it easier to understand where we picked a random 0x202 :D

Good point! Totally agree.
Will do!


feat: input for duration should show days, hours and minutes

The input with duration like min duration, max duration, timelock delay should be divided in 3 input with days hours and minutes

or it can be one date input to select end date with calendar

Can it be one date input to select end date with calendar?

It's duration not a date.

yeah it's a duration, but from the user perspective can it be like "we want to finish voting on a Sunday evening" so user need to calculate duration to specific date.

How would that work, this is a global settings for the space not for a specific proposal

So all proposals in a space has the same duration? If so setting a date is pointless.

Ah yeah it is for min/max duration, sorry


make web uses custom index.html

make emscripten is now make web, and generates js + wasm + data but not html: the index.html is now outside of the emscripten build and we can customize it.

que velocidá!


Add an error code for missing docstring in a package

Missing docstring in __init__.py files should be a different error than in a regular module.

Is it so this can be ignored more easily?

Yes. I find that docstring in (mostly empty) __init__.py files are usually ignored, as opposed to regular models.

If this is done, I suggest it should only a different code if the init.py is effectively empty, and preferably without imports.  But in that case, why not just exclude the init.py entirely?

@jayvdb No one is arguing that this should be off by default but that it should just be an entirely separate error.

I didnt mention 'default'.
I am suggesting it isnt a separate problem deserving of a separate error code unless the contents of the file are somehow different.  a/foo/init.py is not substantially different from a/foo.py unless a/foo/bar.py exists.


Catch could not resolve dependency: peer<EMAIL_ADDRESS>error when deploying my react app to netlify

Effector dependencies in my project:
"effector": "^22.1.1",
"effector-react": "^22.0.4",
"patronum": "^1.1.0",

@MiiZZo You can try to update to next version:
yarn add patronum@next
# or
npm add patronum@next

Looks like<EMAIL_ADDRESS>supports effector >= 22.1.2

https://github.com/effector/patronum/releases/tag/v1.7.0


"blind inhibitor"

Inhibitor which became visible and effective if player open several (for instance 3) Shield Keys.

One more variant:
A) Simple case. We have 2 shield keys with number 1 and 2. MapMaker place on map 2 semi-visible (non-active) inhibitors with numbers 12 and 21. If player (when play a map) will get at first shield key 1 and then 2 will be activated Inhibitor with number 12. If shield key 2 and then 1, - Inhibitor with number 21.
B) Complicated case for big map. If we have 3 shield keys it will be 6 variants of Inhibitors with numbers 123, 132, 213, 231, 312 and 321.

Before activation any of Inhibitors on the map can't be destroyed.

Done,
A generic solution is in template: Any number of keys possible (1,2,3,4,...), also a single Inhibitor can have multiple combinations (for example: with 4 keys, have 4 inhibitors, and only the last key will determine which inhibitor will spawn - however mapmaker needs to set 6 combinations in each inhibitor by hand).
In template are 3 keys and 3 inhibitors, each have 2 combinations, but in general, any inhibitor can have any number of combinations, they don't have to have the same amount.


If ControlMaster auto is specified aptible db:tunnel will open a connection but quit immediately

The fix was to add:
Host *.aptible.in,*.aptible.com
  ControlMaster no

to the TOP of ~/.ssh.config (since the earliest definition found will be used, and most people using ControlMaster auto have it in a Host * block at the top of the file).

Thanks. I've tested this a bit locally, and it looks like the root cause is that when using a ControlMaster, only the SendEnv options from the SSH connection that started the master are honored.
We use environment variables extensively when the aptible cli communicates with its server-side component, for at least two particular use cases:

When you run aptible ssh, we set APTIBLE_APP to indicate which app you want to SSH into.
When you run aptible db:tunnel, we set APTIBLE_DATABASE, to indicate which DB you want to tunnel into.

I tested this by enabling debug logging in SSH, and here's what I found:

When running aptible ssh first, you can create new SSH sessions (to different apps). A different value for APTIBLE_APP will be sent if you SSH into a different app (as expected). However, you can't create a DB tunnel, because APTIBLE_DATABASE will not be sent.
Conversely, when you run aptible db:tunnel first, you can create new DB tunnels. However, aptible ssh won't work.

I'm inclined to think this is a bug in SSH's ControlMaster, but I can't speak to its exact implementation details / requirements. This might be worth asking about upstream, though.
In the meantime, I'm going to disable ControlMaster in the Aptible CLI for all connections.

Thanks Thomas! ✨


Cleanup docker and deploy

I might've fixed the deploy problem, and even if I didn't, it'll no longer cause the build as a whole to fail. It'll also output information about the failure if that does happen.


Blacklist chromosome notation

If the blacklist chromosome notation is different from the vcf chromosome notations eg. 1 vs chr1, then the blacklist filtering will fail silently.
I recommend converting the internal chromosome notations as follows for both the blacklists and vcf:
chr = columns[0]
chr = chr.lower()
chr = re.sub("chr|chrom", "", chr)
blacklist[chr][int(columns[1])] = 1

Added a pull request with a fix.


Fixed ptr derefencing when codec did not return any pixcel format

…like when saving H264 without libx264 linked in.

Thanks!


Links to files in subdirectories do not work

I noticed that links from the kanban table to files in subdirectories do not work. I have a bunch of org files for individual projects that are organized in subdirectories to a common org-directory, where I have a master file with several kanban tables using something like kanban: scope(projects/first.org).
I think the reason is that the code to create links uses current-buffer converted to a string as the file name, which only works if all files are in the same directory.
I don't know enough about the code yet, but the following appears to work in my case:
(defun org-kanban//link-for-custom-id (custom-id file description)
  "Create a link for CUSTOM-ID, optionally USE-FILE FILE and DESCRIPTION."
  (if custom-id
    (format "[[file:%s::#%s][%s]]" (file-relative-name (buffer-file-name file) org-directory) custom-id description)
    nil))
(defun org-kanban//link-for-heading (heading file description)
  "Create a link for a HEADING optionally USE-FILE a FILE and DESCRIPTION."
  (if heading
      (format "[[file:%s::*%s][%s]]" (file-relative-name (buffer-file-name file) org-directory) heading description)
    (error "Illegal state")))

where org-directory is the base path of the org files that I keep. (In principle, just (buffer-file-name file) instead of file would do I guess.)

Thanks for the bugreport. This is indeed a scenario that I never looked at. On a first glance your solution does not break anything, besides putting absolute filepaths into the table. (without the file-relative-name to org-directory).
Best would be possibly to make the link relative to the file that defines the table though.

Some experimenting showed, that
(file-relative-name (buffer-file-name file) (file-name-directory (buffer-file-name (current-buffer))))

gives a nice relative name, at least fo the subfolder usecase.

Thank you for the fast reply! I confirm your solution works for me.


Bump versions for Bumblebee

Updated versions of:
Kotlin, AGP and gradle
compileSDK and targetSDK
dependencies
removed lines:
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
set up:
android:exported="true" in Manifest
jcenter() replaced with mavenCentral()

Actually, please abandon this one as the branch is not relevant anymore


Fix joystick hat button press detection for up-left direction

Joystick hat switch button in the up-left direction is always pressed in neutral position (at least on 10.11). It looks like on macOS the directions array should start with the neutral bitfield first rather than last like on Windows. This was tested using tests/joysticks.app. However, it has not been tested on other versions of macOS.

Thank you, will review ASAP.

Cannot reproduce with a no-name 360 controller on 10.12.3 and other project I've checked interprets 0-8 in the same way as GLFW currently does. What hardware did you use?

Used Saitek Cyborg 3D USB (real) joystick. Unfortunately don't have a handheld controller.

Are you using a OEM or third-party driver for it?

I am using whatever OSX provides as the driver. No specific driver from Saitek is being used.

Sorry, I don't know what to do then, unless it's to hard-code a workaround for this specific device.

Hmm... it seems like more information (or hardware) is required. I don't have a handheld controller to compare against and it sounds like you don't have a joystick. I guess this issue is stuck.

@yerejm Please check if current master still has this problem.

Still has same problem although the code looks different. It works for me only if center position is the first in the states array. However, perhaps this code in getElementValue might be the real problem:
71             // Record min and max for auto calibration
72             if (value < element->minimum)
73                 element->minimum = value;

value for center using the joystick is 0, but the minimum is 1. However, this changes the meaning of value since it is assumed to correspond with the states array that provides the hat direction. (Maybe max handling is questionable also?)
If that auto-calibration of min was removed and if the code in _glfwPlatformPollJoystick was like this:
390             long state = getElementValue(js, hat) - hat->minimum;
391             if (state < 0 || state > 8)
392                 state = 8;

The state condition would move the center value to the correct state index.
But again, I have no handheld controller to see what its minimum value is reporting. Since it works for you, perhaps it returns 0, so everything works out?

My controller reported the range [0,7] for the hat and sent 15 for the center position. Thank you for spotting this! It should be fixed now with 55d0560746632deb2df0807f4ba190383a353ad2.


New package: Google.Pinyin version <IP_ADDRESS>

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
Resolve #168081

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Verify:

Only 2 of the applications launched. None showed version data, that I could see.


Upgrade log4j to 2.17.1

There's a new RCE vulnerability reported in log4j where the attacker can execute remote code by modifying the log4j configuration file to use JDBC Appender with a data source referencing a JNDI URI.
This log4j version fixes this issue by limiting JNDI data source names to the java protocol.
Link to source - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44832

Codecov Report

Merging #7970 (890ce50) into master (88f1dda) will decrease coverage by 3.10%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #7970      +/-   ##
============================================
- Coverage     71.37%   68.27%   -3.11%
+ Complexity     4194     4117      -77
============================================
  Files          1595     1201     -394
  Lines         82579    59830   -22749
  Branches      12321     9225    -3096
============================================
- Hits          58944    40849   -18095
+ Misses        19656    16118    -3538
+ Partials       3979     2863    -1116

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
68.27% <ø> (+0.05%)
:arrow_up:

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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

Duplicates #7964


Enable state transfer even if a remote cache is enabled

This re-enables the state transfer even if the remote store is enabled.
There are some situations when listing user sessions for example in InfinispanUserSessionProvider where cache loaders are skipped, so all entries should be in the cache for this case. The state transfer ensures that this is the case when a node joins or leaves.
https://github.com/keycloak/keycloak/blob/c036980c3759b833d98030cf1299297a7ec97436/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProvider.java#L396-L397

@pruivo - if you have the time, please comment on this PR. I see this as a step backwards in terms of performance, but it seems to me that it is the only way to produce correct results.

@ahus1 the PR looks ok to me.

@ahus1 Having second thought, the code in [1] needs to be fixed. It won't behave properly in the following scenarios

if num-owners Keycloak servers crash, the sessions are lost from in-memory embedded Infinispan, and the iteration will miss those.
Keycloak receives an XML configuration file and users may configure it to limit the number of sessions in memory (eviction). Once again, the iteration won't be correct and won't return all sessions.

[1] https://github.com/keycloak/keycloak/blob/c036980c3759b833d98030cf1299297a7ec97436/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/InfinispanUserSessionProvider.java#L396-L397

I think all of that was done for performance reasons to not touch the remote store. I wonder how much performance impact we could expect here when we allow accessing the remote store. I need to understand better how Infinispan behaves.

As discussed on the call: Using the remote store here would always fetch all entries from the remote store, which would have quite a performance penalty. Deferring optimizations to when we move to a remove Infinispan (possibly with Ickle queries)


Update model-evaluation sample app to use stateless ONNX-RT

@kkraune Please review.
However, don't merge yet. This requires Vespa version >= 7.246.5 in open source which is not yet available.
Showcases 5 use cases of stateless evaluation:

REST API
Handler
Searcher for processing a query
Doc proc for processing a feed
Post processing for batch evaluation of results from the backend

@jobergum FYI.


feat: Setup Organization Managers - [merged]

Merges 39-org-manager -> development

#39

added 5m of time spent

mentioned in commit 991ddc3d7f67f40e3d210025b6c38726e80ba460

added 2 commits
14acea31 - feat(access): add organization manger84866185 - feat(access): add notes field to organization
Compare with previous version

mentioned in commit 109fc49d76913574530ee4da22661dede1c12519

mentioned in commit da8946fcb60cd626dc56011364949d44e5575417

mentioned in commit 14acea31f286541ef75358ee37062ee042ea8ca8

mentioned in commit f531e3cec59d40a7173ec572a273b0b718f0b74a

mentioned in commit 9a40d095e876c99c2aa543ab8f5777aca53fd3a2

mentioned in commit 848661856a44de31ee2116c1b5c4445fe6daf654

added 10 commits
da8946fc - test(access): add test cases for model view as organization manager109fc49d - test(access): add test cases for model change as organization managere4f5ec48 - test(access): add test cases for model addd as organization manager35c11ed6 - test(access): add test cases for model delete as organization manager991ddc3d - refactor(access): relocate permission check to own function9a40d095 - test(access): organization model permission check for organization manager33b10f71 - test(access): team model permission check for organization managerc15eca2e - test(access): team user model permission check for organization managerf531e3ce - documentation(access): add link to docs on organization pagebb1dad43 - documentation(access): add link to docs on team page
Compare with previous version

mentioned in commit e4f5ec48928b83ac4c4468386cb341f95b009e93

mentioned in commit 35c11ed6f0564c94ba93ef338e4b318192718bda

mentioned in commit 33b10f710987da19d7abcf69d3047f255326a0d5

added 5h 3m of time spent

added 2 commits
aef276b7 - docs(access): add link to docs on organization page27b62d10 - docs(access): add link to docs on team page
Compare with previous version

mentioned in commit aef276b76c4636290d76735e7a390178e3bef12b

mentioned in commit 27b62d10180e0a299554fc72d2bd0faacf2e3b75

mentioned in commit c15eca2e581d7f2d5ece59a9895a227fd03716d1

mentioned in commit bb1dad439a4c9366929a8ef39f693dfc1dbcc678

mentioned in commit 8abbf2ff9e33e1607be11be2c4757038334c0d11

mentioned in commit 108398da4b2cd9280b65c6fef3bdc6cc0e9758e3

enabled an automatic merge when all merge checks for 94375dc30e34175c126cb748e14f28d3c30b9066 pass

added 50m of time spent

added 1 commit
2e7f810c - docs(access): correct doc warnings
Compare with previous version

added 2 commits
108398da - docs: rejig94375dc3 - chore: add default MR template
Compare with previous version

mentioned in commit 94375dc30e34175c126cb748e14f28d3c30b9066

added 1 commit
8abbf2ff - docs(access): correct doc warnings
Compare with previous version

mentioned in commit 2e7f810cd9edd64169c87dcb01cf529c4a318971

aborted the automatic merge because source branch was updated

added 4m of time spent

mentioned in commit 488a12df458d21d37ad689213ed1c9aa527fef6e

added 1 commit
a9485687 - docs: correct testing link
Compare with previous version

enabled an automatic merge when all merge checks for a94856879e740a261354f2fce8b1f213c5afcf86 pass

mentioned in commit a94856879e740a261354f2fce8b1f213c5afcf86


no curve rendering in default build

Hello
Thanks for the great work on this library for years.
The curve renderer (sigma.canvas.edges.curve) is not included in the default build... is it on purpose or just a forgotten item ? If on purpose, can I configure the build to include it ?
Thanks again for sigma.js in general :)

Hi,
I get the same problem (current build of SigmaJS : 1.2.0).
I can use 'arrow' edgeType, but not 'curve'.
When I saw this post, I tried to add this file in my index.html, but without any effect :
<script src="path/to/sigma.canvas.edges.curve.js" type="text/javascript"></script>
On the other hand, I could change the edgeType only browsing the edges of the graph like this :
var type=''; // arrow / line / curve / ...
sigInst.graph.edges().forEach(function(e) { e.type = type; });
sigInst.refresh();
The following attempts didn't work :
sigInst.renderers[0].settings('renderer1:defaultEdgeType', type); /* KO */
sigInst.renderers[0].settings('defaultEdgeType', type); /* KO */
sigInst.settings('renderer1:defaultEdgeType', type); /* KO */
sigInst.settings('defaultEdgeType', type);	/* KO */
Did I missed something ?

Hi,
The point was resolved (duplicate from issue 869).
I had to add all the files from the plugin directory (sigma.renderers.parallelEdges) to my index.html and then  sigInst.graph.edges().forEach(function(e) { 	e.type = 'curve'; });  worked for me)

Hi,
I stubbled on this issue while searching a solution to display two nodes referencing each other correct (which by default produces 2 overlapping straight edges).
Looking at the latest CDN libs, I cannot see any edges.curve.js plugin lib. Is it now included in parallelEdges.js (which should then interpreted as "handling parallel edges problem")?
Anyway from what I understand:

I should include the proper edges plugin lib (whatever it is)
I should set type: 'curve' on edges. Will this work when calling g.addEdge() or only afterwards?

Thank you.

Hmm...
For my part I simply included this function: https://github.com/jacomyal/sigma.js/blob/master/src/renderers/canvas/sigma.canvas.edges.curve.js
It also works :)

@Javarome Can you take a look at my minimal example and figure out why the edges will not curve?

https://jsfiddle.net/MrPolywhirl/01xecmpb

:thinking:
Thanks.

hey @ryankane don't forget to specify you want the canvas renderer at init, something like this:
const sigmaInstance = new sigma({
  graph: graphData,
  container: 'sigma-container',
  ...

  // canvas renderer
  // ===============
  renderer: {
    container: document.getElementById('sigma-container'),
    type: sigma.renderers.canvas
  }
});

@rloth Wow, that did the trick. I wonder why it is not explicitly stated on their documentation. It is difficult to find examples for custom edges.

somehow it thus becomes documented now :)


Reload reactive

Add for & for-block setup, rendering and changing

if everything is good, I will add a description to Readme.md

Yes, please add description in "readme".
I changed the branch. Everything is fine. i will fix some things

I think I can get rid of sReactProperties. But not sure yet


Refresh connection on App Mode

Description
When running as marimo run <file>, and doing something intensive with a lot of RAM, and then refreshing the page, it will spawn a completely new session, risking human error, and loading things twice..
Suggested solution
Is it possible to get the same behaviour as in edit mode, but without showing code?
Like this:

Alternative
No response
Additional context
No response

Wow that's super fast! Thanks! I was just checking the source while waiting for an answer!
Uhm, the thing is the App Mode runs locally in my case. It is launched through an shell script and the user can then use the notebook as application.
In the application, I load an LLM (GGUF) and one user has refreshed the browser, causing the LLM to load twice. I was not aware of this because I assumed the edit mode was similar to run mode, minus the source code.
I'm not aware how I can persist this loading across sessions, except when I launch a HTTP API or something, which I rather avoid (I really like the simplicity it has now)

Your use-case makes a lot of sense. We can consider adding --resumable-sessions (or --persist-sessions), with some sort of timeout, to the marimo run CLI.
or --single-session (which might be easier to implement, since then we don't need to keep track of which session belongs to who).
Implementation details aside: we may not get to this for a bit, so open to contributions; I'll add some GH labels if someone wants to pick this up.

I'm actually making it right now, I wasn't sure if you'd merge it but I'll post it as PR if done!

hell yea! thanks @peterwilli, i think it would be a great addition 🙌

Here you go! https://github.com/marimo-team/marimo/pull/2489

Closing this issue as the PR is now in progress


[ArangoDB 3.2][REST-Interface]:Collection properties do not return isVolatile attribute

While re-running the ArangoDB-PHP testsuite before tagging the 3.2.0 release of the PHP driver, several errors came up, that were not there in a prior test with some of the early betas.
Test(https://travis-ci.org/arangodb/arangodb-php/jobs/251986282)
One of the tests expects to get a true value for the isVolatile attribute, when the properties of such a collection are queried.
This test does fail with current ArangoDB 3.2 with RocksDB .
How to recreate this:

Create a volatile collection
query the rest interface for its properties

Result: There should be an attribute "isVolatile": true
Actual result: The attribute is missing.
Note: This specific error does not show up the testsuite that runs on TravisCI, but on my local RocksDB installation.

As you already found out, this is related to using the RocksDB engine. The RocksDB engine does not support volatile collections, so the attribute is simply ignored there. It may not even be returned by all APIs.
I have adjusted the docs accordingly (there's a PR open for this) and I have also adjusted the PHP driver's tests locally to honor the selected storage engine and not fail if the "wrong" engine is selected.
I will push to the driver repository once the ArangoDB PR got accepted.

OK, got it, just two questions that arise.

I think that the REST API returns the 200OK with isVolatile: true when such a collection is created (even with RocksDB). Shouldn't there be some error thrown in that case?
Volatile collections are kind of practical in some cases. Any plans to have some kind of volatile collections even with (or in parallel to) the RocksDB engine?

Yeah, volatile collections are looked like smth far from engine. And they are very useful in some situations (for example session storage between two running nodes of application servers).

I understand that it would be useful to support volatile collections in all storage engines, including the RocksDB engine.
However, in the ArangoDB architecture, all data storage business is a responsibility of the storage engine, and I don't see any way of implementing that feature for the RocksDB engine in the near future.
So we probably should disallow the creation of volatile collections for the RocksDB engine at all, so that the server does not accept the creation of such and claims it has done so (while in fact it has not).

Yes, that makes most sense.

Fixed in 3.2.1

OK, closing this. Thanks


docker error

I can't get this working on docker.
i tried

sudo docker run -ti --rm -v /home/pi/config.yml:/config.yml --privileged flyte/mqtt-gpio
also

sudo docker run -ti --rm -v config.yml:/config.yml --privileged flyte/mqtt-gpio

my config is in home/pi folder
mqtt:
  discovery: yes
  # The following is optional (homeassistant is the default)
  discovery_prefix: homeassistant
  # Optional too, but change to whatever you like
  discovery_name: MQTT GPIO

  host: <IP_ADDRESS>
  port: 1883
  user: ****
  password: ***
  topic_prefix: pizerocam
  status_topic: status
  status_payload_running: running
  status_payload_stopped: stopped
  status_payload_dead: dead
gpio_modules:
  - name: raspberrypi
    module: raspberrypi
    cleanup: yes

digital_inputs:
  - name: doorbell
    module: raspberrypi
    pin: 3
    on_payload: "ON"
    off_payload: "OFF"
    pullup: yes
    pulldown: no
  - name: doorbell_led
    module: raspberrypi
    pin: 2
    on_payload: "ON"
    off_payload: "OFF"
    pullup: yes
    pulldown: no

i get error : standard_init_linux.go:211: exec user process caused "exec format error"
Am i following corect installation steps for docker (docker is installed on my Pi Zero W)

I think the docker image isn't compatible with the ARM processor on the Pi at the moment (I know, it's a bit silly). It's on my list to build an image on the pi itself but I haven't got around to it yet. Sorry about that.

Thanks, it would be great if we can have that eventually.
Maybe a silly question, Is there another method to start python script on boot except virtualenv or docker as stated in readme?
I'm not too experienced with linux

You don't necessarily need to use virtualenv (although it's recommended), but supervisor is a relatively straightforward way.
Having said that, I'll see if I can get a docker image built today and will update this ticket with the results.

I've created the ARM Docker images now, and updated the readme instructions to represent that. Please let me know how you get on.

Oh, and also have a look at https://github.com/flyte/pi-mqtt-gpio/issues/55 if you run into any problems.
To be honest though, if you want the simplest way of running it, just use Supervisor as recommended in the readme 'Serving Suggestion'.

Oh, and also have a look at #55 if you run into any problems.
To be honest though, if you want the simplest way of running it, just use Supervisor as recommended in the readme 'Serving Suggestion'.

Gotcha, i'm gonna test it right now. It may fail because i'm using Pi Zero which is Arm6 (from what i've read) but i will test both options and report back.
thank you

tied on RPI3+
Got error below, i may need to look at the thread you posted above

dietpi@DietPi:~$ sudo docker run -ti --rm -v /home/dietpi/config.yml:/config.yml --privileged flyte/mqtt-gpio:armv7l
2020-03-14 16:17:35,888 mqtt_gpio (INFO): Startup
Collecting RPi.GPIO
Downloading RPi.GPIO-0.7.0.tar.gz (30 kB)
Building wheels for collected packages: RPi.GPIO
Building wheel for RPi.GPIO (setup.py) ... done
Created wheel for RPi.GPIO: filename=RPi.GPIO-0.7.0-cp36-cp36m-linux_armv7l.whl size=61787 sha256=38606b3d0acbb52dc181d87d5bb3c5f7945677eaafb31dd561989efbb8632891
Stored in directory: /home/mqttgpio/.cache/pip/wheels/84/c0/d6/73a6e9f98b9d29edd7c6e981dce47852c3321f34518c80dce1
Successfully built RPi.GPIO
Installing collected packages: RPi.GPIO
Successfully installed RPi.GPIO-0.7.0
Traceback (most recent call last):
File "/usr/local/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/local/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/mqttgpio/pi_mqtt_gpio/server.py", line 901, in
main(args)
File "/home/mqttgpio/pi_mqtt_gpio/server.py", line 798, in main
initialise_digital_input(in_conf, GPIO_MODULES[in_conf["module"]])
File "/home/mqttgpio/pi_mqtt_gpio/server.py", line 492, in initialise_digital_input
gpio.setup_pin(pin, PinDirection.INPUT, pud, in_conf)
File "/home/mqttgpio/pi_mqtt_gpio/modules/raspberrypi.py", line 47, in setup_pin
self.io.setup(pin, direction, pull_up_down=pullup, initial=initial)
RuntimeError: No access to /dev/mem.  Try running as root!

Ah yeah, that's the same issue as in #55. See if the comments in there fix it for you.

So i tried supervisor option too, and i just cant make it work. I tried on Pi zero and Pi 3+ too. It seems that i'm definitely doing something wrong.
Last ask , is there a way to run

python -m pi_mqtt_gpio.server config.yml

as a system service. I do have another python script running great, but this seems to be a "module", if there's an easy way to write something like:
[Unit]
Description=Pi Gpio Mqtt service
After=multi-user.target

[Service]
User=root
Type=idle
ExecStart=/usr/bin/python /home/pi/.local/lib/python2.7/site-packages/pi_mqtt_gpio/server.py /home/pi/config.yml

[Install]
WantedBy=multi-user.target

thanks for your help!

python -m pi_mqtt_gpio.server config.yml

Just use that line in ExecStart I assume.

i just cant make it work

If you give specifics I could help. It shouldn't be any harder than using an init script, and has some benefits over it.

python -m pi_mqtt_gpio.server config.yml

Just use that line in ExecStart I assume.

i just cant make it work

If you give specifics I could help. It shouldn't be any harder than using an init script, and has some benefits over it.

followed instructions to the letter.
Supervisor status seems ok:
pi@rpi-zero-cam:/etc/supervisor/conf.d $ sudo supervisorctl update
pi_mqtt_gpio: stopped
pi_mqtt_gpio: updated process group
pi@rpi-zero-cam:/etc/supervisor/conf.d $ sudo supervisorctl status
pi_mqtt_gpio                     RUNNING   pid 4915, uptime 0:00:28

But no MQTT communicaiton and CPU is stuck at 100% with this:

Standalone script works

How long have you left it at 100%? I suspect its just compiling some stuff as part of the RPi.GPIO installation.

around 20 minutes now

What's the output in the log file? Should be /var/log/pi-mqtt-gpio.log if you're using the config from the readme.

2020-03-15 14:48:04,236 mqtt_gpio (INFO): Startup
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: RPi.GPIO in /usr/lib/python2.7/dist-packages (0.7.0)
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/pi/ve/lib/python2.7/site-packages/pi_mqtt_gpio/server.py", line 887, in
main(args)
File "/home/pi/ve/lib/python2.7/site-packages/pi_mqtt_gpio/server.py", line 759, in main
GPIO_MODULES[gpio_config["name"]] = configure_gpio_module(gpio_config)
File "/home/pi/ve/lib/python2.7/site-packages/pi_mqtt_gpio/server.py", line 437, in configure_gpio_module
return gpio_module.GPIO(gpio_config)
File "/home/pi/ve/lib/python2.7/site-packages/pi_mqtt_gpio/modules/raspberrypi.py", line 19, in init
import RPi.GPIO as gpio
ImportError: No module named RPi.GPIO

every 30 seconds

Looks like you're crossing your global Python install with the one in your virtualenv.
Could you paste your /etc/supervisor/conf.d/pi-mqtt-gpio.conf file please?

same as in readme

[program:pi_mqtt_gpio]
command = /home/pi/ve/bin/python -m pi_mqtt_gpio.server pi-mqtt-gpio.yml
directory = /home/pi
redirect_stderr = true
stdout_logfile = /var/log/pi-mqtt-gpio.log

Looks like you've got RPi.GPIO installed in your global Python environment, but when you run this software in the virtualenv it's not picking it up.

I do have "standalone" installation too, as from the readme "pip install pi-mqtt-gpio"
if it makes any difference

Yeah, could you remove the RPi.GPIO package from your global environment any try again? Easiest way is to make sure you're not in a virtualenv by typing deactivate, then do sudo pip uninstall RPi.GPIO.

weird
pi@rpi-zero-cam:~ $ sudo pip uninstall RPi.GPIO
Not uninstalling rpi.gpio at /usr/lib/python2.7/dist-packages, outside environment /usr
Can't uninstall 'RPi.GPIO'. No files were found to uninstall.

:thinking:
What is the output of pip freeze when you're not in your virtualenv?

appdirs==1.4.3
asn1crypto==0.24.0
Cerberus==1.3.2
configparser==4.0.2
contextlib2==0.6.0.post1
cryptography==2.6.1
distlib==0.3.0
entrypoints==0.3
enum34==1.1.6
filelock==3.0.12
importlib-metadata==1.5.0
importlib-resources==1.3.1
ipaddress==1.0.17
keyring==17.1.1
keyrings.alt==3.1.1
meld3==1.0.2
paho-mqtt==1.5.0
pathlib2==2.3.5
pi-mqtt-gpio==0.5.1
pycrypto==2.6.1
PyGObject==3.30.4
pyxdg==0.25
PyYAML==5.2
RPi.GPIO==0.7.0
scandir==1.10.0
SecretStorage==2.3.1
singledispatch==<IP_ADDRESS>
six==1.12.0
supervisor==3.3.5
typing==<IP_ADDRESS>
virtualenv==20.0.10
zipp==1.2.0

Try pip uninstall RPi.GPIO --user, with or without sudo?

Usage:
pip uninstall [options]  ...
pip uninstall [options] -r  ...
no such option: --user
hahah, the pains :)

hahah, the pains :)

Yeah it's really easy to get into a mess with Python packages when combining sudo, global installs and apt!
I think it might be easier to use Python 3 for this, since the environments won't clash with any global stuff.
deactivate
sudo apt-get install -y python3
cd /home/pi
rm -rf ve
virtualenv --python python3 ve
. ve/bin/activate
pip3 install pi-mqtt-gpio

By the way, there's a really nice short article explaining why we use virtualenvs for Python if you're interested: https://www.dabapps.com/blog/introduction-to-pip-and-virtualenv-python/

installed python 3.
now when i update supervisor it throws

pi@rpi-zero-cam:~ $ sudo supervisorctl update
error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib/python2.7/socket.py line: 228

do i need to modify anything else

Oh, did you uninstall anything else from your global Python 2 environment? Now it looks like supervisor has broken :man_facepalming: !
Perhaps try sudo apt-get install --reinstall supervisor?

Same errors with ModuleNotFoundError: No module named 'RPi'
At this point, i gave up and went with system service option.
code for System Service is:
[Unit]
Description=Pi Gpio Mqtt service
After=multi-user.target

[Service]
User=pi
Type=idle
ExecStart=python -m pi_mqtt_gpio.server config.yml
WorkingDirectory=/home/pi/
[Install]
WantedBy=multi-user.target

It working flawlessly now after system reboot.
@flyte thank so much for your help!

Hah, OK! Glad you've got it working. It can be a challenge to fix a broken global Python environment.


Hide anchors and toggles for page titles from screen readers

Addresses #9029.
This PR hides the anchors and toggles for the panels containing titles of pages. So that screen reader users don't have an empty tab stop on their journey.
Demonstration Video:
https://user-images.githubusercontent.com/25041665/185472591-de84399e-536d-424b-8096-51cb9e4e0ff8.mp4
Browsers tested on
Chrome 104 , Safari 15.6, Firefox 103

Cherry-picked to stable/4.0.x in 38fd1daa6e82abc38c0d9116dfb5572ea41cc114


Update footer

Add:
This work is licensed under a Creative Commons Attribution - ShareAlike 3.0 License! Code for Nepal is a registered 501(c)(3) nonprofit organization. EIN: 47-3620037
Privacy policy:
This website uses Google Analytics to help analyze how visitors use this site. Google Analytics uses “cookies”, which are small text files placed on your computer, to collect standard internet log information and visitor behavior information in an anonymous form.

#54 Resolved


[Live Share] UriHandler (handleUri) isn't called when VS Code is opened as Admin

Version: 1.45.1 (system setup)
Commit: 5763d909d5f12fe19f215cbfdd29a91c0fa9208a
Date: 2020-05-14T08:27:35.169Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.18363
Steps to Reproduce:

Install Live Share
Open VS Code as Admin
From a browser enter the following:
vscode://ms-vsliveshare.vsliveshare/signin

Additional notes:
On activation Live Share registers a VSLS Protocol Handler
ExtensionUtil.context.subscriptions.push(window.registerUriHandler(new VSLSProtocolHandler(telemetryEvent)));
When VS Code is opened as an admin I'm not seeing this prompt:

I can repro the same behavior in another extension (Visual Studio Codepaces) that uses a UriHandler to sign in.

Quite possibly a limitation in Electron or in general that protocol links are not triggered if the target is running with a different user than the source.

This is as designed in the runtime, the protocol registration are set under current user https://github.com/electron/electron/blob/08a51f333902247be7ee7528f2192e3bf4c2c045/shell/browser/browser_win.cc#L428-L440


"Clone from Specimen" button not working

On the Comprehensive specimen digitization task, the "clone from specimen" button has stopped working. I tried reloading the page, but still doesn't work.

Seems two fields on the page were rearranged and I didn't notice. No issue.


added ceph prerequisites in planning chapter

https://issues.redhat.com/browse/RHOSPDOC-2024

@fmount I added a Ceph prerequisites assembly based on the Google doc we created: https://docs.google.com/document/d/1GdE_NdLNr0dCE_JwZJ5tKHzN3w3AHDNjvJzQ7Vws-3o/edit
Please let me know if any information is missing.

@fmount I think we missed a section for Ceph MDS. The Ceph MDS procedure has the following prerequisites (sorry if this is formatted awkwardly):
* Verify that the {CephCluster} cluster is healthy and check the MDS status:

[ceph: root@controller-0 /]# ceph fs ls name: cephfs, metadata pool: manila_metadata, data pools: [manila_data ]
[ceph: root@controller-0 /]# ceph mds stat cephfs:1 {0=mds.controller-2.oebubl=up:active} 2 up:standby
[ceph: root@controller-0 /]# ceph fs status cephfs
cephfs - 0 clients
RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS
0 active mds.controller-2.oebubl Reqs: 0 /s 696 196 173 0
POOL TYPE USED AVAIL
manila_metadata metadata 152M 141G
manila_data data 3072M 141G
STANDBY MDS
mds.controller-0.anwiwd
mds.controller-1.cwzhog
MDS version: ceph version 17.2.6-100.el9cp (ea4e3ef8df2cf26540aae06479df031dcfc80343) quincy (stable)
* Retrieve more detailed information on the Ceph File System (CephFS) MDS status:

[ceph: root@controller-0 /]# ceph fs dump
e8 enable_multiple, ever_enabled_multiple: 1,1 default compat: compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,8=no anchor table,9=file layout v2,10=snaprealm v2} legacy client fscid: 1
Filesystem 'cephfs' (1) fs_name cephfs epoch 5 flags 12 joinable allow_snaps allow_multimds_snaps created 2024-01-18T19:04:01.633820+0000 modified 2024-01-18T19:04:05.393046+0000 tableserver 0 root 0 session_timeout 60 session_autoclose 300 max_file_size<PHONE_NUMBER>776 required_client_features {} last_failure 0 last_failure_osd_epoch 0 compat compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,7=mds uses inline data,8=no anchor table,9=file layout v2,10=snaprealm v2} max_mds 1 in 0 up {0=24553} failed damaged stopped data_pools [7] metadata_pool 9 inline_data disabled balancer standby_count_wanted 1 [mds.mds.controller-2.oebubl{0:24553} state up:active seq 2 addr [v2:<IP_ADDRESS>:6800/680266012,v1:<IP_ADDRESS>:6801/680266012] compat {c=[1],r=[1],i=[7ff]}]
Standby daemons:
[mds.mds.controller-0.anwiwd{-1:14715} state up:standby seq 1 addr [v2:<IP_ADDRESS>:6802/3969145800,v1:<IP_ADDRESS>:6803/3969145800] compat {c=[1],r=[1],i=[7ff]}]
[mds.mds.controller-1.cwzhog{-1:24566} state up:standby seq 1 addr [v2:<IP_ADDRESS>:6800/2227381308,v1:<IP_ADDRESS>:6801/2227381308] compat {c=[1],r=[1],i=[7ff]}]
dumped fsmap epoch 8
* Check the OSD blocklist and clean up the client list:

[ceph: root@controller-0 /]# ceph osd blocklist ls
..
..
for item in $(ceph osd blocklist ls | awk '{print $0}'); do
ceph osd blocklist rm $item;
done
[NOTE]
When a file system client is unresponsive or misbehaving, the access to the file system might be forcibly terminated. This process is called eviction. Evicting a CephFS client prevents it from communicating further with MDS daemons and OSD daemons.
Ordinarily, a blocklisted client cannot reconnect to the servers; you must unmount and then remount the client. However, permitting a client that was evicted to attempt to reconnect can be useful. Because CephFS uses the RADOS OSD blocklist to control client eviction, you can permit CephFS clients to reconnect by removing them from the blocklist.

Hey @klgill however these are just part of the migration procedure, not really prerequisites, because you need to check this part and perform the mentioned actions when you're going to migrate MDS. I think it's fine to keep this section where it is as it happens in terms of time when the human operator is actually in the middle of the Ceph migration.
For instance, verify the cluster is healthy, in this case, is a recommended checkpoint after you finished the previous section (migrating the monitoring stack probably), but before start moving MDS.
Are you ok to keep where it currently is?

@fmount I think we missed a section for Ceph MDS. The Ceph MDS procedure has the following prerequisites (sorry if this is formatted awkwardly):
* Verify that the {CephCluster} cluster is healthy and check the MDS status:

[ceph: root@controller-0 /]# ceph fs ls name: cephfs, metadata pool: manila_metadata, data pools: [manila_data ]
[ceph: root@controller-0 /]# ceph mds stat cephfs:1 {0=mds.controller-2.oebubl=up:active} 2 up:standby
[ceph: root@controller-0 /]# ceph fs status cephfs
cephfs - 0 clients
RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS
0 active mds.controller-2.oebubl Reqs: 0 /s 696 196 173 0
POOL TYPE USED AVAIL
manila_metadata metadata 152M 141G
manila_data data 3072M 141G
STANDBY MDS
mds.controller-0.anwiwd
mds.controller-1.cwzhog
MDS version: ceph version 17.2.6-100.el9cp (ea4e3ef8df2cf26540aae06479df031dcfc80343) quincy (stable)
* Retrieve more detailed information on the Ceph File System (CephFS) MDS status:

[ceph: root@controller-0 /]# ceph fs dump
e8 enable_multiple, ever_enabled_multiple: 1,1 default compat: compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,8=no anchor table,9=file layout v2,10=snaprealm v2} legacy client fscid: 1
Filesystem 'cephfs' (1) fs_name cephfs epoch 5 flags 12 joinable allow_snaps allow_multimds_snaps created 2024-01-18T19:04:01.633820+0000 modified 2024-01-18T19:04:05.393046+0000 tableserver 0 root 0 session_timeout 60 session_autoclose 300 max_file_size<PHONE_NUMBER>776 required_client_features {} last_failure 0 last_failure_osd_epoch 0 compat compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap,7=mds uses inline data,8=no anchor table,9=file layout v2,10=snaprealm v2} max_mds 1 in 0 up {0=24553} failed damaged stopped data_pools [7] metadata_pool 9 inline_data disabled balancer standby_count_wanted 1 [mds.mds.controller-2.oebubl{0:24553} state up:active seq 2 addr [v2:<IP_ADDRESS>:6800/680266012,v1:<IP_ADDRESS>:6801/680266012] compat {c=[1],r=[1],i=[7ff]}]
Standby daemons:
[mds.mds.controller-0.anwiwd{-1:14715} state up:standby seq 1 addr [v2:<IP_ADDRESS>:6802/3969145800,v1:<IP_ADDRESS>:6803/3969145800] compat {c=[1],r=[1],i=[7ff]}]
[mds.mds.controller-1.cwzhog{-1:24566} state up:standby seq 1 addr [v2:<IP_ADDRESS>:6800/2227381308,v1:<IP_ADDRESS>:6801/2227381308] compat {c=[1],r=[1],i=[7ff]}]
dumped fsmap epoch 8
* Check the OSD blocklist and clean up the client list:

[ceph: root@controller-0 /]# ceph osd blocklist ls
..
..
for item in $(ceph osd blocklist ls | awk '{print $0}'); do
ceph osd blocklist rm $item;
done
[NOTE]
When a file system client is unresponsive or misbehaving, the access to the file system might be forcibly terminated. This process is called eviction. Evicting a CephFS client prevents it from communicating further with MDS daemons and OSD daemons.
Ordinarily, a blocklisted client cannot reconnect to the servers; you must unmount and then remount the client. However, permitting a client that was evicted to attempt to reconnect can be useful. Because CephFS uses the RADOS OSD blocklist to control client eviction, you can permit CephFS clients to reconnect by removing them from the blocklist.

Hey @klgill however these are just part of the migration procedure, not really prerequisites, because you need to check this part and perform the mentioned actions when you're going to migrate MDS. I think it's fine to keep this section where it is as it happens in terms of time when the human operator is actually in the middle of the Ceph migration. For instance, verify the cluster is healthy, in this case, is a recommended checkpoint after you finished the previous section (migrating the monitoring stack probably), but before start moving MDS. Are you ok to keep where it currently is?

I'm okay with keeping them where they are, but I just need to move them to the main part of the MDS procedure. Right now, they appear under the .Prerequisites heading. I can add a link to the Ceph prerequisites assembly under .Prerequisites instead.


Android Instrumentation tests to run with non-UTC default time zone

...in order to detect errors that may be caused by incorrect time zone handling.
Options:

Configure time zone in test (not sure if it is possible)
Configure time zone of test emulator (not sure if it is possible)

If none is possible, we could try to make sure to always use non-UTC DateTimes in tests, but that's not ideal.

is this a duplicate of #570?

Yep


Added missing parameter azureCloud to function Get-BuildLogs

Description
Get-BuildLogs is missing the parameter AzureCloud.
The parameter already exist in other functions such as Deploy-IPAMApplications, Deploy-Bicep, Grant-AdminConsent

Hey @picccard, there were a lot of updates in the recent release and this PR will need those changes merged in before we can proceed. Thanks so much!


Poorly performing nodes that won't heal

Is your problem within Home Assistant (Core or Z-Wave JS Integration)?
NO, my problem is NOT within Home Assistant or the ZWave JS integration
Is your problem within ZWaveJS2MQTT?
NO, my problem is NOT within ZWaveJS2MQTT
Checklist

[X] I have checked the troubleshooting section and my problem is not described there.

[X] I have read the changelog and my problem was not mentioned there.

Describe the bug
When I try to heal a poorly performing node I know should be atleast a hop away and isn't I get , "DRIVER no handlers registered!" a few times and then it finishes the heal as successful and assigns no hops(direct to Node 1).  This should not be the case as it's a fair distance, is unreliable, and fails/constantly times out when trying to run a network health check on the node.  And the other weird things is it is assigned downstream neighbors...
Device information
Manufacturer:  Zooz
Model name:  Various Zooz devices; ZEN71, ZEN76 are two know models with problematic nodes
Node ID in your network: 186
How are you using node-zwave-js?

[X] zwavejs2mqtt Docker image (latest)
[ ] zwavejs2mqtt Docker image (dev)
[ ] zwavejs2mqtt Docker manually built (please specify branches)
[ ] ioBroker.zwave2 adapter (please specify version)
[X] HomeAssistant zwave_js integration  (please specify version)
[ ] pkg
[ ] node-red-contrib-zwave-js (please specify version, double click node to find out)
[ ] Manually built from GitHub (please specify branch)
[ ] Other (please describe)

Which branches or versions?
version:
zwavejs2mqtt: 6.10.0
zwave-js: 9.3.0
Did you change anything?
no
If yes, what did you change?
No response
Did this work before?
Don't know, this is a new device
If yes, where did it work?
No response
Attach Driver Logfile
2022-05-26 14:58:17.916 INFO ZWAVE: Calling api healNode with args: [ 186, [length]: 1 ]
2022-05-26T19:58:17.916Z CNTRLR [Node 186] Healing node...
2022-05-26T19:58:17.916Z CNTRLR » [Node 186] refreshing neighbor list (attempt 1)...
2022-05-26T19:58:17.920Z SERIAL » 0x01050048ba6961 (7 bytes)
2022-05-26T19:58:17.920Z DRIVER » [Node 186] [REQ] [RequestNodeNeighborUpdate]
callback id: 105
2022-05-26T19:58:17.924Z SERIAL « [ACK] (0x06)
2022-05-26T19:58:25.730Z SERIAL « 0x010500486921fa (7 bytes)
2022-05-26T19:58:25.731Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:25.732Z DRIVER « [REQ] [RequestNodeNeighborUpdate]
callback id: 105
update status: UpdateStarted
2022-05-26T19:58:34.321Z SERIAL « 0x010500486922f9 (7 bytes)
2022-05-26T19:58:34.323Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:34.324Z DRIVER « [REQ] [RequestNodeNeighborUpdate]
callback id: 105
update status: UpdateDone
2022-05-26T19:58:34.326Z CNTRLR « [Node 186] neighbor list refreshed...
2022-05-26T19:58:34.326Z CNTRLR » [Node 186] Deleting SUC return route...
2022-05-26T19:58:34.332Z SERIAL » 0x01050055ba6a7f (7 bytes)
2022-05-26T19:58:34.332Z DRIVER » [Node 186] [REQ] [DeleteSUCReturnRoute]
payload: 0xba6a
2022-05-26T19:58:34.337Z SERIAL « [ACK] (0x06)
2022-05-26T19:58:34.338Z SERIAL « 0x0104015501ae (6 bytes)
2022-05-26T19:58:34.338Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:34.339Z DRIVER « [RES] [DeleteSUCReturnRoute]
was executed: true
2022-05-26T19:58:34.613Z SERIAL « 0x012100556a0000000000000000000000000000000000000000000000000000000 (35 bytes)
000e1
2022-05-26T19:58:34.614Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:34.615Z DRIVER « [REQ] [DeleteSUCReturnRoute]
callback id: 106
transmit status: OK
2022-05-26T19:58:34.618Z CNTRLR » [Node 186] Assigning SUC return route...
2022-05-26T19:58:34.619Z SERIAL » 0x01050051ba6b7a (7 bytes)
2022-05-26T19:58:34.620Z DRIVER » [Node 186] [REQ] [AssignSUCReturnRoute]
payload: 0xba6b
2022-05-26T19:58:34.625Z SERIAL « [ACK] (0x06)
2022-05-26T19:58:34.626Z SERIAL « 0x0104015101aa (6 bytes)
2022-05-26T19:58:34.626Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:34.628Z DRIVER « [RES] [AssignSUCReturnRoute]
was executed: true
2022-05-26T19:58:35.125Z SERIAL « 0x012100516b0000000000000000000000000000000000000000000000000000000 (35 bytes)
000e4
2022-05-26T19:58:35.126Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:35.127Z DRIVER « [REQ] [AssignSUCReturnRoute]
callback id: 107
transmit status: OK
2022-05-26T19:58:35.130Z CNTRLR » [Node 186] deleting return routes (attempt 1)...
2022-05-26T19:58:35.133Z SERIAL » 0x01050047ba6c6b (7 bytes)
2022-05-26T19:58:35.133Z DRIVER » [Node 186] [REQ] [DeleteReturnRoute]
payload: 0xba6c
2022-05-26T19:58:35.138Z SERIAL « [ACK] (0x06)
2022-05-26T19:58:35.139Z SERIAL « 0x0104014701bc (6 bytes)
2022-05-26T19:58:35.140Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:35.140Z DRIVER « [RES] [DeleteReturnRoute]
has started: true
2022-05-26T19:58:35.424Z SERIAL « 0x012100476c0000000000000000000000000000000000000000000000000000000 (35 bytes)
000f5
2022-05-26T19:58:35.425Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:35.426Z DRIVER « [REQ] [DeleteReturnRoute]
callback id: 108
transmit status: OK
2022-05-26T19:58:35.429Z CNTRLR » [Node 186] assigning return routes to the following nodes:
1
2022-05-26T19:58:35.429Z CNTRLR » [Node 186] assigning return route to node 1 (attempt 1)...
2022-05-26T19:58:35.442Z SERIAL » 0x01060046ba016d69 (8 bytes)
2022-05-26T19:58:35.442Z DRIVER » [Node 186] [REQ] [AssignReturnRoute]
payload: 0xba016d
2022-05-26T19:58:35.448Z SERIAL « [ACK] (0x06)
2022-05-26T19:58:35.448Z SERIAL « 0x0104014601bd (6 bytes)
2022-05-26T19:58:35.448Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:35.449Z DRIVER « [RES] [AssignReturnRoute]
has started: true
2022-05-26T19:58:35.935Z SERIAL « 0x012100466d0000000000000000000000000000000000000000000000000000000 (35 bytes)
000f5
2022-05-26T19:58:35.936Z SERIAL » [ACK] (0x06)
2022-05-26T19:58:35.937Z DRIVER « [REQ] [AssignReturnRoute]
callback id: 109
transmit status: OK
2022-05-26T19:58:35.941Z CNTRLR [Node 186] healed successfully
2022-05-26 14:58:35.941 INFO ZWAVE: Success zwave api call healNode true

Yeah I can't do anything with this short snippet.

Yeah I can't do anything with this short snippet.

That's not a snippet, that's what gets outputted in its entirety with logging turned to silly.  Is there somewhere else or another method to obtain something that may be missing?

Uhhh this is embarrassing... Somehow I missed the scrollbar next to the log...

No worries, happens to the best of us.

Ok, so the log above is one where the heal goes through. Do you have a log where it doesn't?

it finishes the heal as successful and assigns no hops(direct to Node 1)

Where are you taking this information from? The heal log doesn't include this.

Ok, so the log above is one where the heal goes through. Do you have a log where it doesn't?

... assigns no hops(direct to Node 1)

Where are you taking this information from? The heal log doesn't include this.

This comes from the UI debug console.  I realize it says it healed successfully, but it doesn't make sense because it's on the far edge of the network and always fails the network health check with 0/10 scores.  It should be finding a neighbor to use.  I have some devices much closer to the controller that have a hop.  This is a ZEN71.  I mention it because I was going to open another issue for my large fleet of ZEN76 and ZEN71s failing to interview fully, but I see the issues/PRs already exist for that problem.

always fails the network health check with 0/10 scores

Do you have a driver log of that? When the stick tells us it successfully assigned the node a new route, we'll have to trust that information.


Address deprecation messages seen during the docs build.

Coverage remained the same at 99.415% when pulling 4414fa238c81e3fa845e048d11731d51c695e0a8 on depr into dde3a20a985b86eff9d23a5a079cabc95ad158e1 on master.


[ARO] az aro: v20230904 API updates

Related command

Description

Bumps api version used and adds parameter --enable-preconfigured-nsg to az aro cli extension for using preconfigured NSGs. Allowed values for the flag are true or false and by default, preconfigured NSG will be disabled.
Adds network contributor role to BYO-NSGs when preconfigured NSG feature is enabled.
Update az cli to include subnets from workerProfilesStatus field when available.

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

ARO

Please format your title by following this guideline


Support interval and splay on Windows

This is the simplest fix I can think of for #235 while not making chef/chef#3432 an issue. We can also make better guarantees around idempotence if we're just modifying a file (the service manager currently only checks if the service is installed, which is quite incorrect as you could modify the interval in your cookbook and nothing would change) This fix involves no changes to chef client so it will work with any versions of chef this cookbook already works with. One issue I did find with chef client was that the service manager appends -L with a default value if you don't specify it, which means we cannot put the log location in client.service.rb.
cc @jeremiahsnapp @smurawski @juliandunn

:+1:

:+1: thanks @jaym

:+1:

:+1:

I'm shipping it. Thanks @jaym


[Compute] Fix typo in vm help message

Related command
az vm -h

Description
Helper text for the above command has a small typo: application            : Manage appliations for VM.
Instead of "appliations" it should be "applications"

Testing Guide
Run the command again with az vm -h and the helper text output for the application subgroup should be correct.

This checklist is used to make sure that common guidelines for a pull request are followed.

[X] The PR title and description has followed the guideline in Submitting Pull Requests.

[X] I adhere to the Command Guidelines.

[X] I adhere to the Error Handling Guidelines.

Compute


sys-dm-pdw-dms-external-work-transact-sql.md / column "estimated_bytes_processed"

In the doc for sys.dm_pdw_dms_external_work for Synapse Analytics, it's mentioned that column "estimated_bytes_processed" shows the "Number of bytes processed by this worker."
Running the following query on a SQL dedicated pool "select estimated_bytes_processed from sys.dm_pdw_dms_external_work", returns the error "Msg 207, Level 16, State 1, Line 22 Invalid column name 'estimated_bytes_processed'."

Running select bytes_processed from sys.dm_pdw_dms_external_work, works without an issue.
Should there be bytes_processed, instead of estimated_bytes_processed?

@ozanabuse -- Ozana, thank you for your feedback.  I am updating this article.

@ronortloff -- Ron, please review this update in private PR 20831.

@ozanabuse -- Ozana, thank you again for catching this.  I have updated the documentation and it should be live by tomorrow.


Add function to print floats with thousands separators (for prices)

I wanted to print a price in Hugo, using the native functions. I came across printf, witch lets you format a number with a fixed amount of decimals. So 85900 can be printed as 85900.00.
(I know this is not a forum or a tutorial, but I wanted to share how I managed to print the price so far in my site. At the bottom there's a TL;DR in case you want to get to the point)
How I managed so far
In Spanish, decimal values go with a comma, not a dot, but I could easily change the dot and replace it entirely (in my case I prefered to use a  tag for decimals, so I simply replaced the dot with the tag and wrapped all in the safeHTML function.
${{ safeHTML (replace (printf "%.2f" (.Params.custom)) "." "") }}
I'm happy with the result, it's exactly what I wanted..
$8590000
...except something is missing
What is missing
Now, I was looking for a way to enhance this function to break thousands. All the prices on my site go between 1,000 and 100,000, and reading such long numbers without a break is difficult.
I want something like this:
$ 85.90000
(note: in Spanish, the default thousand separator is a dot, not a comma)
I've been doing some research, and apparently printfrelies on Go's fmt.Sprintf function, and there's no support in fmt verbs for thousand separators.
How it could be done
Ideally, a function could implement this as easily as javascript's Number.toLocaleString, to save a few replaces in non-english sites.
var data = 10000000;
data.toLocaleString('it-IT')
// → 10.000.000
data.toLocaleString('en-US')
// → 10,000,000
With this method, you can also format numbers with currency informations:
data.toLocaleString('it-IT', {style: 'currency', currency: 'EUR'})
// → 10.000.000,00 €
data.toLocaleString('it-IT', {style: 'currency', currency: 'USD'})
// → 10.000.000,00 US$
data.toLocaleString('en-US', {style: 'currency', currency: 'EUR'})
// → €10,000,000.00
data.toLocaleString('en-US', {style: 'currency', currency: 'USD'})
// → $10,000,000.00

Note: the examples are taken from here.
Although I don't really mind replacing the dots and commas myself, and placing the currency symbol, since at the end I can wrap it all in a partial or a shortcode.
Then maybe something as simple as...
numberFormat (.Params.price)
And I could rewrite my function as...
${{ safeHTML (replace (replace (numberFormat (.Params.custom)) "." "") "," "." ) }}
Or something like numberFormat(number, decimalSeparator, thousandSeparator) (maybe this extra arguments are optional)
So I could write
${{ safeHTML (numberFormat .Params.custom "" "." ) }}
Isn't it much better? ♥
TL;DR
I don't really mind putting the currency symbol myself, or replacing dots with commas, but I do think it's essential for a function to go from 10000.5 to 10,000.50.
Disclaimer
If I'm wrong and there's a way of formatting thousands with the current printf function, I blame stack overflow and this answer that says there's no way 😆 No, JK, if there's an alternative I would LOVE to know it!
~ Thanks for reading 💚

This can already be done with lang.NumFmt (without localization support).  See https://gohugo.io/functions/numfmt/.

I did some work with floating point numbers in Hugo to output a medium sized amount of tabular data and found one can combine with math functions, replaceRE when you need to strip leading -s and pipe to float before piping to lang-NumFmt which lead to some pretty gnarly templates for just a single locale. Truth be told it's not much easier doing this kind of work in other generators like Jekyll unless wrapping a dep like http://rubymoney.github.io/money/ (or the golang equivalent, if one exists yet).

Thanks @moorereason  for pointing out the lang.NumFmt function, I hadn't find it in the docs nor in Google, but probably because I searched with the wrong terms!
I think the arguments you can pass on to the NumFmt functions are enough for localizate! Specially with the third argument. Passing "- , ." uses the 1.000,00 format.
Thanks @jhabdas for the suggestion on using pipes |. Code looks much better now, although I was surprised there's not a pipe for the replace function and the NumFmt pipe doesn't allow for a third argument (If I were to write the number in English, I could pipe this function as well).
To my use case, to avoid the code getting "messy", I created a partial named price.html. The partial accepts only a number as an argument, so you call it like:
{{ partial "price.html" $number }}
Inside the partial, using the . variable points out to the number itself, so I'm passing it as the second param of the NumFmt function. The partial looks like this:
// partials/price.html
${{ replace ( lang.NumFmt 2 (.) "- , ." ) "," "" | safeHTML }}

Now the output is exactly as I intended.
$12.75050
Thanks for the help! 😍


Is this still maintained?

Here's a duplicate with bug fixes. And a blog post by the guy who did it.


Full incremental objects

@derekchiang whenever you have a chance this is in need of review

@jdoliner can you summarize what this PR does?

Sure, this pr adds a few extra features to our API. The main one is that pps rather than incremental being a boolean it's become an enum with 3 values NONE DIFF and FULL. NONE and DIFF correspond to true and false before. FULL is a new behavior in which files that have nonzero diffs are shown in their entirety.
This also required adding a FullFile flag to file operations in the PFS api which means that you want to see FullFiles if there's any diff. It's part of a new DiffMethod object.

LGTM, other than maybe adding some comment to the protobuf file explaining what fullFile and DiffMethod do.


regal: add ldflags to show version

Description of changes

In this pull request, add ldflags to build function of regal package.
I added several flags, mainly for injecting version information.
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

[ ] 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

[x] 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.11 Release Notes (or backporting 23.11 and 24.05 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

It works as expected.
[nix-shell:~/.cache/nixpkgs-review/rev-bf911d25639f1a5858578cc7b0e12fadad57eb59]$ ./results/regal/bin/regal version
Version:    0.27.0
Go Version: go1.22.7
Platform:   linux/amd64
Commit:     unknown
Timestamp:  unknown
Hostname:   unknown

[x] Fits CONTRIBUTING.md.

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

@NixOS/nixpkgs-merge-bot merge