Dynamic library support on Linux with library evolution

Description
Background
We have an enterprise-style application where we have a large number of libraries (swift packages) that we'd like to be able to evolve independently using library evolution and to dynamically link them to a large number of consumers.
Basically adding binary dependency support to a dynamic library generated using SPM similar to XCFrameworks.
I've read https://github.com/apple/swift-evolution/blob/main/proposals/0305-swiftpm-binary-target-improvements.md and would like to suggest a first step could be to cater to this kind of 'enterprise' deployment scenario rather than taking on the full 'many linuxes support everywhere' - we have full control over deployment operating system and swift toolchain (we can mandate for our customers what they must have to run the software and would do builds for a small number of deployment environments that we support).
The artefact bundle format seems that it would suffice for such a scenario.
So trying to break down what's needed (perhaps missing something):

Support for binary dependencies also for Linux (preferably using artifactbundle format so we can have both macOS and Linux in a single dependency if putting things in the right places)
Support for enabling library evolution for SPM packages generating dynamic libraries on both macOS and Linux (accepting the requirement for same toolchain on Linux)

I think this single-linux-distribution as a first step could be very useful not only for us, but also for others - and help as a stopgap deployment measure.
See also related discussions / issues:
https://github.com/apple/swift/issues/60458
https://forums.swift.org/t/use-a-dynamic-library-in-a-swift-package-on-linux/59510
https://forums.swift.org/t/availability-when-using-library-evolution-resilience-for-third-party-libraries/59341/3
etc.
Expected behavior
No response
Actual behavior
No response
Steps to reproduce
No response
Swift Package Manager version/commit hash
No response
Swift & OS version (output of swift --version && uname -a)
No response

Support for binary dependencies also for Linux (preferably using artifactbundle format so we can have both macOS and Linux in a single dependency if putting things in the right places)
Support for enabling library evolution for SPM packages generating dynamic libraries on both macOS and Linux (accepting the requirement for same toolchain on Linux)

I think this couples a lot of different topics together that should be separate:

Support for binary dependencies for non-Darwin platforms
Darwin platform binary dependencies in artifact bundles (personally, I think that's a non-goal since we already have XCFrameworks)
Library evolution for non-Darwin platforms (this isn't even really a SwiftPM topic)
Building a binary dependency from a package (I think it might also be a non-goal to do this in SwiftPM for Darwin platforms, because we don't really support building for anything but macOS and even there support is limited, e.g. in terms of resource types)

Only the first one is really needed for the main topic of this particular issue, right?

Hi Boris,
Thanks for trying to split this up,

Support for binary dependencies also for Linux (preferably using artifactbundle format so we can have both macOS and Linux in a single dependency if putting things in the right places)
Support for enabling library evolution for SPM packages generating dynamic libraries on both macOS and Linux (accepting the requirement for same toolchain on Linux)
I think this couples a lot of different topics together that should be separate:

Support for binary dependencies for non-Darwin platforms

Yes, that's the biggest issue.

Darwin platform binary dependencies in artifact bundles (personally, I think that's a non-goal since we already have XCFrameworks)

Agree, that's just fine I think - one can have two conditionalized dependencies (thanks to SE-0273) in that case - not perhaps as nice as a single dependency (as we push the work on our customers instead of hiding it), but definitely liveable and not a showstopper in any way.

Library evolution for non-Darwin platforms (this isn't even really a SwiftPM topic)

Well, in Xcode there's BUILD_LIBRARY_FOR_DISTRIBUTION - as far as I've been able to gather there's no similar setting using SwiftPM - that is why I brought it up - we'd like to build our packages with SwiftPM to generate the libraries using library evolution mode. Currently there's no good way to do that AFAICT.

Building a binary dependency from a package (I think it might also be a non-goal to do this in SwiftPM for Darwin platforms, because we don't really support building for anything but macOS and even there support is limited, e.g. in terms of resource types)

Well, after googling a bit it seems one could use e.g. swift-create-xcframework, but it would be desirable that the same SwiftPM package could be used to generate a dynamic library that is able to be packaged for multiple platforms (even if that packaging might differ) - we don't have any Xcode projects for any of our code, we just only use SwiftPM (as we want portability).

Only the first one is really needed for the main topic of this particular issue, right?

I think the other two would be needed as well to be able to build versioned resilient libraries?

Right, there is no equivalent to BUILD_LIBRARY_FOR_DISTRIBUTION in SwiftPM and eventually there should be. But for the time being, I would recommend building with xcodebuild instead and passing that setting as an override (note that you can use xcodebuild for standalone packages, there is no requirement for having an Xcode project).
Non-Darwin platforms do not currently offer ABI stability for Swift, so you can just use a regular release build for those.

Right, there is no equivalent to BUILD_LIBRARY_FOR_DISTRIBUTION in SwiftPM and eventually there should be. But for the time being, I would recommend building with xcodebuild instead and passing that setting as an override (note that you can use xcodebuild for standalone packages, there is no requirement for having an Xcode project).
Non-Darwin platforms do not currently offer ABI stability for Swift, so you can just use a regular release build for those.

We’d like to use that on Linux too - according to the blow post linked above it should be possible to use library evolution mode on Linux too if matching tool chains :

Platform support
The Swift compiler currently only guarantees binary compatibility among different compiler versions on Apple platforms. This means that on Linux and other platforms, an application and a library built with different versions of the Swift compiler will not necessarily link or behave correctly at runtime.

However, stable module interfaces and library evolution can be used on all platforms supported by Swift. So on non-Apple platforms, you can still use multiple versions of the same library without recompiling a client application, as long as all binaries were built with the same version of the Swift compiler.

As mentioned in ABI stability and more, as development of Swift on Linux, Windows, and other platforms matures, the Swift Core Team will evaluate stabilizing the ABI on those platforms as well. This will lift the restriction on mixing and matching artifacts built with different compiler versions.

We are fine enforcing identical compiler versions on Linux,  yet we’d like to use stable module interfaces and evolution to allow for selectively upgrading shared libraries. We’ll always ensure the same tool chain versions are used by our customers.

(So the need to pass that on Linux remains even if it’s useful to know about the Xcodebuild workaround on macOS, thanks)

Ah interesting, I wasn't aware of that. Yes, I guess that means we'll want to support it.
You can try directly passing the compiler flags via -Xswiftc as a workaround, but I believe there was an issue with the generation .swiftinterface files in that case.

Hmmm.
I'm starting playing with it to see what can be done (on macOS to start) and adding a couple of unsafe flags
to the package/library:
import PackageDescription

let package = Package(
    name: "prototype-library-evolution",
    products: [
        .library(
            name: "PrototypeLibraryEvolution",
            type: .dynamic,
            targets: ["PrototypeLibraryEvolution"]),
    ],
    dependencies: [
    ],
    targets: [
        .target(
            name: "PrototypeLibraryEvolution",
            dependencies: [],
            swiftSettings: [.unsafeFlags(["-enable-library-evolution",
                                         "-emit-module-interface"])])
    ]
)

actually gave me a .swiftinterface file as well as the .dylib when building the library:
hassila@max ~/G/prototype-library-evolution (main)> ls .build/arm64-apple-macosx/debug/
ModuleCache/                                      PrototypeLibraryEvolution.private.swiftinterface  PrototypeLibraryEvolution.swiftinterface          description.json                                  prototype-library-evolutionPackageTests.product/
PrototypeLibraryEvolution.abi.json                PrototypeLibraryEvolution.product/                PrototypeLibraryEvolution.swiftmodule             index/
PrototypeLibraryEvolution.build/                  PrototypeLibraryEvolution.swiftdoc                PrototypeLibraryEvolution.swiftsourceinfo         libPrototypeLibraryEvolution.dylib*
hassila@max ~/G/prototype-library-evolution (main)>

Then trying to build a client of this library failed:
I tried the simplest thing I could think of and declared an enum to be able to test non-frozen structs (SE-0192) with
@unknown default:, but a trivial test client app using the library does not seem to recognise it is
built/should use evolution mode so I get a warning:
/Users/hassila/GitHub/prototype-library-evolution-client/Sources/prototype-library-evolution-client/prototype_library_evolution_client.swift:21:9: warning: default will never be executed
        @unknown default:
        ^

It seems SwiftPM is too smart and will statically link when there's a local dependency even when the product
is defined to have the type .dynamic.
hassila@max ~/G/prototype-library-evolution-client (main) [1]> ls .build/arm64-apple-macosx/debug
ModuleCache/                                            PrototypeLibraryEvolution.swiftmodule                   prototype-library-evolution-client*                     prototype_library_evolution_client.build/
PrototypeLibraryEvolution.abi.json                      PrototypeLibraryEvolution.swiftsourceinfo               prototype-library-evolution-client.product/             prototype_library_evolution_client.swiftdoc
PrototypeLibraryEvolution.build/                        description.json                                        prototype-library-evolution-clientPackageTests.product/ prototype_library_evolution_client.swiftmodule
PrototypeLibraryEvolution.swiftdoc                      index/                                                  prototype_library_evolution_client.abi.json             prototype_library_evolution_client.swiftsourceinfo
hassila@max ~/G/prototype-library-evolution-client (main)> ls .build/arm64-apple-macosx/debug/PrototypeLibraryEvolution.build/
PrototypeLibraryEvolution-Swift.h        PrototypeLibraryEvolution.swift.o        master.priors                            module.modulemap
PrototypeLibraryEvolution.d              PrototypeLibraryEvolution.swiftdeps      master.swiftdeps                         output-file-map.json
PrototypeLibraryEvolution.emit-module.d  PrototypeLibraryEvolution.swiftdeps~     master.swiftdeps~
hassila@max ~/G/prototype-library-evolution-client (main)>

I'll see if I can wrap it as a binary dependency (XCFramework) instead and if that makes a difference.

Another question came up now when I played with this a bit more when validating your fix for the XCFramework search paths.
It seems SwiftPM copies the binary target dependencies (shared library) to the build directory and use it from there -
that is a bit undesirable if enabling library evolution mode and wanting to truly share the shared library across multiple consumers of the framework - I'd expect SwiftPM to link vs. the XCFramework in the location where it is located rather than copying it over to the build for the project I'm doing - as least as an option.
I tested it on Linux (did a simple POC by enabling .xcframework in my local toolchain for linux and handcrafted a Linux .xcframework just for validation) and could see this when checking what was actually dynamically loaded:
ubuntu@swift ~/p/PrototypeLibraryEvolution.xcframework (main) [1]> sudo pldd 61802
61802:	/home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient
linux-vdso.so.1
/usr/lib/swift/linux/libswiftGlibc.so
/lib/aarch64-linux-gnu/libm.so.6
/lib/aarch64-linux-gnu/libpthread.so.0
/lib/aarch64-linux-gnu/libutil.so.1
/lib/aarch64-linux-gnu/libdl.so.2
/usr/lib/swift/linux/libswift_Concurrency.so
/usr/lib/swift/linux/libswiftCore.so
/usr/lib/swift/linux/libswiftSwiftOnoneSupport.so
***** /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/libPrototypeLibraryEvolution.so *****
/lib/aarch64-linux-gnu/libc.so.6
/lib/aarch64-linux-gnu/libstdc++.so.6
/lib/aarch64-linux-gnu/libgcc_s.so.1
/lib/ld-linux-aarch64.so.1
/usr/lib/swift/linux/libdispatch.so
/lib/aarch64-linux-gnu/librt.so.1
/usr/lib/swift/linux/libBlocksRuntime.so

I could see in the build log that the first thing done was copying the .so
Building for debugging...
***** Copying /home/ubuntu/prototype-library-evolution/PrototypeLibraryEvolution.xcframework/linux-aarch64/libPrototypeLibraryEvolution.so *****
/usr/bin/swiftc -module-name PrototypeLibraryEvolutionClient -incremental -emit-dependencies -emit-module -emit-module-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.swiftmodule -output-file-map /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/output-file-map.json -c /home/ubuntu/prototype-library-evolution-client/Sources/PrototypeLibraryEvolutionClient/PrototypeLibraryEvolutionClient.swift -I /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -target aarch64-unknown-linux-gnu -swift-version 5 -enable-batch-mode -index-store-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/index/store -Onone -enable-testing -g -j8 -DSWIFT_PACKAGE -DDEBUG -I /home/ubuntu/prototype-library-evolution/PrototypeLibraryEvolution.xcframework/linux-aarch64 -Xcc -I -Xcc /home/ubuntu/prototype-library-evolution/PrototypeLibraryEvolution.xcframework/linux-aarch64 -module-cache-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/ModuleCache -parseable-output -Xfrontend -entry-point-function-name -Xfrontend PrototypeLibraryEvolutionClient_main -parse-as-library -F /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -color-diagnostics -v
Swift version 5.6.2 (swift-5.6.2-RELEASE)Target: aarch64-unknown-linux-gnu/usr/bin/swift-frontend -frontend -c -primary-file /home/ubuntu/prototype-library-evolution-client/Sources/PrototypeLibraryEvolutionClient/PrototypeLibraryEvolutionClient.swift -emit-dependencies-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.d -emit-reference-dependencies-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swiftdeps -target aarch64-unknown-linux-gnu -Xllvm -aarch64-use-tbi -disable-objc-interop -I /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -I /home/ubuntu/prototype-library-evolution/PrototypeLibraryEvolution.xcframework/linux-aarch64 -F /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -color-diagnostics -enable-testing -g -module-cache-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/ModuleCache -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -new-driver-path /usr/bin/swift-driver -entry-point-function-name PrototypeLibraryEvolutionClient_main -resource-dir /usr/lib/swift -enable-anonymous-context-mangled-names -Xcc -I -Xcc /home/ubuntu/prototype-library-evolution/PrototypeLibraryEvolution.xcframework/linux-aarch64 -module-name PrototypeLibraryEvolutionClient -parse-as-library -o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swift.o -index-store-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/index/store -index-system-modules
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /home/ubuntu/prototype-library-evolution-client/Sources/PrototypeLibraryEvolutionClient/PrototypeLibraryEvolutionClient.swift -target aarch64-unknown-linux-gnu -Xllvm -aarch64-use-tbi -disable-objc-interop -I /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -I /home/ubuntu/prototype-library-evolution/PrototypeLibraryEvolution.xcframework/linux-aarch64 -F /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -color-diagnostics -enable-testing -g -module-cache-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/ModuleCache -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -new-driver-path /usr/bin/swift-driver -entry-point-function-name PrototypeLibraryEvolutionClient_main -resource-dir /usr/lib/swift -enable-anonymous-context-mangled-names -Xcc -I -Xcc /home/ubuntu/prototype-library-evolution/PrototypeLibraryEvolution.xcframework/linux-aarch64 -module-name PrototypeLibraryEvolutionClient -emit-module-doc-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.swiftdoc -emit-module-source-info-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.swiftsourceinfo -parse-as-library -o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.swiftmodule -emit-abi-descriptor-path /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.abi.json
/usr/bin/swift-frontend -modulewrap /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.swiftmodule -target aarch64-unknown-linux-gnu -o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.o
/usr/bin/swift-autolink-extract /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swift.o -o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.autolink
/usr/bin/swiftc -modulewrap /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.swiftmodule -o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swiftmodule.o -target aarch64-unknown-linux-gnu
/usr/bin/swiftc -lPrototypeLibraryEvolution -F /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -L /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient -module-name PrototypeLibraryEvolutionClient -emit-executable -Xlinker --defsym -Xlinker main=PrototypeLibraryEvolutionClient_main -Xlinker '-rpath=$ORIGIN' @/home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.product/Objects.LinkFileList -target aarch64-unknown-linux-gnu -v -L /usr/lib
Swift version 5.6.2 (swift-5.6.2-RELEASE)
Target: aarch64-unknown-linux-gnu
/usr/bin/swift-autolink-extract /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swift.o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swiftmodule.o -o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.autolink
/usr/bin/clang -fuse-ld=gold -pie -Xlinker -rpath -Xlinker /usr/lib/swift/linux /usr/lib/swift/linux/aarch64/swiftrt.o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swift.o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swiftmodule.o @/home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.autolink -F /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -L /usr/lib/swift/linux -lswiftCore --target=aarch64-unknown-linux-gnu -v -L /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -L /usr/lib -lPrototypeLibraryEvolution -Xlinker --defsym -Xlinker main=PrototypeLibraryEvolutionClient_main -Xlinker '-rpath=$ORIGIN' -o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient
clang version 13.0.0 (https://github.com/apple/llvm-project.git f765bf5b71fd3637a6f6d1d3e6ab95ca91892a0c)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/9
Selected GCC installation: /usr/bin/../lib/gcc/aarch64-linux-gnu/9
Candidate multilib: .;@m64
Selected multilib: .;@m64
clang-13: warning: argument unused during compilation: '-F/home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug' [-Wunused-command-line-argument]
 "/usr/bin/ld.gold" -pie -EL -z relro --hash-style=gnu --eh-frame-hdr -m aarch64linux -dynamic-linker /lib/ld-linux-aarch64.so.1 -o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient /lib/aarch64-linux-gnu/Scrt1.o /lib/aarch64-linux-gnu/crti.o /usr/bin/../lib/gcc/aarch64-linux-gnu/9/crtbeginS.o -L/usr/lib/swift/linux -L/home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug -L/usr/lib -L/usr/bin/../lib/gcc/aarch64-linux-gnu/9 -L/lib/aarch64-linux-gnu -L/usr/lib/aarch64-linux-gnu -L/usr/bin/../lib -L/lib -L/usr/lib -rpath /usr/lib/swift/linux /usr/lib/swift/linux/aarch64/swiftrt.o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swift.o /home/ubuntu/prototype-library-evolution-client/.build/aarch64-unknown-linux-gnu/debug/PrototypeLibraryEvolutionClient.build/PrototypeLibraryEvolutionClient.swiftmodule.o -lswiftGlibc -lm -lpthread -lutil -ldl -lswift_Concurrency -lswiftCore -lswiftSwiftOnoneSupport -lswiftCore -lPrototypeLibraryEvolution --defsym main=PrototypeLibraryEvolutionClient_main "-rpath=\$ORIGIN" -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/bin/../lib/gcc/aarch64-linux-gnu/9/crtendS.o /lib/aarch64-linux-gnu/crtn.o
Build complete! (0.73s)

To me this is related to have the full support for library evolution using shared libraries, but maybe that should be broken out as a separate case from supporting the binaryTarget (both are needed to reach the end goal though, to be able to build shared libraries that use library evolution support and that can be shared across multiple consumer of the library - just as for system framework from Apple)


Unable to upgrade to Python rest client 3.7.0 "Failed building wheel for tb-rest-client"

Hello,
I am trying to upgrade Python rest client to the newer version 3.7.0.
I am receiving this error after running the command "pip3 install tb-rest-client -U".
Any help?
Thank you!
error: could not create 'build\bdist.win-amd64\wheel.\tb_rest_client\models\models_ce\entity_type_entity_idtenant_idpage_sizepagetext_searchsort_propertysort_orderstart_timeend_time_body.py': No such file or directory
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for tb-rest-client
Failed to build tb-rest-client
ERROR: Could not build wheels for tb-rest-client, which is required to install pyproject.toml-based projects

Hello
I'm facing the same issue as mentioned in the previous comment with the newer version 3.7.0:
`
copying build\lib\tb_rest_client\models\models_ce\entity_relation_info.py -> build\bdist.win-amd64\wheel.\tb_rest_client\models\models_ce
copying build\lib\tb_rest_client\models\models_ce\entity_subtype.py -> build\bdist.win-amd64\wheel.\tb_rest_client\models\models_ce
copying build\lib\tb_rest_client\models\models_ce\entity_type_entity_idtenant_idpage_sizepagetext_searchsort_propertysort_orderstart_timeend_time_body.py -> build\bdist.win-amd64\wheel.\tb_rest_client\models\models_ce
error: could not create 'build\bdist.win-amd64\wheel.\tb_rest_client\models\models_ce\entity_type_entity_idtenant_idpage_sizepagetext_searchsort_propertysort_orderstart_timeend_time_body.py': No such file or directory
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for tb-rest-client
Running setup.py clean for tb-rest-client
Failed to build tb-rest-client
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (tb-rest-client)
(tb_env) PS C:\Users\a909926\IdeaProjects\nocode-ui\backend>
`


Initial Implementation: Configuration hosting

Summary
To begin with, we focus on the most important feature of structe, which is to remove configuration and building stages of a frontend project.
You can look at the tool like abstracting your dev dependencies and build commands to its own repository, where we expose a simple API to generate a build, run a tool, or and to have a cleaner project root.
To eject structe, you can do that through our api, and get the abstracted tools into your projects again. Good for things like CI's and production branches.
Needed Functionality in crates

Config/builder crate
(Not initally needed): Tools folder
Context manager that is used together with builder crate
Resolver crate (To resolve schemas from the CLI)
Bootstrapping (Creating a structe project)
CLI with init
CLI with commands
PkgJSON path to structe project path

We will initially have the functionality like a configuration picker, where the user can swap between configurations and output to pwd or config pwd given through a flag/config option.

Are we hiding all the config files for the different tools by making our own config file ? and if so, how will that file structure be like ?
if I let's say had an eslint config file hidden by structe, how will I be able to modify some eslint flags ?

Let's keep it simple first. We abstract all dev-tooling to a repo the user has, but with a structe config file. In the start, the structe config file lets the user split dev/prod configurations. We load these configurations based on a git branch or by keeping files in memory. In memory means that we just save/make a snapshot of the project for dev and prod.

Can we able to switch configurations in the middle, if we have already chosen a configuration and worked on it?

Instead of keeping file in memory, we will default to git, and if git is not present in project root, then we use the current folder. We will initially read package.json "scripts" property and wrap each script through structe.


3.0 getClass is failing when has a superclass

OrientDB Version: 3.0.0 RC1
Java Version: 1.8
OS: Centos
Hi,
in the code below, subUser is null on 2nd run.  shouldn't getClass return regardless of the inheritance?
    OClass subUser = db.getClass("SubUser");
    if(subUser == null)
    {
        subUser = db.createClass("SubUser", "User");
    }

Thanks,
Safwan

Hi @ShakAttacked
Is it in remote?
@tglman maybe it's a problem with push notifications? perhaps already fixed in the snapshot?
Luigi

Hi @ShakAttacked,
Yes this should be fixed with the push notifications in the  3.0.0 Final.
Regards

Hi @tglman,
Do you know when it was fixed? I either tested it on the snapshot from the 25th or the 30th of Jan.  I can check it on the snapshot build from the 30th again.
Thanks,
Safwan

Hi @ShakAttacked,
This should have been fixed for the 30th of December, so for sure it should be there the 30th of Jennuary
Regards

Hi @tglman
I've just tested it again and I cannot reproduce it.  Maybe I found it before I moved to the snapshot on the 25th.
I'll close it.


Feat: Add icons in contact page.

Describe the feature
I want to add icons on contact page before labels.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Adityadhiman0 Dear sir can you please assign me this issue , I'll make sure to you I'll complete the task as early as possible.

raise a pr for the issue, it will be reviewed and level will be assigned there based on ur work .
here , github bot assigns issue by default .


feat: LockFileEx/UnLockFileEx methods shouldn't be called explicitly

PR Details
Stride should avoid direct references to any OS if possible. This PR Hides Lock/UnLockEx methods under already made Lock/Unlock methods that wrap them.
Related Issue
None, but this relates to Stride.Launcher which is using FileLock.Wait method, so this provides cross-platform experience
Types of changes

[x] Docs change / refactoring / dependency upgrade
[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change - kind of, but only changes return type from void --> bool

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[ ] I have built and run the editor to try this change out.

Should this be renamed to TryLockFile instead ?

@Eideren Huh...Your're right, It should 😅 I have now added your suggestion

oh,yea...I forgot the parentheses. This is the last fix I promise 😆

Sorry, I should have just built it myself straight away before sending the PR 🤐 . I've built the project so the test should pass

Thanks !


http auth [NIP-98] Positive Interoperability Tracker

https://github.com/nostr-protocol/nips/blob/master/98.md

app
Nip-98
comment

damus
✅
purple api, nostr build, push notifications

Nostr.build
✅
authorization headers

Nsec.app
✅

Npub.pro
✅

Zap.stream
✅
API

amethyst
✅
?

NostrDVM
✅

Sigit.io
✅

Stacker.news
✅
https://github.com/stackernews/stacker.news/pull/1636#issuecomment-2526354699

Ditto
✅
Mastodon API

There is no interoperability gains here.

It should track libraries, not clients. nostr-tools, Nostrify, etc.


Support using imported tensor attribute with nearestNeighbor query operator

Currently, this is stopped in AttributeBlueprintFactory with the following example warning:
NearestNeighborTerm(pos, qpos_double): Attribute is not a dense tensor (type=tensor(x[2])). Returning empty blueprint
To fix this we must avoid using DenseTensorAttribute directly. Instead we need an interface that NearestNeighborBlueprint can use, that both DenseTensorAttribute and ImportedTensorAttributeVector can implement.

We should also consider supporting this for imported tensor attributes that have a hnsw index.

Could you please give an estimate of when it will be available?

Hi @daouh thanks for following up on feature requests! We will do planning for next quarters in the new year, so it will not be available short term, we need to scope the work as well. We will post updates here once we know more.

This has been fixed in 7.384.18 (https://github.com/vespa-engine/vespa/pull/17236).
System test added in https://github.com/vespa-engine/system-test/pull/1454.


[SPARK-43960][PS][TESTS] DataFrameConversionTestsMixin is not tested properly

What changes were proposed in this pull request?
This PR proposes to fix test which is not tested properly.
Why are the changes needed?
To test properly.
Does this PR introduce any user-facing change?
No, it's test only
How was this patch tested?
The existing CI should pass

Merged to master.


Toggle Switch Disable property is not working as expected

I am facing an issue in enabling/disabling the toggle button.
Initial state I have set the property of disabled = {true}, this is working fine. But I wanted to enable it back and this state is not working. Can you please look in to this.

I have the same problem...

@gitbrent Any update on this?

@gitbrent I can fix this issue and make a pull request. If you approve, I will do it.

Same thing for onstyle property. If you change the parameter after the first render it will be ignored.

If this can help anyone else. I quickly hacked around this by wrapping the switch in a div, and removing pointer events via a class or style. You can also play with opacity to make it look faded. Note that you can use bootstrap 5 classes 'pe-none' and 'pe-auto' instead of your own.
<div className={`${isDisabledCondition ? 'noPointerEvents', 'inheritPointerEvents'}`}>
  <BootstrapSwitchButton />

<div style={{pointerEvents: `${isDisabledCondition? 'none' : 'inherit'}`}}>
  <BootstrapSwitchButton />


[Fixed] Disable new color schemes creating

See Sublime Text forum thread for details.
Thanks.

Current coverage is 13.33% (diff: 100%)

Merging #534 into master will increase coverage by <.01%

@@             master       #534   diff @@
==========================================
  Files            10         10
  Lines          3060       3059     -1
  Methods           0          0
  Messages          0          0
  Branches        717        717
==========================================
  Hits            408        408
+ Misses         2640       2639     -1
  Partials         12         12

Powered by Codecov. Last update 657c425...e4192fe

This simply comments out the code that patches the color schemes. If you have a specific issue with how this works please open an issue instead to describe it.


Compilation issues

Hello,
Please could you explain more how can I use this tool ??  I couldn't compile your commands.
I got always the following problem: "bash: /spedi: No such file or directory".
Thank you in advance for your help ☺
Best regards

This repository contains only the binary benchmarks used in our CASES'16 paper.
To build the tool, Spedi, you need to first ensure that you have Capstone v3.04 installed.
I am so grateful to your help


add ttl to validators.py

What was wrong?
https://github.com/ethereum/py-evm/blob/46f956ea048eafed6606f59a465af375f1be7a9a/trinity/tx_pool/validators.py#L47-L56
get called quite often and impact ChainProxy
How was it fixed?
Add time to live caching through @cachetools.func.ttl_cache decorator.
Cute Animal Picture

Closes #992

Alternatively, I wouldn't be opposed to a local implementation either as I suspect it would be relatively easy to implement in conjunction with toolz.memoize

@pipermerriam  @cburgdorf thanks for the feedback.

@zixuanzh Squashed and merged it. Thank you very much for your contribution! :tada:


HA slow when I enable go2rtc

Hi,
I'm running HA on a real server in a VM running on ESXi.
The VM has 8 vCPU's and 16 GB of memory. Monitoring shows It's doing almost nothing.
When I enable go2rtc (now v 1.0.1, but the problem has been there since I tried it first a couple of weeks (and versions) ago) and with the RTSPtoWebRTC integration to automatically couple my 4 configured camera's in go2rtc.
When the go2rtc server is running, opening the HA app on my mobile slows down to the level I get popups about it not loading and if I want to wait. If I wait a bit longer, it will load... slowly. When I disable go2rtc all is fast again. I've tried multiple times as the first time I changed and installed other stuff to, so I had to rule them out.
Any thoughts on this?

About problems with RTSPtoWebRTC integration you should ask in the Hass repo.
I recommend you to use WebRTC Camera custom integration.

This fixed itself about a day after I posted this...


Keybase client on Mac failing in daemon mode (via tmux)

I've been trying to get the keybase client running on my Mac. Spec:
System Version: OS X 10.10.5 (14F1021)
Kernel Version: Darwin 14.5.0

I get the following issue after brew install keybase
$ keybase login

There are no Keybase services installed. You may need to re-install.
▶ ERROR dial unix /Users/username/Library/Caches/Keybase/keybased.sock: connect: no such file or directory

Then then I try to run the "install" subcommand (I don't know if this is the correct approach), I get the following:
$ keybase install
▶ INFO Checking /usr/local/bin/keybase (/usr/local/opt/keybase/bin/keybase)
▶ INFO Checking service
▶ INFO Service: Not Installed (Action: Install)
▶ INFO Installing Keybase service
▶ INFO Checking KBFS
▶ INFO KBFS: Not Installed (Action: Install)
▶ INFO Installing KBFS
▶ ERROR Error installing KBFS: exit status 1
▶ INFO Installer for cli: OK
▶ INFO Installer for service: OK
▶ INFO Installer for kbfs: INSTALL_ERROR exit status 1

If I run keybase -standalone login it works as expected.
Suggestions on debugging this?

Update:
after running keybase ctl start it started working again. This wasn't in the documentation or suggested by the login subcommand. Maybe this should be clarified?

Can you run a keybase -d install?

(I think the install into launchd failed; we have a PR for fixing this here: https://github.com/keybase/client/pull/1536)

Thanks for the response. Below is the output. Also, if I run it twice it will state Service: Not Installed (Action: Install) both times.
$ keybase -d install
15:31:16.343186 ▶ [DEBU keybase ui.go:432] 001 Setting GPG_TTY to /dev/ttys005
15:31:16.343230 ▶ [DEBU keybase globals.go:186] 002 Keybase CLI 1.0.6-0
15:31:16.343242 ▶ [DEBU keybase globals.go:186] 003 - Built with go1.5.2
15:31:16.343248 ▶ [DEBU keybase globals.go:186] 004 - Visit https://keybase.io for more details
15:31:16.343257 ▶ [DEBU keybase main.go:100] 005 + configureProcesses
15:31:16.343269 ▶ [DEBU keybase main.go:178] 006 + configureLogging
15:31:16.343276 ▶ [DEBU keybase main.go:187] 007 Disabling log forwarding
15:31:16.343282 ▶ [DEBU keybase main.go:180] 008 - configureLogging
15:31:16.343288 ▶ [DEBU keybase main.go:102] 009 - configureProcesses -> <nil>
15:31:16.343297 ▶ [DEBU keybase install_osx.go:372] 00a Installing components: [cli service kbfs]
15:31:16.343312 ▶ [DEBU keybase install_osx.go:375] 00b Checking command line
15:31:17.045254 ▶ [INFO keybase install_osx.go:414] 00c Checking /usr/local/bin/keybase (/usr/local/opt/keybase/bin/keybase)
15:31:17.300067 ▶ [DEBU keybase install_osx.go:466] 00d Using binPath: /usr/local/opt/keybase/bin/keybase
15:31:17.300130 ▶ [INFO keybase install_osx.go:467] 00e Checking service
15:31:17.312822 ▶ [INFO keybase install_osx.go:469] 00f Service: Not Installed (Action: Install)
15:31:17.312863 ▶ [INFO keybase install_osx.go:471] 010 Installing Keybase service
15:31:17.331102 ▶ [DEBU keybase util.go:195] 011 + Writing to /Users/username/Library/LaunchAgents/homebrew.mxcl.keybase.plist
15:31:17.332043 ▶ [DEBU keybase util.go:197] 012 | Temporary file generated: /Users/username/Library/LaunchAgents/homebrew.mxcl.keybase.plist.BXDEWKF7CY2D6SN2BWVBD55YR77HPUL5
15:31:17.336256 ▶ [DEBU keybase util.go:216] 013 - Wrote to /Users/username/Library/LaunchAgents/homebrew.mxcl.keybase.plist -> ok
15:31:17.616510 ▶ [INFO keybase install_osx.go:488] 014 Checking KBFS
15:31:17.848104 ▶ [INFO keybase install_osx.go:490] 015 KBFS: Not Installed (Action: Install)
15:31:17.848170 ▶ [INFO keybase install_osx.go:492] 016 Installing KBFS
15:31:18.086009 ▶ [ERRO keybase standard.go:182] 017 Error installing KBFS: exit status 1
15:31:18.086099 ▶ [INFO keybase cmd_install_osx.go:104] 018 Installer for cli: OK
15:31:18.086126 ▶ [INFO keybase cmd_install_osx.go:104] 019 Installer for service: OK
15:31:18.086141 ▶ [INFO keybase cmd_install_osx.go:104] 01a Installer for kbfs: INSTALL_ERROR exit status 1
15:31:18.086189 ▶ [DEBU keybase globals.go:231] 01b Calling shutdown first time through
15:31:18.086220 ▶ [DEBU keybase login_state.go:878] 01c + Account "LoginState - Shutdown"
15:31:18.086277 ▶ [DEBU keybase login_state.go:880] 01d - Account "LoginState - Shutdown"
15:31:18.086313 ▶ [DEBU keybase globals.go:271] 01e exiting shutdown code=0; err=<nil>

Thanks for the update, my theory is wrong then.  It seems like launchd is failing to start the keybase service.
If you open up the Console app, do any interesting log lines show up when you search for keybsase? Many thanks helping us to debug.

@gabriel, any ideas here?

The following showed up in the Console after running keybase -d install, seems like my Mac user has some kind of restrictions in place. It's a network directory connected Mac so my profile is managed by Active Directory policies. I am however a "full local admin" and access to things like sudo etc. But looks like there is some kind of restriction around launchd then. I can manage with manually starting the service. But maybe there should be some error handling of some kind in place?
12/16/15 4:04:53.998 PM com.apple.xpc.launchd[1]: (com.apple.xpc.launchd.domain.system) Caller not allowed to perform action: launchctl.20511, action = unbootstrap, code = 1: Operation not permitted, uid =<PHONE_NUMBER>, euid =<PHONE_NUMBER>, gid =<PHONE_NUMBER>, egid =<PHONE_NUMBER>, asid = 100005
12/16/15 4:04:54.006 PM com.apple.xpc.launchd[1]: (com.apple.xpc.launchd.domain.system) Caller not allowed to perform action: launchctl.20512, action = unbootstrap, code = 1: Operation not permitted, uid =<PHONE_NUMBER>, euid =<PHONE_NUMBER>, gid =<PHONE_NUMBER>, egid =<PHONE_NUMBER>, asid = 100005
12/16/15 4:04:54.020 PM com.apple.xpc.launchd[1]: (com.apple.xpc.launchd.domain.system) Caller not allowed to perform action: launchctl.20513, action = unbootstrap, code = 1: Operation not permitted, uid =<PHONE_NUMBER>, euid =<PHONE_NUMBER>, gid =<PHONE_NUMBER>, egid =<PHONE_NUMBER>, asid = 100005
12/16/15 4:04:54.028 PM com.apple.xpc.launchd[1]: (com.apple.xpc.launchd.domain.system) Caller not allowed to perform action: launchctl.20514, action = service bootstrap, code = 1: Operation not permitted, uid =<PHONE_NUMBER>, euid =<PHONE_NUMBER>, gid =<PHONE_NUMBER>, egid =<PHONE_NUMBER>, asid = 100005
12/16/15 4:04:54.555 PM com.apple.xpc.launchd[1]: (com.apple.xpc.launchd.domain.system) Caller not allowed to perform action: launchctl.20533, action = unbootstrap, code = 1: Operation not permitted, uid =<PHONE_NUMBER>, euid =<PHONE_NUMBER>, gid =<PHONE_NUMBER>, egid =<PHONE_NUMBER>, asid = 100005
12/16/15 4:04:54.563 PM com.apple.xpc.launchd[1]: (com.apple.xpc.launchd.domain.system) Caller not allowed to perform action: launchctl.20534, action = unbootstrap, code = 1: Operation not permitted, uid =<PHONE_NUMBER>, euid =<PHONE_NUMBER>, gid =<PHONE_NUMBER>, egid =<PHONE_NUMBER>, asid = 100005

I think those error messages might be unrelated OSX things?
Can you post a recent chunk of ~/Library/Logs/homebrew.mxcl.keybase.log.
Also what is the output of keybase launchd list?
Thanks for your help debugging :)

Totally forgot about this one. Just tried to get keybase running on another Mac and ended up in the same situation.
I've gone through the same steps again.
$ keybase launchd list
homebrew.mxcl.keybase: Not Running [Keybase]
No KBFS services.

$ keybase -d install
06:21:21.905513 ▶ [DEBU keybase ui.go:451] 001 Setting GPG_TTY to /dev/ttys003
06:21:21.905599 ▶ [DEBU keybase globals.go:205] 002 Keybase CLI 1.0.9-0
06:21:21.905625 ▶ [DEBU keybase globals.go:205] 003 - Built with go1.5.3
06:21:21.905642 ▶ [DEBU keybase globals.go:205] 004 - Visit https://keybase.io for more details
06:21:21.905691 ▶ [DEBU keybase main.go:120] 005 + configureProcesses
06:21:21.905723 ▶ [DEBU keybase main.go:207] 006 + configureLogging
06:21:21.905745 ▶ [DEBU keybase main.go:216] 007 Disabling log forwarding
06:21:21.905763 ▶ [DEBU keybase main.go:209] 008 - configureLogging
06:21:21.905779 ▶ [DEBU keybase main.go:122] 009 - configureProcesses -> <nil>
06:21:21.905941 ▶ [DEBU keybase install_osx.go:479] 00a + AutoInstall for launchd
06:21:21.906029 ▶ [DEBU keybase install_osx.go:492] 00b | already installed at /Users/eric/Library/LaunchAgents/homebrew.mxcl.keybase.plist
06:21:21.906058 ▶ [DEBU keybase install_osx.go:481] 00c - AutoInstall -> false, <nil>
06:21:22.007651 ▶ [DEBU keybase globals.go:250] 00d Calling shutdown first time through
06:21:22.007895 ▶ [DEBU keybase login_state.go:897] 00e + Account "LoginState - Shutdown"
06:21:22.008106 ▶ [DEBU keybase login_state.go:899] 00f - Account "LoginState - Shutdown"
06:21:22.008236 ▶ [DEBU keybase globals.go:290] 010 exiting shutdown code=0; err=<nil>

The file ~/Library/Logs/homebrew.mxcl.keybase.log doesn't exist.
$ keybase launchd start homebrew.mxcl.keybase
▶ INFO Starting homebrew.mxcl.keybase

$ keybase status

We found a Keybase service (homebrew.mxcl.keybase) but it's not running.
You might try starting it: keybase launchd start homebrew.mxcl.keybase

▶ ERROR dial unix /Users/eric/Library/Caches/Keybase/keybased.sock: connect: no such file or directory

Tried to launch it using launchctl, no success.
$ launchctl load /Users/eric/Library/LaunchAgents/homebrew.mxcl.keybase.plist
/Users/eric/Library/LaunchAgents/homebrew.mxcl.keybase.plist: Operation not permitted

$ sudo launchctl load /Users/eric/Library/LaunchAgents/homebrew.mxcl.keybase.plist
/Users/eric/Library/LaunchAgents/homebrew.mxcl.keybase.plist: Path had bad ownership/permissions

The service is failing to start, after running:
keybase launchd start homebrew.mxcl.keybase
Are there any error messages via tail -f /var/log/system.log ?

I installed from homebrew on yosemite:
System Version:	OS X 10.11.3 (15D21)
Kernel Version:	Darwin 15.3.0
I'm getting similar error message/output from keybase -d install, Console shows this line:
2/5/16 10:04:54.785 AM com.apple.xpc.launchd[1]: (com.apple.xpc.launchd.user.domain.501.100008.Aqua) Could not read path: path = /Users/jeremy/Library/LaunchAgents/keybase.kbfs.plist, error = 2: No such file or directory

I do have other launch agents, so it's not the linked PR above.

NOTE: I just commented on https://github.com/keybase/keybase-issues/issues/1883
For me the cause of this error was running inside of a tmux session. Once I detached from tmux and ran the launchd commands outside of a session everything started to work as expected.

@pbnjay I think that was left over from an old version of the installer (kbfs isn't available from brew yet).. if you run launchctl remove keybase.kbfs it should remove that error message...
What is your output of  ls -al ~/Library/LaunchAgents/*keybase*?
If installed from brew you should only have ~/LaunchAgents/homebrew.mxcl.keybase.plist
Any other services you should remove.
Also if you run launchctl list | grep keybase it should only output: homebrew.mxcl.keybase.
Once it's clear you only have this service installed you can try to reload it by doing:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.keybase.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.keybase.plist

@zoogeny thanks a lot! Running outside tmux solved my issue! It seem to be related to the standard tmux-on-mac issue with decoupling of the userspace.
Configuring tmux like the following link or using the wrapper as a prefix will also make it work inside tmux:
https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard

Glad it got figured out... I'll try to investigate why it's not working in tmux. If there is some incompatibility, in the least it should output a nicer error message

Similar issues here.

On Yosemite Version 10.10.5 ```➜  ~ keybase ctl start
▶ ERROR No service (plist) installed with label: keybase.service
➜  ~ keybase -d install
2016-06-16T13:47:11.415323 ▶ [DEBU keybase globals.go:238] 001 Created LinkCache, max size: 65536, clean dur: 1m0s
2016-06-16T13:47:11.417711 ▶ [DEBU keybase ui.go:512] 002 Setting GPG_TTY to /dev/ttys000
2016-06-16T13:47:11.417907 ▶ [DEBU keybase globals.go:219] 003 Keybase CLI 1.0.15
2016-06-16T13:47:11.418069 ▶ [DEBU keybase globals.go:219] 004 - Built with go1.6
2016-06-16T13:47:11.418076 ▶ [DEBU keybase globals.go:219] 005 - Visit https://keybase.io for more details
2016-06-16T13:47:11.418084 ▶ [DEBU keybase main.go:133] 006 + configureProcesses
2016-06-16T13:47:11.418096 ▶ [DEBU keybase main.go:229] 007 + configureLogging
2016-06-16T13:47:11.418105 ▶ [DEBU keybase main.go:238] 008 Disabling log forwarding
2016-06-16T13:47:11.418120 ▶ [DEBU keybase main.go:231] 009 - configureLogging
2016-06-16T13:47:11.418127 ▶ [DEBU keybase main.go:135] 00a - configureProcesses ->
2016-06-16T13:47:11.418305 ▶ [DEBU keybase install_osx.go:522] 00b + AutoInstall for launchd
2016-06-16T13:47:11.418552 ▶ [DEBU keybase install_osx.go:535] 00c Using binPath: /usr/local/Cellar/keybase/1.0.15/bin/keybase
2016-06-16T13:47:11.418674 ▶ [DEBU keybase install_osx.go:524] 00d - AutoInstall -> false,
2016-06-16T13:47:11.521923 ▶ [DEBU keybase globals.go:266] 00e Calling shutdown first time through
2016-06-16T13:47:11.521988 ▶ [DEBU keybase login_state.go:953] 00f + Account "LoginState - Shutdown"
2016-06-16T13:47:11.523836 ▶ [DEBU keybase login_state.go:955] 010 - Account "LoginState - Shutdown"
2016-06-16T13:47:11.523873 ▶ [DEBU keybase globals.go:312] 011 exiting shutdown code=0; err=
➜  ~ keybase login
▶ ERROR dial unix /Users/shaytac/Library/Caches/Keybase/keybased.sock: connect: no such file or directory

@serkanh can you keybase log send?  Maybe your service failed to start up. Thankx

Looks like a brew install trying to use a non-brew launchd label.. might be a bug in ctl start
In the meantime, you should update keybase to 1.0.16... brew update && brew upgrade keybase.

This turned out to be caused by LastPass for me, which had installed its own launchd plist file in my user's ~/Library/LaunchAgents directory and for some reason left the directory owned by root.
For me, running sudo chown yourusername:staff -R /Users/benhutchins/Library/LaunchAgents fixed it.

Yeah bad permissions on LaunchAgents causes services not to start.
This here is also the LaunchAgents permission issue: https://github.com/keybase/client/issues/5206


Update grocy_api_client.py

extend stock API communication
extend userfield API communication

Description
--modification to update userfield and add Adds the given amount of the given product to stock--
Related issue (if applicable): fixes #
Checklist

[ x ] The code change is tested and works locally.
[ ] tests pass. Your PR won't be merged unless tests pass
[ ] There is no commented out code in this PR

Please commit all file changes into one PR.


[BUG] set primary_container_name annotation for pod template configured pods w/ multiple containers

Tracking issue

Why are the changes needed?

PrimaryContainerKey annotation is not set on pods when a pod configured by PodTemplate has multiple containers. This causes for a task to be stuck in a running state.
What changes were proposed in this pull request?
Remove some abstraction with how primary_container_name annotation is set and have it set during post_init

How was this patch tested?

Added unit test
Ran wf locally to confirm that annotations were getting set correctly

Setup process
import requests
from flytekit.core.pod_template import PodTemplate
from kubernetes.client.models import (
    V1Container,
    V1PodSpec,
    V1ResourceRequirements,
    V1ContainerPort,
    V1Probe,
    V1HTTPGetAction
)

@task(
    pod_template=PodTemplate(
        primary_container_name="primary",
        pod_spec=V1PodSpec(
            containers=[
                V1Container(
                    name="primary",
                    resources=V1ResourceRequirements(
                        requests={"cpu": "2", "memory": "1Gi"},
                        limits={"cpu": "2", "memory": "1Gi"},
                    ),
                    ports=[V1ContainerPort(container_port=80, name="http-primary")],
                    readiness_probe=V1Probe(
                        initial_delay_seconds=20,
                        period_seconds=5,
                        failure_threshold=5,
                        http_get=V1HTTPGetAction(path="/", port=80),
                    ),
                    liveness_probe=V1Probe(
                        initial_delay_seconds=20,
                        period_seconds=5,
                        failure_threshold=5,
                        http_get=V1HTTPGetAction(path="/", port=80),
                    ),
                ),
                V1Container(
                    name="secondary",
                    image="python",
                    command=["/bin/sh"],
                    args=[
                        "-c",
                        "python -m http.server 80",
                    ],
                    ports=[V1ContainerPort(container_port=80, name="http-api")],
                    readiness_probe=V1Probe(
                        initial_delay_seconds=20,
                        period_seconds=5,
                        failure_threshold=5,
                        http_get=V1HTTPGetAction(path="/", port=80),
                    ),
                    liveness_probe=V1Probe(
                        initial_delay_seconds=20,
                        period_seconds=5,
                        failure_threshold=5,
                        http_get=V1HTTPGetAction(path="/", port=80),
                    ),
                    resources=V1ResourceRequirements(
                        requests={"cpu": "2", "memory": "1Gi"},
                        limits={"cpu": "2", "memory": "1Gi"},
                    ),
                ),
            ],
        ),
    ),
    requests=Resources(
        mem="1G",
    ),
)
def multiple_containers_pod_task() -> int:
    url = "http://localhost:80/"
    response = requests.get(url)
    print(response)
    return response.status_code

@workflow
def multiple_containers_pod_workflow() -> int:
    code = multiple_containers_pod_task()
    return code

Screenshots
Annotations:      cluster-autoscaler.kubernetes.io/safe-to-evict: false                   primary_container_name: primary
Check all the applicable boxes

[x] I updated the documentation accordingly.
[x] All new and existing tests passed.
[x] All commits are signed-off.

Related PRs

Docs link

I think this should be a flytepropeller thing rather than flytekit. Really it's just to ensure correct execution of the task, I know we set it here for the Pod plugin?


Unable to build pod in swift project

Hey, I added use_frameworks! and pod installed just like usual but the pod has several errors and I am also getting a "could not build objective c module" error for the import statement.

Hi Reed,
Yes I need to update the cocoapod.
It should remove that error and build if you add one line at the top of PanoramaView.h
#import <GLKit/GLKit.h>

btw, this fix is now live on cocoapods, v 1.0.2


I.E. Concrete Slabs Not Picked Up By Builder

Hello sir,
During some testing yesterday, I discovered the Concrete slabs from Immersive Engineering are deleted when using a Builder with a Quarry card installed. It will, however, pick up full Concrete Blocks (So, I don't believe I was voiding them). I tried 2 different cards and yielded the same result.
Is it possible this block could be allowed to be mined?
MC: 1.11.2
Forge: 2299
I.E.: 0.11-59-103
RFTools: 6.01
Thank you for your time!
Darkosto

Did you report it at IE as well as that sounds like a bug there. I use the normal break block methodology which should work for all blocks

Yep, I already spoke to Blu and he suspects it's not on his end.

Thank you for taking the time to create this issue, as we're no longer supporting versions below 1.12, I'm going to go ahead and close it but if this bug seems to continue over to newer versions, please do report it again so we can investigate the issue further.


chore: bump chart version to v0.0.2

Fixes #
Description
Bump version to v0.0.2 since v0.0.1 already exists.
How was this change tested?
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.04%) to 76.208%

Files with Coverage Reduction
New Missed Lines
%

pkg/scheduling/requirements.go
2
98.5%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
5551

Relevant Lines:
7284

💛  - Coveralls


Add system-glfw Cabal flag

Inspired by the yaml library, it would be convenient to have a Cabal flag that allows users to build bindings-GLFW using the system installation of GLFW. Among other uses, this flag would, for example, allow Windows users a quick way to hack around GHC Trac #12031 with GHC 8.0.1 (until GHC 8.0.2 is released).

If this were merged, you'd also need to bump the pkgconfig-depends field to 3.2.* in https://github.com/bsl/bindings-GLFW/pull/44.

Ping?

Hey I'm going to look into this, thanks for the ping.


GUVNOR-2705: Guided Decision Table Editor: Add new Asset type for multiple tables

See https://issues.jboss.org/browse/GUVNOR-2705

Part of an ensemble:

https://github.com/uberfire/uberfire/pull/537
https://github.com/droolsjbpm/kie-wb-common/pull/515
https://github.com/droolsjbpm/drools-wb/pull/322

+1


Typecheck options

This PR adds strict run-time type checks to the options manager. Implementing this uncovered a whole bunch of inconsistencies regarding which type we specified and what got actually passed around, so this change should improve stability by quite a bit 😄
This also fixes #1667 and #1668.

Excellent. This is a nice improvement.


[BUG] 30-sslsniff: make: *** [Makefile:86: /home/pegasus/Documents/bpf-developer-tutorial/src/30-sslsniff/.output/libbpf.a] Error 2

Describe the bug
When I'm trying to build the sslsniff tool from lesson 30 I face the following error: make: *** [Makefile:86: /home/pegasus/Documents/bpf-developer-tutorial/src/30-sslsniff/.output/libbpf.a] Error 2
To Reproduce
use make from the 30-sslsniff directory.
pegasus@pegasus:~/Documents/bpf-developer-tutorial/src/30-sslsniff$ make
  MKDIR    .output
  MKDIR    .output/libbpf
  LIB      libbpf.a
make[1]: *** /home/pegasus/Documents/bpf-developer-tutorial/src/third_party/libbpf/src: No such file or directory.  Stop.
make: *** [Makefile:86: /home/pegasus/Documents/bpf-developer-tutorial/src/30-sslsniff/.output/libbpf.a] Error 2

Expected behavior
It should build the tool properly
Screenshots

Desktop (please complete the following information):
pegasus@pegasus:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo
pegasus@pegasus:~$ uname -a
Linux pegasus 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Seems to miss submodules. Try
git submodule init --update --recursive

Where should I have it?

git submodule init --update --recursive

Run this under the top-level of bpf-developer-tutorial directory.

Or clone the entire repo with --recursive arg

The output
pegasus@pegasus:~/Documents/bpf-developer-tutorial$ git submodule init --update --recursive
usage: git submodule [--quiet] [--cached]
   or: git submodule [--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <repository>] [--] <repository> [<path>]
   or: git submodule [--quiet] status [--cached] [--recursive] [--] [<path>...]
   or: git submodule [--quiet] init [--] [<path>...]
   or: git submodule [--quiet] deinit [-f|--force] (--all| [--] <path>...)
   or: git submodule [--quiet] update [--init [--filter=<filter-spec>]] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--[no-]recommend-shallow] [--reference <repository>] [--recursive] [--[no-]single-branch] [--] [<path>...]
   or: git submodule [--quiet] set-branch (--default|--branch <branch>) [--] <path>
   or: git submodule [--quiet] set-url [--] <path> <newurl>
   or: git submodule [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
   or: git submodule [--quiet] foreach [--recursive] <command>
   or: git submodule [--quiet] sync [--recursive] [--] [<path>...]
   or: git submodule [--quiet] absorbgitdirs [--] [<path>...]

sry it should be git submodule update --init --recursive I made a typo

@oluceps  Thanks I was able to run it. Following the suggestions you provided.
But sslsniff is unable to provide any output.

@oluceps Thanks I was able to run it. Following the suggestions you provided. But sslsniff is unable to provide any output.

Try curl --tlsv1.2 https://example.com/

@oluceps same result.

@oluceps same result.

Try use the same user as sslsniff when running curl

They are the same user.
What do you mean?
@Officeyutong

They are the same user.
What do you mean?
@Officeyutong

You are using root to run sslsniff bur using Pegasus to run curl

Without using sudo ./sslsniff It doesn't work.

The documentation also suggests to use sudo sslsniff in one terminal and in another terminal use curl.

It works fine with sudo curl though.
But I want to also capture normal firefox or curl traffic from sslsniff. Without using sudo.
How can I achieve it?

Without using sudo ./sslsniff It doesn't work.
The documentation also suggests to use sudo sslsniff in one terminal and in another terminal use curl.
It works fine with sudo curl though. But I want to also capture normal firefox or curl traffic from sslsniff. Without using sudo. How can I achieve it?

It's an issue to be solved...I don't know how to capture traffic by other users. If you are interested in it, you may try to research on it

It should be able to capture traffic by other users. Let's see what happend.

The cilium slack has some discussion about that. Maybe we can add them in the tutorial.


copy host header

This code is needed for Rio; just want to make sure it won't break any existing rancher functionality @ibuildthecloud


Document Bounce = 1.0 not being sufficient for infinite energy conservation

This closes https://github.com/godotengine/godot/issues/82945.

Thanks!

Cherry-picked for 4.2.2.
Cherry-picked for 4.1.4.


Fix Controller

Godot version and OS
4.3
Issue description
Controller in the autoloaded scene doesn't work as intended. A refactor is needed to be able to instantiate the controller into a users existing UI without dependency issues.
Some features also appear not to work anymore:

Controller dragging
Session Switch
Printing current log contents
Entry counter

Expected behavior
No response
Steps to reproduce
N/A

Fixed in 1.1


chore(dependencies): Update actions/setup-node action to v4

This PR contains the following updates:

Package
Type
Update
Change

actions/setup-node
action
major
v3.8.2 -> v4.0.2

Release Notes

actions/setup-node
v4.0.2
Compare Source
What's Changed

Add support for volta.extends by @ThisIsManta in https://github.com/actions/setup-node/pull/921
Add support for arm64 Windows by @dmitry-shibanov in https://github.com/actions/setup-node/pull/927

New Contributors

@ThisIsManta made their first contribution in https://github.com/actions/setup-node/pull/921

Full Changelog: https://github.com/actions/setup-node/compare/v4.0.1...v4.0.2
v4.0.1
Compare Source
What's Changed

Ignore engines in Yarn 1 e2e-cache tests by @trivikr in https://github.com/actions/setup-node/pull/882
Update setup-node references in the README.md file to setup-node@v4 by @jwetzell in https://github.com/actions/setup-node/pull/884
Update reusable workflows to use Node.js v20 by @MaksimZhukov in https://github.com/actions/setup-node/pull/889
Add fix for cache to resolve slow post action step by @aparnajyothi-y in https://github.com/actions/setup-node/pull/917
Fix README.md by @takayamaki in https://github.com/actions/setup-node/pull/898
Add package.json to node-version-file list of examples. by @TWiStErRob in https://github.com/actions/setup-node/pull/879
Fix node-version-file interprets entire package.json as a version by @NullVoxPopuli in https://github.com/actions/setup-node/pull/865

New Contributors

@trivikr made their first contribution in https://github.com/actions/setup-node/pull/882
@jwetzell made their first contribution in https://github.com/actions/setup-node/pull/884
@aparnajyothi-y made their first contribution in https://github.com/actions/setup-node/pull/917
@takayamaki made their first contribution in https://github.com/actions/setup-node/pull/898
@TWiStErRob made their first contribution in https://github.com/actions/setup-node/pull/879
@NullVoxPopuli made their first contribution in https://github.com/actions/setup-node/pull/865

Full Changelog: https://github.com/actions/setup-node/compare/v4...v4.0.1
v4.0.0
Compare Source
What's Changed
In scope of this release we changed version of node runtime for action from node16 to node20 and updated dependencies in https://github.com/actions/setup-node/pull/866
Besides, release contains such changes as:

Upgrade actions/checkout to v4 by @gmembre-zenika in https://github.com/actions/setup-node/pull/868
Update actions/checkout for documentation and yaml by @dmitry-shibanov in https://github.com/actions/setup-node/pull/876

New Contributors

@gmembre-zenika made their first contribution in https://github.com/actions/setup-node/pull/868

Full Changelog: https://github.com/actions/setup-node/compare/v3...v4.0.0

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fail to encode the file

HI，
I want to encode  text to a .wav file.
$ echo "test" >> 1.txt
$ ./quiet_encode_file audible 1.txt
it  successfully generate a .wav file but empty data(only 80 bytes).
error: fec_get_enc_msg_length(), convolutional codes unavailable (install libfec)
The error seems i need install libfec, but i have installed libfec without any error.
Maybe i need configure some  extra parameters ？
Thanks.

Hi @gamejzb
Now that you have libfec, you'll need to rerun configure/make/make install on liquid-dsp so that it builds and installs its libfec component
Sorry for the inconvenience :)

@brian-armstrong  yes, fixed it, thank you very much.

Glad it works. Have fun :)


This video is unavailable

I am simply starting node in ssh and I type these commands one by one:

const ytdl = require("@distube/ytdl-core");
await ytdl.getBasicInfo("http://www.youtube.com/watch?v=aqz-KE-bpKQ")

Returns:

Uncaught UnrecoverableError: This video is unavailable
at exports.playError (/root/project/node_modules/@distube/ytdl-core/lib/utils.js:164:12)
at exports.getBasicInfo (/root/project/node_modules/@distube/ytdl-core/lib/info.js:52:25)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Happens for every video.
Environment

@distube/ytdl-core version: 4.13.5
Node.js version: v20.3.1
Operating system: Ubuntu 24.04

Provide youtube cookies (alt account) to prevent this. I don't really know why it happens but YouTube may block your ip and require sign in (like Sign in to confirm you're not a bot error)


_.union for empty array

Hi,
Is this the correct output for _.union()?
_.union([], [1, 2, 3]); // => [undefined, 1, 2, 3];
I'm guessing it is, but this only seemed to appear after I downloaded the latest (v1.6.0) version of underscore.js. Not saying it isn't caused by my code somewhere, but couldn't track it down to anything else.

this[this.glob] = typeof(this[this.glob]) != "undefined"  ? _.union(this[this.glob], oldImages) : oldImages;


readFile() freezes for some seconds when reading small files

Hi, is it normal that when i read a 2MB pdf through readFile() function with base64 encoding, the app freezes for some second?Perceived time would me much less if i could use a spinner while the file is being read, since readFile is async, but it doesn't work :(

Hmm, that does not seem right.  Is this Android, iOS, or both?  Simulator or physical device?

Hmm, that does not seem right. Is this Android, iOS, or both? Simulator or physical device?

Android, tried on both emulator and physical device, same result. I also tried 'react-native-blob-util', the other package you suggest, and even though its readFile() also takes 1-2 seconds to load, atleast the spinner works with it since ui doesn't freeze(it has other problems though).

Should be fixed in v2.2.2.


Why not validate csvy files?

For the moment csvlint doesn't validate csvy files (example).
csvy is an effort to simplify data description and control:

metadata is in YAML format
metadata is published inside the csv file

See http://csvy.org for more information.
Note: csvy is using JSON Table Schema semantic (which is already recognized by csvlint).

Ah, interesting, using Jekyll-style YAML frontmatter. Not seen that before, that might be worth incuding. Thanks!

Hi Charles - I think this feature request is better filed against the CSVlint library https://github.com/theodi/csvlint.rb/

This issue was moved to theodi/csvlint.rb#203


Missing signatures in CrossReferences is OK [phab:D973]

Created by zarko at 2016-07-19 19:42:48:
We shouldn't treat a failure to come up with a display
name for a CrossReferences call as fatal.

schroederc commented inline (context lost during migration) at 2016-07-19 19:50:13:
SlowSignature already returns nil, as is tradition.

zarko wrote at 2016-07-19 19:52:45:

tagged unions were introduced in algol 68

schroederc accepted this revision at 2016-07-19 19:54:35

zarko closed via commit 8db1d258a6189a280886036aa92eea64c5b28e5c at 2016-07-19 19:55:08


Discord Server

Announcement

Me and @AlexHGaming have created a discord community dedicated to coding!
If you would like to ask any questions related to this project (Or anything else) , or questions you deem to be unrelated , we'll be happy to help.


Using constant value of "expected" metric count instead of an expression

The test "test-measure-file.sh" has an integer literal as a total number of metrics (line 48). Would be probably better to change it to be evaluated on test run.

@yegor256
I will be glad to help
Can you please, as the author of the repository, tell me where the original source is, how many metrics are in the repository?
Because in README.md I see only 48 metrics, but in script test-measure-file.sh number is 52

@yegor256
Could you please help me?

@yegor256
Please answer the question above

@timur-harin this is not an easy ticket. We don't know how to do this right. Somehow, the script should know what is the "right" number of metrics to be calculated by all scripts in the metrics/ directory. Now, we simply hardcoded this number, which is not convenient. But how to calculate it in runtime - I'm not sure yet. Maybe you can suggest something?

@yegor256
How about this:

In ast.py, we can measure metric.write or in others m.write
In bash scripts, find the number of unique names of metrics with capital letter after cat or echo or puts?

@timur-harin let's do the following instead. We add a new test into the test-measure-file.sh. It will first run measure-file.sh with a very simple java file class Foo {} and see how many metrics were created. Then, it will run the same script, but with a very complicated file, and also check how many metrics were collected. If the numbers match, we are good.

@yegor256
Please check PR #341

@yegor256
I think we need to close this issue, because PR merged success

@MoromugHSE the issue was resolved, I'm closing this ticket


Slack account & channel for testing

We need a slack channel for testing notifications.  Ideally one on an account not shared by Rollbar's internal slack channels.

Note: This is only necessary once we have notifications being configured by the provider.


Update 2 docs node

Closes: #4294
What's Changed

Added in doc updates from PR to 1.6
Updated docs to put Node install in with system install instructions
Added verification docs

TODO

[ ] Explanation of Change(s)
[ ] Added change log fragment(s) (for more information see the documentation)
[ ] Attached Screenshots, Payload Example
[ ] Unit, Integration Tests
[ ] Documentation Updates (when adding/changing features)
[ ] Example Plugin Updates (when adding/changing features)
[ ] Outline Remaining Work, Constraints from Design

@jvanderaa It seems some of this should be resolved with merging develop up into this branch.

@jvanderaa It seems some of this should be resolved with merging develop up into this branch.

Yes I agree. Is that something that is upcoming?

Needs re-review after #4287 is merged as a pre-requisite.

#4287 has been merged to develop; it may be easiest to pull a new branch with the changes specific to this PR rather than attempting to merge or rebase the existing branch for this PR?


[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)

[venv] % pip install --upgrade irc3
Collecting irc3
Downloading https://files.pythonhosted.org/packages/d6/b9/59d44b70ec7ff959a9c9e3225194d9463e6f01d3870e519f1c4c23875729/irc3-1.1.0-py3-none-any.whl (162kB)
100% |################################| 163kB 8.2MB/s
Requirement already satisfied, skipping upgrade: docopt in ./venv/lib/python3.6/site-packages (from irc3) (0.6.2)
Requirement already satisfied, skipping upgrade: venusian>=1.0 in ./venv/lib/python3.6/site-packages (from irc3) (1.1.0)
Installing collected packages: irc3
Found existing installation: irc3 1.0.2
Uninstalling irc3-1.0.2:
Successfully uninstalled irc3-1.0.2
Successfully installed irc3-1.1.0
[venv] % irc3 config.ini
ERROR irc3.gitty [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)
Traceback (most recent call last):
File "/usr/home/git/git_bot/venv/lib/python3.6/site-packages/irc3/init.py", line 161, in connection_made
transport, protocol = f.result()
File "/usr/local/lib/python3.6/asyncio/base_events.py", line 803, in create_connection
sock, protocol_factory, ssl, server_hostname)
File "/usr/local/lib/python3.6/asyncio/base_events.py", line 829, in _create_connection_transport
yield from waiter
File "/usr/local/lib/python3.6/asyncio/sslproto.py", line 501, in data_received
ssldata, appdata = self._sslpipe.feed_ssldata(data)
File "/usr/local/lib/python3.6/asyncio/sslproto.py", line 201, in feed_ssldata
self._sslobj.do_handshake()
File "/usr/local/lib/python3.6/ssl.py", line 689, in do_handshake
self._sslobj.do_handshake()
Not sure what is happening here?

Thanks found the error it was a expired cert on the server :1st_place_medal: to me


Refactor/id keys

Articles module:

articles now keyed by id
the foreign keys in authorships are now id's

Media module:

media now keyed by id

Sections module:

sections now keyed by id

Users module:

users now keyed by id
the foreign keys in user roles are now id's
roles now keyed by id

Going to PR into feature/media-module so reviewers don't have to re-review that code.


Windows DLLs need VCRUNTIME140.DLL

Please add a note stating that current Windows DLL require VCRUNTIME140.DLL are installed. This is provided by the Visual C++ Redistributable for Visual Studio 2015 downloadable from Microsoft here :
https://www.microsoft.com/en-US/download/details.aspx?id=48145

This issue seems to be already fixed in 1.1.0.

I think this can be closed. It was fixed indeed. Also I checked that current 9.6 beta also still uses 120 platform.

It's not a bug that needs to be fixed : the binaries are what they are but temporal_tables-1.0.2 (the "latest" as referenced here : https://github.com/arkhipov/temporal_tables/releases/latest ) are linked to VCRUNTIME140.DLL so you need this installed on the server in order to CREATE EXTENSION (or you get an "Unknown error 126" IIRC)
I don't know where to get the 1.1.0 build (I see the logs on AppVeyor but no download link).

@gosanefr The one in Releases on GitHub is outdated in this sense. AppVeyor calls it artifact. Choose your configuration and click on ARTIFACTS in top right corner.
@arkhipov There is a way to push artifacts into github Releases section upon successful build. I never attempted that and it seems might be cluttering github's download section. But IIRC there is a way to push binaries for tagged commits only.

@mlt Thanks, found the artifacts. Unfortunately, I need x86 builds.

I have just released the 1.1.0 version. @gosanefr, could you please check if it works for you?

It's perfect, thank you.


Have install_managed check for already-installed packages

Critical Changes
Changes

The install_managed and install_managed_beta tasks now take no action if the specified package is already installed in the target org.

Issues Closed

There are no use cases of that kind that I'm aware of. The only situation I'm aware of where that could have an impact is if the user had unpermissioned components and then deliberately reinstalled with security_type: FULL to grant all access.
I hope no one is doing that; it's an extremely bad idea.


Updated the "mass obsoletion pipeline" document

The update is not the greatest, but I wanted to make sure the extra steps were documented asap.

Just had a chance to read over, despite this already being merged. Looks fine.

oh sorry, @twhetzel, I didn't notice you were assigned as a reviewer too.


[RFR] 🇷🇺 heading hyphenation

I think the hyphens thingie is not restricted to Russian and could be applied to all languages. What do you think?

Regarding prefixing, there is the prefix mixin

Done on gh-pages: https://github.com/HugoGiraudel/sass-guidelines/commit/e59e218949facbd763ff0efcb7134e89c739e2cd.

Agree. My bad.


go/types: Package.Scope.Lookup returns aliased type instead of declared alias type

For example, "golang.org/x/net/context".Context now aliases "context".Context. I expected the Lookup call for the "go/types".Scope for the "go/types".Package for "context" to give me the "go/types".Type for the "golang.org/x/net/context".Context declaration, but it gave me the one for the "context".Context declaration, so the result of "go/types".Named.Obj().IsAlias() for that type is false when I expected true. Is there another way you're supposed to look up the type of a package's alias declaration by name, such that IsAlias returns true? If not, is there a workaround?
What did you do?
https://play.golang.org/p/oIWD5Ok2Xl
Note that it gets an error in the playground because golang.org/x/net/context isn't installed. You'll have to run it on your own machine for it to work.
What did you expect to see?
golang.org/x/net/context.Context is alias: actual true, expected true

What did you see instead?
golang.org/x/net/context.Context is alias: actual false, expected true

System details
go version go1.9.2 darwin/amd64
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/willfaught/Developer/go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.9.2/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.9.2/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/_1/ggvd2t1x7hz_185crsb36zlr0000gp/T/go-build802077183=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOROOT/bin/go version: go version go1.9.2 darwin/amd64
GOROOT/bin/go tool compile -V: compile version go1.9.2
uname -v: Darwin Kernel Version 17.2.0: Fri Sep 29 18:27:05 PDT 2017; root:xnu-4570.20.62~3/RELEASE_X86_64
ProductName:	Mac OS X
ProductVersion:	10.13.1
BuildVersion:	17B1003
lldb --version: lldb-900.0.57
  Swift-4.0

I modified the example to call Info.ObjectOf on the type's declared identifier, and I observe the same behavior.
https://play.golang.org/p/LKg-Wr247J
Interestingly, printing the type's declaration shows the following:
type golang.org/x/net/context.Context interface{Deadline() (deadline time.Time, ok bool); Done() <-chan struct{}; Err() error; Value(key interface{}) interface{}}

This is working as expected and you have a bug in your code: You are calling the IsAlias() method on the original type name rather than the aliased type name. Keep in mind that a Type is never an alias, it's a TypeName that may be an alias (names can be aliases, types are never aliases).
Or in other words, the Type of a TypeName object is always the actual (non-alias) type, no matter if the TypeName is an alias or not. In your code
tp.Scope().Lookup("Context").Type().(*types.Named).Obj().IsAlias()

you are getting the Type of the Context object, which is the original (std lib) named Context Type. Then you look up it's TypeName Object, which is (std lib) context.Context, and of course that's not an alias.
On the other hand, if you check if the looked up Context object is an an alias, you will get the expected result:
tp.Scope().Lookup("Context").(*types.TypeName).IsAlias()

Ah, that makes sense. I didn't realize the Object returned by Lookup was the TypeName. Sorry for the mixup.


Variabel rising of the Idea hight

I think it would be a good Idea to make a variable rising of the Idea hight. It shoul grow faster at the beginning and slow down when more and more people have votet. So we can get a better view of which Ideas are rising. Especially when a Idea is new.

implemented, will need further tweaking from time to time to accommodate for amount of activity on our site and new lernings.


Add common lisp implementation to the list (fisxoj/json-schema)

Hello!
Thanks for the handy test suite.  I've been polishing up my lisp implementation of json-schema and it passes nearly all the suite now, so I'm ready to start listing it places.

Thanks! Glad to hear, and congrats!

You may want to also add it to https://github.com/json-schema-org/json-schema-org.github.io/blob/master/implementations.md


how to add filter and text on video?

have you found anything? I can't add too!

you have download .ttf file to set fontFile


ShellContextMenu will throw System.Runtime.InteropServices.InvalidComObjectException

Describe the bug

I think this is caused by ShellFolder.Desktop

What code is involved
Make sure the code in invoke from STA thread.
Call run STA thread for 2-3 times.
using (ShellItem Item = ShellItem.Open(Path))
using (ShellContextMenu ContextMenu = new ShellContextMenu(Item))
{
        //Dosomething
}

Expected behavior
Should not threw exception

I think this is fixed in my latest commit. I am able to run that snippet you provided 20 times without any exceptions.


Merged 3 file into one

I have merged 10 VS Code Shortcuts for Faster Coding.md
5 Useful VSCode shortcuts to improve your coding speed.md
VsCode_most_useful_shortcut.md  into VS Code Shortcuts.md folder.
I have merged them in proper format.

Good work @Naman-X15!


Feature request, Duplicate page detector

Do you want to request a feature or report a bug?
feature.
Adding duplicate link/page detection could be a good idea.
Google detects duplicate pages even if the page would not have the canonical references.
You are already crawling the page. you can make a hash of the content of each page, store it in an array.
whenever you want to add a link to sitemap.xml, first you need to make sure if there is no same hash in the array

The crawler should not add duplicate pages.

Even the same pages with different urls?
like:

a.com/urla
a.com/urlb
And they are both exact same page
or:
a.com/url
a.com/url?hit=hi


Ability to easily switch from mariadb to mysql8

Please port the following PR that allow selecting between the MariaDB and MySQL
https://github.com/davidalger/warden/pull/532

This is a good addition, although I worry about the way it exists in its current form - it's a bit of a bc break ignoring the existing MARIADB_VERSION env variable.  Any old environment den env up'ed with this would see their database potentially forcibly upgraded with no downgrade path.
That's slightly less of a problem since it's a development environment instead of a production system, but still a bit of a hassle we should avoid when porting it over.

good catch! I think it should be improved


feat: support sgl-kernel pypi

Motivation

Modifications

Checklist

[ ] Format your code according to the Contributor Guide.
[ ] Add unit tests as outlined in the Contributor Guide.
[ ] Update documentation as needed, including docstrings or example tutorials.

https://pypi.org/project/sgl-kernel/
I've invited @merrymercy and @Ying1123 as owners.


Body converter should consume request body

This is relative to a bug discovered yesterday with @rpanfili.
I'll wait for his feedback of this final version before merging and release it.

Released in 0.3.1