[Swift APIView] cannot resolve framework references

Setup:
MacOS 13.4.1 (M1 Pro)
Xcode 14.3.1, no other version installed on the machine
Repro setups:

Clone azure-sdk-tools from GitHub
Open SwiftAPIView.xcworkspace using Xcode
Build SwiftAPIView project
Open build target folder by going to menu Product-> Show Build Folder in Finder
Navigate to Product/Debug, SwiftAPIView should be in there
Go to https://github.com/Azure/Communication/releases/tag/v2.4.1
Download the zip file for ACS calling 2.4.1
Extract the zip file, copy AzureCommunicationCalling.xcframework to /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug (will be different per machine, this is where the SwiftAPIView output is)
Open terminal, navigate to .../Product/Debug
Run the following command for SwiftAPIView: gaobob@Bobs-Laptop Debug % ./SwiftAPIView --source=./AzureCommunicationCalling.xcframework --package-name=AzureCommunicationCalling --package-version=2.4.1 --dest=AzureCommunicationCalling-2.4.1.json
Observe the following errors in the output, the output JSON is only 58kb and missing almost all of the classes.
Please see generated json. GitHub won't let me upload .json, so I added a .zip extension. Please rename and remove .zip to open the json file.
AzureCommunicationCalling-2.4.1.json.zip

gaobob@Bobs-Laptop Debug % ./SwiftAPIView --source=./AzureCommunicationCalling.xcframework --package-name=AzureCommunicationCalling --package-version=2.4.1 --dest=AzureCommunicationCalling-2.4.1.json
objc[4146]: Class _TtC11SwiftSyntax16BumpPtrAllocator is implemented in both /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/Frameworks/SwiftAPIViewCore.framework/Versions/A/SwiftAPIViewCore (0x10407a568) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftSyntax.dylib (0x105a8ca10). One of the two will be used. Which one is undefined.
objc[4146]: Class _TtC11SwiftSyntax35IncrementalParseReusedNodeCollector is implemented in both /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/Frameworks/SwiftAPIViewCore.framework/Versions/A/SwiftAPIViewCore (0x10407a750) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftSyntax.dylib (0x105a8cbc0). One of the two will be used. Which one is undefined.
objc[4146]: Class _TtC11SwiftSyntax26IncrementalParseTransition is implemented in both /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/Frameworks/SwiftAPIViewCore.framework/Versions/A/SwiftAPIViewCore (0x10407a7e8) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftSyntax.dylib (0x105a8cc58). One of the two will be used. Which one is undefined.
objc[4146]: Class _TtC11SwiftSyntax23SourceLocationConverter is implemented in both /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/Frameworks/SwiftAPIViewCore.framework/Versions/A/SwiftAPIViewCore (0x10407f918) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftSyntax.dylib (0x105a8cd98). One of the two will be used. Which one is undefined.
objc[4146]: Class _TtC11SwiftSyntax11SyntaxArena is implemented in both /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/Frameworks/SwiftAPIViewCore.framework/Versions/A/SwiftAPIViewCore (0x10407fbb0) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftSyntax.dylib (0x105a8cfb8). One of the two will be used. Which one is undefined.
objc[4146]: Class _TtC11SwiftSyntax18ParsingSyntaxArena is implemented in both /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/Frameworks/SwiftAPIViewCore.framework/Versions/A/SwiftAPIViewCore (0x10407fcd0) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftSyntax.dylib (0x105a8d0b8). One of the two will be used. Which one is undefined.
objc[4146]: Class _TtC11SwiftSyntax16SyntaxAnyVisitor is implemented in both /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/Frameworks/SwiftAPIViewCore.framework/Versions/A/SwiftAPIViewCore (0x104081ba0) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftSyntax.dylib (0x105a8f940). One of the two will be used. Which one is undefined.
objc[4146]: Class _TtC11SwiftSyntax14SyntaxRewriter is implemented in both /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/Frameworks/SwiftAPIViewCore.framework/Versions/A/SwiftAPIViewCore (0x104085f20) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftSyntax.dylib (0x105a93a30). One of the two will be used. Which one is undefined.
objc[4146]: Class _TtC11SwiftSyntax13SyntaxVisitor is implemented in both /Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/Frameworks/SwiftAPIViewCore.framework/Versions/A/SwiftAPIViewCore (0x104087228) and /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/host/libSwiftSyntax.dylib (0x105a94c18). One of the two will be used. Which one is undefined.
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling-Swift.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/ACSVideoStreamRenderer.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/ACSVideoStreamRendererView.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/ACSFeatures.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/ACSCallKit.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-x86_64-simulator/AzureCommunicationCalling.framework/Headers/ACSStreamSize.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling-Swift.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/ACSVideoStreamRenderer.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/ACSVideoStreamRendererView.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/ACSFeatures.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/ACSCallKit.h'
:1:9: note: in file included from :1:
#import "Headers/AzureCommunicationCalling.h"
^
././AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/AzureCommunicationCalling.h:9:9: error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found
#import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h>
^
:0: error: failed to import bridging header './AzureCommunicationCalling.xcframework/ios-arm64/AzureCommunicationCalling.framework/Headers/ACSStreamSize.h'
gaobob@Bobs-Laptop Debug %

Just a bit more detail on a few of the issues that may be helpful:
The error: 'AzureCommunicationCommon/AzureCommunicationCommon-Swift.h' file not found #import <AzureCommunicationCommon/AzureCommunicationCommon-Swift.h> is caused by the fact that our headers try to import headers from another dependency framework because it references types from that, but func process(filePath: String) throws -> String { https://github.com/Azure/azure-sdk-tools/blob/2c3050186b415aa6856022aa2c3c3bfc812325a9/src/swift/SwiftAPIViewCore/Sources/APIViewManager.swift#L127
takes only the standalone header and which is not possible for it to know about AzureCommunicationCommon. This causes the error message but apiview seems to proceed still but generating all references to AzureCommunicationCommon classes as Any or Any! or [Any].
Other error we see is when SDK defaults to MacOS.sdk so classes such as UIView* or CXHandle* are not found and therefore references to that can be lost e.g. We see classes that inherit from UIView not show the inheritance class because of that of the final apiview.
So to workaround that we had to manually add additional arguments to SourceKit request to so we were able to properly get and interface from the header files
// let args = [String]()
let args = ["-x", "objective-c", "-isysroot", "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.4.sdk", "-F", "/Users/lucianoalmeida/Documents/Microsoft/workspace/output/SpoolCallingStack/Tools_AzureCommunicationCommon/7b/405423/1f4cf0650ac94465841327e9"]

Where `-F` is the directory where there is a locally built `AzureCommunicationCommon`, and the path to iOS SDK is added as well, otherwise it may default to macOS.sdk. But after those adjustments everything works as expected.
So how to add those options in a general ways as arguments in apivew tool? One could make and arguement for an `--sdk` flag that apview could resolve by invoking `xcrun --sdk ${argument} --show-sdk-path`. But framework paths seem rather specific...

@lucianopa-msft thanks for the detail and the workaround! I spoke with @gaobob-msft and it looks like he is able to run Swift APIView from within XCode but still has issues running from the terminal.

Looking in your framework file, there is no reference or inclusion of AzureCommunicationCommon, so I would think it's "by design" that Swift APIView cannot resolve those references.
The framework option was created purely for ObjC... Out of curiosity, are you able to run Swift APIView directly against source code? That is what is inteded (at least for pure Swift code).

@tjprescott it looks like the small json file is related to the Source parameter, if a relative path is used, then SwiftAPIView won't fully run and only generate a 58KB json file. But if I use an absolute path, it works.
Does not work
./SwiftAPIView --source=./AzureCommunicationCalling.xcframework --package-name=AzureCommunicationCalling --package-version=2.4.1 --dest=AzureCommunicationCalling-2.4.1.json
Works
./SwiftAPIView --source=/Users/gaobob/Library/Developer/Xcode/DerivedData/SwiftAPIView-ehzuyxphgnefwefudpgkzagqfbhh/Build/Products/Debug/AzureCommunicationCalling.xcframework--package-name=AzureCommunicationCalling --package-version=2.4.1 --dest=AzureCommunicationCalling-2.4.1.json

@lucianopa-msft thanks for the detail and the workaround! I spoke with @gaobob-msft and it looks like he is able to run Swift APIView from within XCode but still has issues running from the terminal.

Yeah, those are errors that although happen don't cause the APIView to fail to generate the final api, it just that these apiview endup with unresolved symbols appearing as Any or not appearing at all.
@gaobob-msft Did figure out the actual issue seems to be with relative paths as if he passes absolute paths everything works fine in terminal as well.

The framework option was created purely for ObjC... Out of curiosity, are you able to run Swift APIView directly against source code? That is what is inteded (at least for pure Swift code).

We can try point that to a header file maybe should work? but we never tried that


Issue regarding the number of tweets returned

Issue Template
Please use this template!
Hello All, thank you so much to anyone contributing to this project you guys are amazing :)
Initial Check

If the issue is a request please specify that it is a request in the title (Example: [REQUEST] more features). If this is a question regarding 'twint' please specify that it's a question in the title (Example: [QUESTION] What is x?). Please only submit issues related to 'twint'. Thanks.

Make sure you've checked the following:

[] Python version is 3.6; OK
[] Updated Twint with pip3 install --user --upgrade -e git+https://github.com/twintproject/twint.git@origin/master#egg=twint; OK
[] I have searched the issues and there are no duplicates of this issue/question/request. Done

Command Ran
twint -s $CB --since 2017-01-01 --until 2017-01-31
results:
[!] No more data! Scraping will stop now.
found 0 deleted tweets in this search.
Some other queries return results (witn other keyword) but the number of results do not seem to match how many there is on twitter
Tried using VPN to see if more results would be found but no effect (tried 3 different IP)
When I look at :
https://twitter.com/search?q=%24CB until%3A2017-01-31 since%3A2017-01-01&src=typed_query&f=live
I see a lot of results few hundreds at least
Description of Issue
I noticed that I get a lot less results when compared to an advanced search in twitter
Environment Details

Using Windows 10, Pycharm 2020.3, same problem in terminal and in code

Without quotes, $CB is probably not searching for what you want toto be searching for.
Did you try twint -s '$CB' --since 2017-01-01 --until 2017-01-31

twint -s '$CB' --since 2017-01-01 --until 2017-01-31
826188387942014976 2017-01-30 14:00:36 -0800  #Earnings Tomorrow-P2 $CB $CHRW $EA $EQR $FBHS $FFIC $FICO $GFF $ILMN $KTCC $MANH $MSL  Free stock app  https://t.co/S59zN0R1wP #iTunes

thanks for the reply, I tried your suggestion: twint -s '$CB' --since 2017-01-01 --until 2017-01-31
but got the exact same results:
[!] No more data! Scraping will stop now.
found 0 deleted tweets in this search.
After several other tests, I noticed that specifying a language  was actually solving the issue, all results were discovered.
Thank you for the help,


Should we add more file types and custom decoders/encoders?

We could add the ability to save the documents in a different file format, for example in plain txt files or yaml files.
To achieve that we could provide a file format configuration and hooks for the users, where they can apply their own encoder/decoder.
This is just an idea and I am not sure if there is a use case for such a feature.
I would like to hear your opinions.

We could add the ability to save the documents in a different file format, for example in plain txt files or yaml files.
To achieve that we could provide a file format configuration and hooks for the users, where they can apply their own encoder/decoder.
This is just an idea and I am not sure if there is a use case for such a feature.
I would like to hear your opinions.

Hi Timur,
yes it is a good idea, especially, if the user wants to implement rest API, where the other end, needs a specific file type, for communicating.

I suggest for a first release to create a json_encode Encoder/Decoder (Wrapper) and an Interface for that.

interface SaveStrategyInterface {
    public function decode(string $data) : array;
    public function encode(array $data) : string;
    public function getFileExtension() : string;
}

class JsonSaveStrategy implements SaveStrategyInterface {

    private $file_extension = '.json';

    public function decode(string $data): array
    {
        try {
            return json_decode($data);
        } catch (\Exception $exception) {
            return [];
        }
    }

    public function encode(array $data): string
    {
        try {
            return json_encode($data);
        } catch (\Exception $exception) {
            return '';
        }
    }

    public function getFileExtension(): string
    {
        return $this->file_extension;
    }
}

Hay all, I've just come to use this library and have hit a wall where I am having to jump through some hoops to custom serialize my data before storage and custom deserialize after storage.
I would think this could be one of the best additions to this library, and as a default implementation, use Zumba JsonSerializer to have a quick turnaround.


Bump Wasmtime to 9.0.1 and other dependencies

Is your feature request related to a problem? Please describe.
Currently, Wasm Workers Server uses Wasmtime 6. There are several improvements in newer versions so we should upgrade it to the latest version.
Describe the solution you'd like
Wasm Workers Server dependencies are up-to-date and the compiled binaries are properly tested on the different supported platforms.
Describe alternatives you've considered
No response
Additional context
Before pushing this change, let's complete the basic e2e tests in #133

This change is blocked until Wasmtime 10.0.0 is released. I'm waiting for a fix regarding opening directories in Windows: https://github.com/bytecodealliance/wasmtime/pull/6348.

Wasmtime 10.0.0 was released a few hours ago! 🎉
I'll open tomorrow a new PR to update to this version.

Upgrading OpenSSL to fix RUSTSEC-2023-0044


[1.8.x] Fixed #24320 - Use smart_text in serialization while handling FK field value

I used the the same principle as it used in XML serialization (https://github.com/django/django/blob/47b23ca2ee4d26a50895adf0fba19020b27d8d84/django/core/serializers/xml_serializer.py#L104)

closing this to open PR to master


checking if IP exists before doing more stuff

checking if IP exists before doing more stuff

+1 from humbedooh via slack


jlink fails with openjdk(11|12|13) binaries for macOS: Error: Hash of java.rmi differs to expected hash recorded in java.base

perhaps this issue will get a bit more attention here, more people involved in this repo.
jlink is broken on all macOS builds I've downloaded.
I've downloaded 3 different builds for macOS (x64/hotspot) (jdk11, jdk12, jdk13) and every time I try to create a custom jre with jlink I always have the following issue:
jlink --no-header-files --no-man-pages --add-modules --compress=1 java.base,java.compiler,java.desktop,java.instrument,java.management,jdk.management.agent,java.naming,java.prefs,java.scripting,java.sql,jdk.jdwp.agent,jdk.net,jdk.unsupported,jdk.security.auth,jdk.pack,jdk.crypto.cryptoki --output jre

Error: Hash of java.rmi (65cbca076e0ec4c90e2704d4fb8f4d7d121c0f0618a4af0381c9cc6aa58bc49c) differs to expected hash (e8e7adf5a12eba7ad5e980dfb857ab3ae770e4fce2a6cbffa83334d80436c38e) recorded in java.base

any help would be appreciated. I bet I'm not going to be the first ending up here given the Apple Store notarization requirements that don't pass with Oracle's JVM due to their .dylib files being built with an older MacSDK version. I was hoping AdoptOpenJDK uses newer MacSDK versions to build and finally be able to pass notarization without going down the rabbit hole of trying to build the JDK myself and risk incompatibility issues.

This is indeed a problem, our jlink test failed, and the issue is related to code signing (a new step now required as part of building the binaries), we have reported the issue to the openjdk-build repo under this issue: https://github.com/AdoptOpenJDK/openjdk-build/issues/1214, so I will close this issue in the test repo, as the fix required is at the build repo.
The binaries are being rolled back, under https://github.com/AdoptOpenJDK/TSC/issues/107 (linked here to let you know where to track the progress).

Thank you so much


fix: migration from antd to semantic-ui and build fixes

@sanketshevkar guess this should be good to go now

@Vinyl-Davyl can you please point the PR to https://github.com/accordproject/template-playground/tree/gsoc'24-m1


Bring EEIST changes into cascading tipping point branch, attempt 2

I merged the other way around in attempt one..

Apologies for the delay. Is still waiting to be reviewed and merged with the main branch?
I've just created a pull request that brings over the latest developments.

I think this can be closed now. It meant to merge the other way around, but I'll wait for the big merge to happen first before updating the cascading_tipping_points one.
Femke

From: Pim Vercoulen @.>
Sent: 08 August 2023 00:28
To: cpmodel/FTT_StandAlone @.>
Cc: Nijsse, Femke @.>; Author @.>
Subject: Re: [cpmodel/FTT_StandAlone] Bring EEIST changes into cascading tipping point branch, attempt 2 (PR #36)
CAUTION: This email originated from outside of the organisation. Do not click links or open attachments unless you recognise the sender and know the content is safe.
Apologies for the delay. Is still waiting to be reviewed and merged with the main branch?
I've just created a pull request that brings over the latest developments.
—
Reply to this email directly, view it on GitHubhttps://github.com/cpmodel/FTT_StandAlone/pull/36#issuecomment-1668701230, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGHDII4OXAMJ4DLMEZOBXO3XUF23TANCNFSM6AAAAAAZ2BYCRQ.
You are receiving this because you authored the thread.Message ID: @.***>


kanidm: 1.1.0-rc.16 backports

Description of changes
This fixes a bug on chrome for android (https://github.com/kanidm/kanidm/issues/2593)
I didn't took the last commit on the kanidm backport branch since the relevant the PR (https://github.com/kanidm/kanidm/pull/2604) says that admins should run some migrations but I am not sure how to do it properly.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

I also removed the Cargo lock file, using the upstream one since the version issues are fixed. However I'm not sure I made it the right way

We are already on a release candidate from last month. Can't we wait for a new tag instead?

I'm not maintainer of this package so the decision is not up to me. However the current version in nixpkgs is not working on some browsers (https://github.com/kanidm/kanidm/issues/2593). This is redhibitory for my personal use. I didn't want to keep my patch only for me but I would understand if we wait. Finally it seems that upstream docker images do ship a kanidm version along the 1.1.0-rc.16 branch instead of staying on the 1.1.0-rc.16 tag (according to https://github.com/kanidm/kanidm/issues/2600#issuecomment-1972476770).
But may be a better way to make this PR is by using a patch to cherry pick the zstd decompression fix commit linked above.

So may be we should ask @erictapen and @Flakebi on if we should wait a new version or if we should follow the backports branch of kanidm

Is there any trick to compiling the kanidm package?
It’s been running for 3 h for me, but still hanging at compiling the tests.

I must admit I left my computer compiling and went for a walk outside. But if I remember well it took 3 or 4 hours for me (on my old computer with i5-8250U). Was the compile time shorter before ?

Can you bump this to 4c88d6b27c9b82ad5b2482bda140025d7068293f ? I know you’ve been waiting for the manual migration steps, but those fixes will help avoid people needing to do them in the first place. If they hit the issue, their kanidm will be completely offline so we should get this rolled out regardless.

I am building the tests

@adamcstephens The version number must be changed to adhere to the contributing guide. This should be fixed.

Upstream considers this the same version. I've discussed with them and they will change their release process in the future.

This is independ of upstream, please see the lower half of this headline what I mean exactly https://github.com/NixOS/nixpkgs/tree/master/pkgs#package-naming and #296121

Is there any trick to compiling the kanidm package? It’s been running for 3 h for me, but still hanging at compiling the tests.

For my future self, nix-build --cores 8 did the trick. Apparently Linux got stuck with swapping.


Adding ShareTokenIntent when Authenticating Credential for Share File Clients

Description
Updates:

Adding ShareTokenIntent when Authenticating Credential for Share File Clients
Adding default value on reactor.schedulers.defaultBoundedElasticSize to avoid breaking the test pipelines
Removing extra .close() on OutputStream in the FileOutputStream test to avoid unnecessary failures

/check-enforcer override


Maintenance support

Dear community,
unfortunately I'm very busy at the moment and can't maintain Swagger2Markup alone anymore.
There are many interesting new topics:

Swagger v3 support
Merge Swagger2Markup repositories and create a new multi-module repository. It doesn't matter if we use Gradle or Maven to build the project. Any help is welcome.

Is someone interested to help me?
Kind regards,
Robert

I might be able to help.
What's the plan? I think, it'll be better to co-ordinate and then carry on

Hi,
you could help by creating some PR (OpenAPI v3 support?) or reply to issues/questions.
I do have a Slack channel.

Hi,
Could you invite me on slack pls

done

Merge Swagger2Markup repositories and create a new multi-module repository. It doesn't matter if we use Gradle or Maven to build the project. Any help is welcome.

@RobWin is this still an issue? Probably I can do that. Do you have any vision which repositories (if not all of them) should be merged in which order?

In the master branch we already merged a lot of modules. But we still need help to maintain Swagger2Markup,

@RobWin  yes, add me please. I can't promise I will do a lot, but I will do what I can.

Any progress or status update you could share @tntclaus ?

It's been several years since updates to any of these threads. Is there any progress on this or is this project dead in the water?

Hi, @ppatierno was so kind to take over the project.

@ShubhamRwt is taking a look at moving to use GitHub actions and Sonatype for next release.

Thanks for the update. Is there any progress on the v3 support or is that a reasonably long way off? Need to judge whether we should begin using this project yet or delay.


[Question] How to update CR status through a patch

Describe your question
I have a use case where by I want to patch the status of a Custom Resource. I have tried multiple ways but I cannot get this working through either the in the built in patch, mostly likely due to the operation not supporting --type merge and --sub-resource status or through a using a script as script does support templating.
Please advice if this is possible, or if a change can be made to the framework to make it possible.
chainsaw version Version
v0.2.11
Additional context
No response

Apologies, was able to work this out using using the script env section.
I had to turn my bindings into environment variables in the section and then reference the env variables in the script.


Error getting zone records

I am very happy that someone had already done some work to get the loopia DNS working with caddy. :smile:
I try to get it up and running but run into some errors. I'm not to familiar with Caddy, so I'm not sure if I'm misconfiguring something or if there is some issue with the module.
My configuration looks like this
*.<mydomain>.se {
	@sub host sub.<mydomain>.se
	handle @sub {
		reverse_proxy localhost:8888
	}

	handle {
    	    # Set this path to your site's directory.
    	    root * /usr/share/caddy
    	    # Enable the static file server.
    	    file_server
	}
    tls {
        issuer acme {
            propagation_timeout "15m0s"
            dns loopia {
                    username "<api-user>@loopiaapi"
                    password "<api-user-password>"
            }
        }
    }
}

I get the following error in the log
{"level":"error","ts":1646728143.6791425,"logger":"tls.obtain","msg":"will retry","error":"[*.<mydomain>.se] Obtain: [*.<mydomain>.se] solving challenges: presenting for challenge: adding temporary record for zone <mydomain>.se.: unexpected error getting zone records: Fault(623): Calling parameters do not match signature (order=https://acme-staging-v02.api.letsencrypt.org/acme/order/...) (ca=https://acme-staging-v02.api.letsencrypt.org/directory)","attempt":4,"retrying_in":300,"elapsed":305.132993075,"max_duration":2592000}

The API-user has the permission listed in the readme, and it looks like it's being called, but I'm not sure how to debug it further. Any ideas on what I can try?

I have a sneeky suspicion that the wildcard DNS you are asking for doesn't work.
Could you please try something like "host.mydomain.se" instead of "*.mydomain.se"

Without the wildcard it works, but that works without the loopia-dns module as well. My goal, which might be unnecessarily complicated, was to get a wildcard certificate from letsencrypt instead of a separate certificate for each subdomain. From what I've read in the caddy documentation, this requires a DNS challenge, which requires a DNS provider.
But maybe I should just keep things simple and use separate certificates for each subdomain instead. I should be fine with the limits imposed by letsencrypt for now.

It looks like the loopia-API has changed recently. According to this blogpost:

I den nya versionen så kan inte kunden skicka med ett kundnummer som en parameter, vilket gör att de som skickar med detta, eller skickar med en tom sträng får ett felmeddelande (oftast error 623).
Undantaget här är återförsäljare som fortfarande behöver skicka med kundnummer när de gör anrop mot sina kunders konton.

This seems to match the error code that I was getting. I guess that if this is the culprit, it's libdns/loopia that needs to be updated?

Thanks for testing the explicit subdomain.
I will look into it this weekend.

Fixed in 1e79ab75e5ea3b330b5c0074c03548e4c5b0415f  tagged as v0.0.2
Use with xcaddy build --with<EMAIL_ADDRESS>And I do have successfully used it with wildcard domains as in your example.

Works for me as well! Thank you! :)


Local forage completely breaks my application

Hi, this is a pretty serious issue and since there is no error message, I can only show you the line which breaks. This is happening sporadicaly.
THE FIRST CONSOLE.LOG SHOWS IN CONSOLE, THE SECOND ONE DOESNT:

It doesn´t matter if its a Promise.all  or individual awaits.
Here is the function, which is called:

Again, I repeat, this code works perfectly without any issues, and I assure you, that there is nothing else being called anywhere else. Also the Crypto.JS is not the problem, because before the forage helper function gets called, the Crypto.JS works few lines above it without any issue. This issue freezes my computer and starts all of a sudden even if I change something completely unrelated to localforage. My application stops loading, only a white screen appears, there is some kind of a infinite loop on the background, because the PC gets sluggish . THERE IS NO ERROR MESSAGE IN THE CONSOLE.LOG what so ever no matter what I try. And the only thing that works is restarting my PC. So restarting my PC for some reason wakes up local forage or whatever is happening. Its really, really weird. I repeat, the first console log gets logged, the second 2 lines down doesn´t. when the only thing between these lines is local forage being called.

@Placentra , Can you provide an example repo / file to replicate your error?

this project is no longer maintained.
I talked to the main contributor, he told me that he will archive this repo eventually.
CC @Placentra

@Sr-santi Do you know any good alternative to localForage?


ie-2860 Add appsettings as parameter in FunctionApp

Add appSettings as parameter and union them with init appSettings  from variables in in FunctionApp

Please wait with  the review.....


Missing "Form" menu item under the "+" button inside Stories tab

Describe the bug
Am on latest v0.25.9 and looking to set up Forms through the Add "+" button under "Stories" tab.  However there is no "Form" menuitem to choose from, and all the "+" button can add are story groups.
To Reproduce
Steps to reproduce the behavior:

Go to 'Stories' tab
Click on '+' button
No menu item for "Form" appears

Expected behavior
An item to add Form after clicking the "+" button.
Screenshots
Desktop (please complete the following information):

OS: [Ubuntu 18.04]
Browser [chrome]
Version [0.25.9]

Additional context
Is the "Form" interface in Botfront dependent on some other setup in the frontend?

Hi, as you can see on the documentation at the top of this page the forms feature is only available for Botfront Cloud and Botfront Enterprise.
Though, we have plans to bring some of that feature to this open source version. It should be in Botfront 0.27 probably. I'll let you know once it's out.

Is there any plans for the forms in open source ? I am running botfront 0.27 but still I don't see Forms option.


Low training metrics

Hello!
I am trying to reproduce the training procedure of training RESDSQL with T5-base on text2sql task. I took the original train.json and dev.json SPIDER files from leaderboard (https://yale-lily.github.io/spider). I follow training procedure given in the README file.
I took the default script parameters from scripts/train/text2sql folder:

I used Roberta Large(https://huggingface.co/roberta-large) for schema item classifier training and T5-base (https://huggingface.co/t5-base) for text2sql training.
I reduced the batch size to 8 from 16 while increasing gradient descent step to 4 from 2 in order to fit into my resources.
I fixed seed 42 along with other seeds for all train phases.

I trained for 128 epochs and evaluated using this repo evaluation script and reevaluated with https://github.com/taoyds/test-suite-sql-eval
I get EM 0.489 and EX 0.527 - while in the paper its stated that this configuration achieves  EM 0.717 and EX 0.779 on dev set.
Can you please point me where I could get the training wrong? I am evaluating different text2sql model for OOD robustness and choose your solution as one of the current SoTA in that domain.

Hello,
Is your setup identical to ours? We conduct model training on the Ubuntu operating system, and the specifics of our Python environment are detailed in the README file.
Additionally, since RESDSQL operates in two stages, you have the option to substitute one of the stages with our published checkpoints. This should help determine which part is yielding incorrect results.

Have you conducted evaluations on all the intermediate checkpoints for the T5-base model? Your results appear to indicate that only the first checkpoint was assessed.

Yes, I've followed

Hello,
Is your setup identical to ours? We conduct model training on the Ubuntu operating system, and the specifics of our Python environment are detailed in the README file.
Additionally, since RESDSQL operates in two stages, you have the option to substitute one of the stages with our published checkpoints. This should help determine which part is yielding incorrect results.

Yes, I've followed README environment installation steps, so I have the same environment.
At first, I've have used your published checkpoints for inference and did get the same results as in the paper. Its the training metrics that do not match in my case.

Have you conducted evaluations on all the intermediate checkpoints for the T5-base model? Your results appear to indicate that only the first checkpoint was assessed.

I've conducted evaluation on the best checkpoint after 128 epochs.

Have you conducted evaluations on all the intermediate checkpoints for the T5-base model? Your results appear to indicate that only the first checkpoint was assessed.

I've conducted evaluation on the best checkpoint after 128 epochs.

What you are saying is that you have evaluated all intermediate checkpoints (there are a total of 85 checkpoints for training 128 epochs) and the performance of the best of them is EM 0.489 and EX 0.527?

Are you using exact these initial checkpoints?
https://huggingface.co/roberta-large
https://huggingface.co/t5-base

Are you using exact these initial checkpoints?
https://huggingface.co/roberta-large https://huggingface.co/t5-base

Yes

Can you show your TensorBoard logs for training the schema item classifier and T5-base? Other than that, can you share the evaluation results if it's convenient? Like this:

Sure!
I decided to spot the source of low training error so I took your item classifier checkpoint(text2sql_schema_item_classifier) and started training just text2sql stage.
For space optimization i keep only last 10 checkpoints.
I attach my training loss pictures from tensorboard and csv with loss history.

run-.-tag-train loss.csv

Your training losses appear to be correct.
I suspect the issue may lie with the evaluation scripts or the pre-processed dataset.

Could you delete the evaluation result files (named checkpoints-*.txt) and rerun the evaluate_text2sql_ckpts.py script?

If the performance remains atypical, I recommend using our pre-processed spider-dev dataset for another evaluation attempt: resdsql_test.json

I don't know the exact reason for your problem, but after I saw your training loss curve, I thought your training procedure was fine (because I used to look at it every day for a while).
Initial speculation is that there may be a problem with this piece of code in evaluate_text2sql_ckpts.py.

Specifically, I wrote this piece at the time to enable multi-process (multi-GPU) evaluation, and while it worked fine for me at the time, it does have some hidden problems. For example, if you have new checkpoints with the same name as checkpoints that have already been evaluated, our script will skip evaluating the new checkpoints and continue to keep the results of the old checkpoints.
Thanks for the tip, I'm going to submit a PR to fix this.

This issue is being closed due to a lack of activity. However, if you continue to encounter problems and need further assistance, please don't hesitate to reopen it, and we will be more than happy to help with additional troubleshooting.


Adding a note about datetimepicker

Closing, as this is not really a change that makes sense in the documentation. It does not make a recommendation for any particular library, and any library supporting certain things are searchable.


Integer lists for Go

Nice! Issue #26 is way overdue and version 2 might take a while.
Using an entire byte per element on the sign seems wasteful. Groups of 8 (flags) is a bit more complicated but doable. ZigZag-encoding makes the smallest size at the cost of speed. I think the performance loss might be worthwhile here. Whst do you think @katrinwab?

I changed the implementation to zigZag-encoding.
for an array of 1000 elements
BenchmarkMarshal-8                    10000            176800 ns/op
BenchmarkMarshalFloat-8            10000            173800 ns/op
for an array of 100000 elements
BenchmarkMarshal-8                     2000            755000 ns/op
BenchmarkMarshalFloat-8             3000            498666 ns/op

Much appreciated @katrinwab 🙏☺


Feature Request: Update Cafe to use usePrepareContractWrite

Is your feature request related to a problem? Please describe.
The current usage of wagmi doesn't capture the error and doesn't trigger an error until after the user submits.
Describe the solution you'd like
The newer versions of wagmi now output readable errors, we should use that.
Describe alternatives you've considered
No response
Additional context
No response

Addressed with Sepolia update


pick a strategy for our minimum supported rust version

This post and others linked from it have good discussion on this
https://blog.debiania.in.ua/posts/2020-03-01-rust-dependencies-scare.html

For 0.10.1 minimal version appears to be 1.45.0


Fix secret to use stringData instead of data

need to use stringData for a secret creation like mentioned in the Readme.

i thought you meant something else, my comment about specTemplate is not relevant, i deleted it


Admin Panel

Admin Panel

Currently, add User and Problem management.

I will put an end to this issue, but the work is not yet finished


[ISSUE #520] 🐛Fix count_inner_msg_num method of  message decoder  mode

Which Issue(s) This PR Fixes(Closes)

Fixes #520
Brief Description

How Did You Test This Change?

Summary by CodeRabbit

Bug Fixes

Improved accuracy of inner message counting in received data, ensuring correct detection of message boundaries.

@coderabbitai review

@coderabbitai summary

@coderabbitai  Approve


SoftDeleteBehavior & Unit Testing = Error: Table users for model User was not found in datasource test.

I ran into the following problem using the SoftDeleteBehavior:
When a model has an association with another one and you want to unit test one of them, you will run into an error message like:

Error: Table users for model User was not found in datasource test.

I created a test app to showcase the problem:
https://github.com/ravage84/softdeletebbehavior-prob
Way to reproduce:

Checkout repo
Create DBs for default & test datasource
Setup database config
php console\cake.php schema create
php console\cake.php test app Model/Post --stderr

Tested with CakePHP 2.6.1, 2.6.5, 2.5.8 & 2.4.10.using the dev-master of CakeDCs SoftDeleteBehavior or @dereuromark 's version at https://github.com/dereuromark/cakephp-tools/blob/2.5/Model/Behavior/SoftDeleteBehavior.php
The problem was already mentioned here:
https://github.com/dereuromark/cakephp-tools/issues/135

It does not matter if the behavior ist installed manually in the app or as Plugin (e.g. thorugh Composer).
Just checked.

If we remove the associatoins (in both associated models), the problem vanishes.

The problem seems to only appear i a $belongtsTo associatoin is set, such as Post $belongsTo User
If there is only a $hasMany, like User $hasMany Post, it still works.
Here is the stack trace:
#0 CakePHP-App\lib\Cake\Model\Model.php(3644): Model->setSource('users')
#1 CakePHP-App\lib\Cake\Model\Model.php(1387): Model->getDataSource()
#2 CakePHP-App\lib\Cake\Model\Model.php(1483): Model->schema()
#3 CakePHP-App\app\Model\Behavior\SoftDeleteBehavior.php(54): Model->hasField('deleted')
#4 CakePHP-App\lib\Cake\Model\BehaviorCollection.php(145): SoftDeleteBehavior->setup(Object(User), Array)
#5 CakePHP-App\lib\Cake\Model\BehaviorCollection.php(66): BehaviorCollection->load('SoftDelete', Array)
#6 CakePHP-App\lib\Cake\Model\Model.php(774): BehaviorCollection->init('User', Array)
#7 [internal function]: Model->__construct(Array)
#8 CakePHP-App\lib\Cake\Utility\ClassRegistry.php(169): ReflectionClass->newInstance(Array)
#9 CakePHP-App\lib\Cake\Model\Model.php(1077): ClassRegistry::init(Array)
#10 CakePHP-App\lib\Cake\Model\Model.php(886): Model->_constructLinkedModel('User', 'User', NULL)
#11 CakePHP-App\lib\Cake\Model\Model.php(919): Model->__isset('User')
#12 CakePHP-App\app\Model\Behavior\SoftDeleteBehavior.php(332): Model->__get('User')
#13 CakePHP-App\app\Model\Behavior\SoftDeleteBehavior.php(229): SoftDeleteBehavior->_softDeleteAssociations(Object(Post), true)
#14 CakePHP-App\app\Model\Behavior\SoftDeleteBehavior.php(66): SoftDeleteBehavior->softDelete(Object(Post), true)
#15 CakePHP-App\lib\Cake\Model\BehaviorCollection.php(145): SoftDeleteBehavior->setup(Object(Post), Array)
#16 CakePHP-App\lib\Cake\Model\BehaviorCollection.php(66): BehaviorCollection->load('SoftDelete', Array)
#17 CakePHP-App\lib\Cake\Model\Model.php(774): BehaviorCollection->init('Post', Array)
#18 CakePHP-App\lib\Cake\TestSuite\Fixture\CakeTestFixture.php(143): Model->__construct(NULL, NULL, 'default')
#19 CakePHP-App\lib\Cake\TestSuite\Fixture\CakeTestFixture.php(120): CakeTestFixture->init()
#20 CakePHP-App\lib\Cake\TestSuite\Fixture\CakeFixtureManager.php(163): CakeTestFixture->__construct()
#21 CakePHP-App\lib\Cake\TestSuite\Fixture\CakeFixtureManager.php(77): CakeFixtureManager->_loadFixtures(Array)
#22 CakePHP-App\lib\Cake\TestSuite\CakeTestRunner.php(57): CakeFixtureManager->fixturize(Object(PostTest))
#23 CakePHP-App\lib\Cake\TestSuite\CakeTestSuiteCommand.php(98): CakeTestRunner->doRun(Object(PHPUnit_Framework_TestSuite), Array)
#24 CakePHP-App\lib\Cake\Console\Command\TestShell.php(274): CakeTestSuiteCommand->run(Array)
#25 CakePHP-App\lib\Cake\Console\Command\TestShell.php(317): TestShell->_run(Array, Array)
#26 CakePHP-App\lib\Cake\Console\Command\TestShell.php(256): TestShell->available()
#27 CakePHP-App\lib\Cake\Console\Shell.php(447): TestShell->main()
#28 CakePHP-App\lib\Cake\Console\ShellDispatcher.php(209): Shell->runCommand('app', Array)
#29 CakePHP-App\lib\Cake\Console\ShellDispatcher.php(66): ShellDispatcher->dispatch()
#30 CakePHP-App\app\Console\cake.php(47): ShellDispatcher::run(Array)
#31 {main}

Hi @ravage84,  I cloned your test app and I checked the problem you are considering, you have read the documentation for the SoftDelete behavior? I did the test in versions you named, setting SoftDelete behavior following step by step documentation, and I have not found to reproduce the same error. Let me know if using the documentation you still have the same problem.

@omnuvito  do you mean that bit of documentation at https://github.com/CakeDC/utils#softdelete-behavior ?
Yes I have read that. And now, I even added the two missing methods. But they didn't matter to the problem at hand. And yes the problem still exists.

Yes, that documentation. @ravage84 can you rewrite the models? (baked again). With your test app, after I added the missing functions and cloned the Utils folder, I overwrote the models, fixtures and tests, I added again the testFoo() function, and the problem was solved.

You don't need to clone the Utils folder.
I copied the SoftDelete behavior file to the appropriate folder and this is a valid installation method.
I - and many others - do that when they don't want to include all those other utilities in plugins like Utils.
Please checkout my test app and don't do anything else than these steps:

Checkout repo
Create DBs for default & test datasource
Setup database config
php console\cake.php schema create
php console\cake.php test app Model/Post --stderr

Also I assume your code works because you don't do import the fixtures from the model anymore as I do:
https://github.com/ravage84/softdeletebbehavior-prob/blob/6ea9b3f65d89f2a7e665931603ad7094d74bee24/app/Test/Fixture/PostFixture.php#L13
You probably chose a different option when you re-baked them...

@ravage84 you're right, there is a problem with the import model in fixtures. I'm working on it, soon will be an update on the SoftDelete Behavior.

Merged & fixed in develop, thank you!


Move AWS cloud preparation to the spoke

See individual commits for details.
Fixes https://github.com/stolostron/submariner-addon/issues/218.

/hold
This is targeted for 2.8.

/unhold

/cc @aswinsuryan @skitt
This is all set. I bumped cloud-prepare to get the duplicate SG check.

/approve
Once this gets a second vote, let me know and I’ll force-merge it.

/lgtm


TSLint in GitHub Actions

I was wondering if we should add running ng lint to our GitHub Actions workflow so we can start checking that. I noticed that not everyone has the TSLint VS Code extension and even then that doesn't guarantee compliance. We may also want to look at something like this: https://github.com/mooyoul/tslint-actions, which adds annotations to the PR for each TSLint issue.

I feel like we could go two ways with this:

Don't care too much about whether tslint is happy (which is where we're at right now)
Care about whether tslint is happy (in which case tying it to our CI is probably necessary)

I kinda like option No. 2! If we take that route, then we don't have to bother with style fixes during code review. Leaving code style to the robots makes formatting disputes much less subjective and helps keep reviews nice and quick :slightly_smiling_face:
These people put it pretty well:

Expensive human review time should be spent on the program logic rather than style, syntax, or formatting debates. We prefer settling those with automated tooling like Checkstyle, TSLint, Baseline, Prettier, etc.


Inconsistent inferred overloads in conditional types for no-arg signatures with strictFunctionTypes

TypeScript Version:  3.3.0-dev.20181205
Search Terms:
conditional type, infer, overload, no-arg, zero arguments, strictFunctionTypes
Note that this issue is not about the behavior where the last overload is examined in conditional type inference of a single signature, where some might expect a union or an argument-based choice.
Code
// turn on --strictFunctionTypes

type InferTwoOverloads<F extends Function> =
  F extends { (...a1: infer A1): infer R1, (...a0: infer A0): infer R0 } ?
  [(...a1: A1) => R1, (...a0: A0) => R0] :
  never;

type Expected = InferTwoOverloads<((x: string) => number) & (() => string)>
// [(x: string) => number, () => string]

type JustOneSignature = InferTwoOverloads<((x: string) => number)>;
// never

type JustTheOtherSignature = InferTwoOverloads<(() => string)>;
// [(...a1: unknown[]) => {}, () => string]

Expected behavior:
I would expect that either both JustOneSignature and JustTheOtherSignature would be never, or both JustOneSignature and JustTheOtherSignature would evaluate to a two-tuple where the first signature is... something.  I suppose (...a1: unknown[])=>{}?  Or maybe it should be a copy of one of the other overloads?  Or something in between?
Actual behavior:
It looks a zero-argument function is being treated pathologically during conditional type inference; if a type is callable with zero arguments, it will be considered assignable to any number of overloads with what looks like failed inference for the types of the arguments (unknown[]) and the return ({}).  Otherwise, if a type is only callable with at least one argument, it will only be considered assignable to the matching number of overloads.
This distinction only seems to happen with --strictFunctionTypes on.  If you turn it off, JustOneSignature above becomes [(...a1: unknown[]) => {}, (x: string) => number], which is at least consistent with the zero-argument situation.
Playground Link:
🔗
Related Issues:

Not the same issue as #26591 or #27027, or the choose-last-overload behavior described in #21496
Maybe related to #27439?
Or maybe #22615?

As i mentioned in duplicate issue - problem not only in no arg function. also with (x: unknown) => any,  (x: any) => any, (...args: unknown[]) => any etc.
type Overloads<F> =
    F extends {
          (...args: infer A1): infer R1
          (...args: infer A2): infer R2;
      } ? {rule: 2, variants: [A1, R1] | [A2, R2]} :
    F extends {
          (...args: infer A1): infer R1;
      } ? {rule: 1, variants: [A1, R1]} :
    never;

declare const ok1: Overloads<(x: number) => boolean>;
// {rule: 1, variants: [[number], boolean]}

declare const ok2: Overloads<{(): 1; (x: number): 2}>;
// {rule: 2, variants: [[], 1] | [[number], 2]}

declare const wrong1: Overloads<() => boolean>;
// {rule: 2, variants: [[], boolean] | [unknown[], {}]}
// expected {rule: 1, variants: [[], boolean]}

declare const wrong2: Overloads<(...args: unknown[]) => boolean>;
// {rule: 2, variants: [unknown[], boolean] | [unknown[], {}]}
// expected {rule: 1, variants: [unknown[], boolean]}

declare const wrong3: Overloads<(x: unknown) => boolean>;
// {rule: 2, variants: [[unknown], boolean] | [unknown[], {}]}
// expected {rule: 1, variants: [[unknown], boolean]}

declare const wrong4: Overloads<(x: any) => boolean>;
// {rule: 2, variants: [[any], boolean] | [unknown[], {}]}
// expected {rule: 1, variants: [[any], boolean]}

Relevant SO question: How to use Parameters type on overloaded functions?

When inferring between types with multiple signatures, we match the signatures pairwise from the bottom up. This is a fine strategy when the source and target have matching arities (number of signatures) and when the source arity is greater than the target arity. But when the source arity is less than the target arity we never make inferences to the excess signatures in the target. That is a suboptimal strategy because in the absence of inference candidates we infer the constraint (which in turn defaults to unknown) and that may end up producing very restrictive signatures.
We want to ensure that every signature in the target is matched with some signature in the source, so a better strategy is to infer between signatures pairwise from the bottom up and then infer from the first source signature to each of the excess target signatures. I will put up a PR to that effect.


Update base LTS

Fixes #47

I try to install it and I got this error
kubectl apply -f jenkins-deployment.yaml -n jenkins
Events:
  Type     Reason     Age                From               Message
  ----     ------     ----               ----               -------
  Normal   Scheduled  19s                default-scheduler  Successfully assigned jenkins/jenkins-5645f74c7b-xw2j4 to k8s-worker2
  Normal   BackOff    16s (x2 over 18s)  kubelet            Back-off pulling image "docker.pkg.github.com/markyjackson-taulia/jenkinsci-on-kubernetes/jenkins-on-kubernetes:v4.5.9"
  Warning  Failed     16s (x2 over 18s)  kubelet            Error: ImagePullBackOff
  Normal   Pulling    1s (x2 over 18s)   kubelet            Pulling image "docker.pkg.github.com/markyjackson-taulia/jenkinsci-on-kubernetes/jenkins-on-kubernetes:v4.5.9"
  Warning  Failed     1s (x2 over 18s)   kubelet            Failed to pull image "docker.pkg.github.com/markyjackson-taulia/jenkinsci-on-kubernetes/jenkins-on-kubernetes:v4.5.9": rpc error: code = Unknown desc = Error response from daemon: Get https://docker.pkg.github.com/v2/markyjackson-taulia/jenkinsci-on-kubernetes/jenkins-on-kubernetes/manifests/v4.5.9: no basic auth credentials
  Warning  Failed     1s (x2 over 18s)   kubelet            Error: ErrImagePull
vagrant@k8s-master:~/openebs-jenkins/jenkinsci-on-kubernetes$

@survivant hmm, okay, let me see what is happening here. I created this issue: https://github.com/markyjackson-taulia/jenkinsci-on-kubernetes/issues/49


Add call to ContextFinalizer in c# lib

I've implemented a call to a method in the C# lib from the C++ ContextFinalizer function in my ANE project because I need to dispose some resources when closing the app.
I think it would be a good idea to have this as a built-in feature in other to allow the C# lib to free resources (files, listeners, connections, process hooks or whatever....).

I too add a dispose function in the ContextFinalizer.
I have some small tweaks planned and one of them is to use an Interface for the C# MainController which specifies methods/props.
I will add some kind of "Dispose()" method which can be overridden


3 tests failed. create:string with format - years (2732.4) format:Y token (2896.6) week day:weekday first day of week Sunday (dow 0) (3194.5)

Client info
Date String   : Fri Dec 29 2017 14:45:52 GMT+0000 (GMT)
Locale String : 29/12/2017, 14:45:52
Offset        : 0
User Agent    : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0
Moment Version: 2.20.1

====
create:string with format - years (2732.4)
70 > 1970
// Expected 1970
// Actual   1969
"1969" === "1970"

====
format:Y token (2896.6)
format 9999 with Y
// Expected 9999
// Actual   9998
"9998" === "9999"

====
week day:weekday first day of week Sunday (dow 0) (3194.5)
Jan  1 1970 is Thursday  -- 4th day
// Expected 4
// Actual   3
3 === 4

Older version of Firefox mandated by our public libraries.

@goofballLogic does this still happen?

Won't be back in the library for another two weeks. I imagine it does although there were rumours of them upgrading their version of Firefox soon.


AttributeError: 'Accelerator' object has no attribute 'save_model'

System Info
Libraries:
accelerate==0.20.3
numpy==1.21.5
torch==1.13.1+cpu
torchvision==0.14.1+cpu
transformers==4.30.2

Python Version: 3.10.12

Information

[ ] The official example scripts
[ ] My own modified scripts

Tasks

[ ] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[ ] My own task or dataset (give details below)

Reproduction
Code Fragment:
from transformers import T5Tokenizer, T5ForConditionalGeneration,AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("intfloat/multilingual-e5-base")
model = T5ForConditionalGeneration.from_pretrained("intfloat/multilingual-e5-base")

from accelerate import Accelerator

save_directory="/content/model"
accelerator = Accelerator()

accelerator.save_model(model=model, save_directory=save_directory)

Exception:

AttributeError: 'Accelerator' object has no attribute 'save_model'

Expected behavior
This should be a supported method as I could see the implementation in the accelerate.py

Try upgrading your accelerate version. You’re using one ~6 months old now, and this may have been added in that timeframe


'Unknown action: \' - parser error?

Hi
I'm using ruleset with following syntax (<------> is TAB symbol):
SecRule REQUEST_METHOD "@streq POST"
<------>"id:220460,
<------>chain,
<------>msg:' CVE 2014-0793 attack',
<------>phase:2,
<------>deny,
<------>status:403,
<------>log"
SecRule ARGS_GET:option "@streq com_komento"
<------>"chain"
SecRule ARGS_POST:website "@rx <"
Now I decide to move to 2.9.0 and suddenly it stop working. Error message is following:
Starting httpd: AH00526: Syntax error on line 48 of /usr/local/waf/rules/27_Apps_WordPress.conf:
Error parsing actions: Unknown action: \
Line 48 contain ordinary Mod Security commands (its phase:2 line):
SecRule REQUEST_FILENAME "@contains /wp-content/plugins/sexy-contact-form/includes/fileupload/files/"
<------>"id:240020,
<------>chain,
<------>msg:' Protecting WordPress Creative Contact Form Files folder',
<------>phase:2,
<------>deny,
<------>status:403,
<------>t:'none', t:'urlDecodeUni', t:'lowercase', t:'normalisePath'"
SecRule REQUEST_FILENAME "@endsWith .php"
<------>"t:'none', t:'urlDecodeUni', t:'lowercase'"
On ModSecurity 2.8.0 it works. Here is my system information:
AH00489: Apache/2.4.4 (Unix) OpenSSL/1.0.0-fips PHP/5.4.15 configured
ModSecurity for Apache/2.9.0 (http://www.modsecurity.org/) configured.
ModSecurity: APR compiled version="1.4.6"; loaded version="1.4.6"
ModSecurity: PCRE compiled version="7.8 "; loaded version="7.8 2008-09-05"
ModSecurity: LIBXML compiled version="2.7.6"
ModSecurity: Status engine is currently disabled, enable it by set SecStatusEngine to On.
Please let me know if you need something else.
With best regards, Oleg

This is actually a known issue.... with Apache. Prior 2.4.11 Apache had issues with line continuations. See here for more details: https://bz.apache.org/bugzilla/show_bug.cgi?id=55910
The solution is an easy one thankfully just add a space before the line continuation and you should be good to go.

Thanks! It fixed this for me.

Just to add something.  If you accidentally add a space after the \ at the end of the line, you'll also run into this issue (even on 2.4.18).  The solution is to remove any spaces after the \ at the end of each line


Refactoring Nomenclature

Proposed Changes

Rename all occurrences of virtlet in variable and function names to provider
Rename all occurrences of virtlet in structure to libvirtprovider
Rename all occurrences of virtlet in description and flags to libvirt-provider
Rename all occurrences of ori in structure to iri

Fixes https://github.com/ironcore-dev/libvirt-provider/issues/74

@so-sahu you need to sign your commits  :)


[BUG] Egress remains EGRESS_STARTING forever when the room gets deleted while webrtc signaling

Describe the bug

Egress remains EGRESS_STARTING when the room gets deleted while the egress participant is connecting to livekit
ListEgress API with the egress_id returns the egress is active (EGRESS_STARTING)
the redis ended_egress returns hash without the egress_id

Egress Version
1.7.0
Logs

egress log of room gets deleted while connecting

2023-06-07T08:35:23.227Z    INFO egress service/service.go:111 request received {"nodeID": "NE_RwqwqXSgwcUK", "clusterID": "", "egressID": "EG_nrdAaZTV9XWj"}
2023-06-07T08:35:23.227Z    INFO egress service/service.go:119 request validated {"nodeID": "NE_RwqwqXSgwcUK", "clusterID": "", "egressID": "EG_nrdAaZTV9XWj", "request_type": "track_composite", "output_type": "file", "room": "userChat-64804147bf49f33affbe", "request": {"TrackComposite":{"room_name":"userChat-64804147bf49f33affbe","audio_track_id":"TR_AM7bHCwGrJHc2w","Output":null,"Options":null,"file_outputs":[{"file_type":1,"filepath":"meet/987/user-chats/64804147bf49f33affbe/64804147ced587591a0f/record/manager-1650-TR_AM7bHCwGrJHc2w.mp4","Output":{"S3":{"region":"ap-northeast-2","bucket":"bin.exp.channel.io"}}}]}}}
2023-06-07T08:35:23.245Z    DEBUG egress server/main.go:169 handler launched {"nodeID": "NE_RwqwqXSgwcUK", "handlerID": "EGH_8s23xG5AvpSi", "clusterID": "", "egressID": "EG_nrdAaZTV9XWj"}
2023-06-07T08:35:23.245Z    INFO egress redis/redis.go:92 connecting to redis {"nodeID": "NE_RwqwqXSgwcUK", "handlerID": "EGH_8s23xG5AvpSi", "clusterID": "", "egressID": "EG_nrdAaZTV9XWj", "simple": true, "addr": "livekit-redis.in.exp.channel.io:6379"}
2023-06-07T08:35:23.278Z    DEBUG egress source/sdk.go:283 connecting to room {"nodeID": "NE_RwqwqXSgwcUK", "handlerID": "EGH_8s23xG5AvpSi", "clusterID": "", "egressID": "EG_nrdAaZTV9XWj"}
2023-06-07T08:35:23.302Z    INFO logger/logger.go:144 received offer for subscriber {"nodeID": "NE_RwqwqXSgwcUK", "handlerID": "EGH_8s23xG5AvpSi", "clusterID": "", "egressID": "EG_nrdAaZTV9XWj"}
2023-06-07T08:35:23.305Z    INFO logger/logger.go:144 ICE connected {"nodeID": "NE_RwqwqXSgwcUK", "handlerID": "EGH_8s23xG5AvpSi", "clusterID": "", "egressID": "EG_nrdAaZTV9XWj"}
2023-06-07T08:35:23.465Z    INFO logger/logger.go:144 received offer for subscriber {"nodeID": "NE_RwqwqXSgwcUK", "handlerID": "EGH_8s23xG5AvpSi", "clusterID": "", "egressID": "EG_nrdAaZTV9XWj"}
2023-06-07T08:35:23.549Z    INFO logger/logger.go:144 Leave room {"nodeID": "NE_RwqwqXSgwcUK", "handlerID": "EGH_8s23xG5AvpSi", "clusterID": "", "egressID": "EG_nrdAaZTV9XWj", "reason": "ROOM_DELETED"}

list api respons

{
    "items": [
        {
            "egress_id": "EG_nrdAaZTV9XWj",
            "room_id": "RM_TFG5vmnrYtc3",
            "room_name": "userChat-64804147bf49f33affbe",
            "status": "EGRESS_STARTING",
            "started_at": "0",
            "ended_at": "0",
            "error": "",
            "track_composite": {
                "room_name": "userChat-64804147bf49f33affbe",
                "audio_track_id": "TR_AM7bHCwGrJHc2w",
                "video_track_id": "",
                "file_outputs": [
                   // ...
                ],
                "stream_outputs": [],
                "segment_outputs": []
            },
            "file": {
                // ...
            },
            "stream_results": [],
            "file_results": [
                // ...
            ],
            "segment_results": []
        }
    ]
}

redis hgetall ended_egress results

 1) "EG_T4ZWk6EcZcJ6"
 2) "userChat-648040cba0ca00e0ce88|1686126804988708420"
 3) "EG_FKJqfnQqXkTc"
 4) "userChat-648040f36a0f948c0c79|1686126841794916838"
 5) "EG_DS39EHKMyFfr"
 6) "userChat-648040f36a0f948c0c79|1686126841810222901"
 7) "EG_WZgzrKLyPXN2"
 8) "userChat-64804147bf49f33affbe|1686126923743498686"
 9) "EG_FUKApNiKahkS"
10) "userChat-648041fec52fedf7ee7e|1686127109341005764"
11) "EG_GD3ew6UefVqw"
12) "userChat-6480471a228fcc2b81b5|1686128413518484176"
13) "EG_GP7MJia7KQQw"
14) "userChat-6481662ce0aeab829967|1686201926484459809"
15) "EG_9cWMTotjDVZ6"
16) "userChat-64816760e49fc9abe917|1686202223797516601"
17) "EG_4ZCkowJe9anH"
18) "userChat-64816942344713833269|1686202702050781804"
19) "EG_f2BrWyoD73KV"
20) "userChat-64816a4979b81e334b3c|1686202967911099929"
21) "EG_69otMR46krj7"
22) "userChat-64816d78d5ba4e3f00b3|1686203784405522222"

the egress version is 1.7.0

It also seems that the orphan egress cannot be deleted by awaitCleanup, so the livekit_egress_available metric keeps return 0. below is the response of the egress health check request
{
  "CpuLoad": 0.01131456696540356,
  "EG_nrdAaZTV9XWj": {
    "TrackComposite": {
      "room_name": "userChat-64804147bf49f33affbe",
      "audio_track_id": "TR_AM7bHCwGrJHc2w",
      "Output": null,
      "Options": null,
      "file_outputs": [
        {
          "file_type": 1,
          "filepath": "meet/987/user-chats/64804147bf49f33affbe/64804147ced587591a0f/record/manager-1650-TR_AM7bHCwGrJHc2w.mp4",
          "Output": {
            "S3": {
              "region": "ap-northeast-2",
              "bucket": "bin.exp.channel.io"
            }
          }
        }
      ]
    }
  }
}

one of the instance now cannot start any egress start request after an os resource error, which seems to be related to this issue, so I leave the error log as below,
2023-06-09T01:02:15.559Z	ERROR	egress	service/manager.go:94	could not launch process	{"nodeID": "NE_mjxH33KhRC3c", "clusterID": "", "error": "fork/exec /usr/bin/egress: resource temporarily unavailable"}
github.com/livekit/egress/pkg/service.(*ProcessManager).launchHandler
	/workspace/pkg/service/manager.go:94
github.com/livekit/egress/pkg/service.(*Service).StartEgress
	/workspace/pkg/service/service.go:127
github.com/livekit/psrpc/pkg/server.(*rpcHandlerImpl[...]).handleRequest
	/root/go/pkg/mod/github.com/livekit/psrpc@v0.3.0/pkg/server/rpc.go:162
github.com/livekit/psrpc/pkg/server.(*rpcHandlerImpl[...]).run.func1.1
	/root/go/pkg/mod/github.com/livekit/psrpc@v0.3.0/pkg/server/rpc.go:110

the memory usage of the instance is oddly high (6gib) even though it is not processing any egress request.

Fixed in https://github.com/livekit/egress/pull/392

any plan for release?


Perform deep merge on YAML with a merge visitor

In order to accommodate use cases where we need to make complex changes to YAML, it is needed to have a MergeYamlVisitor that perform a deep merge on an object.

Magical


Cannot set fan speed to low: error speed (33) must be between 33.333333333333336 and 100.0

Describe the bug
When trying to set fan speed to low it fails.

To Reproduce
Setup arlec_ceiling_fan_remote device and try and set speed to low.
Expected behavior
Low should work without error.
Additional context
2023-08-21 10:39:07.496 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140645327007424] speed (33) must be between 33.333333333333336 and 100.0
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 226, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1974, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2011, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/tuya_local/fan.py", line 121, in async_set_percentage
    values_to_set = self._speed_dps.get_values_to_set(self._device, percentage)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/tuya_local/helpers/device_config.py", line 892, in get_values_to_set
    raise ValueError(f"{self.name} ({value}) must be between {mn} and {mx}")

Previous cases like this have been fixed in the config, by allowing speed to go down to 0, since the 0 will be caught and converted to an off command anyway.  But it is probably better to round the values so that 33% is not out of range for a fan with speeds 1-3.
(Issue was caused by the not-yet rounded value of 0.99 being checked if it is in the range 1 <= n <= 3 )

Confirmed working. Thank you @make-all


Add plot width and height support for Bokeh 2.3.0

This PR ensures that user's who specify plot_width= and plot_height= keyword arguments in our diagnostic utilities aren't ignored when using bokeh==2.3.0 (xref https://github.com/dask/dask/issues/7292#issuecomment-788310216)
Additionally, I think we should try to eliminate the need for validating bokeh keyword arguments provided by users with _get_figure_keywords. Passing invalid keywords to bokeh and having bokeh raise the error seems like it might be less error prone. I gave this an initial attempt but there's some additional logic we'll need to implement to handle label_size=. In any event, the changes here seem like a reasonable first step and will get our CI passing again.
cc @quasiben @bryevdv
Closes https://github.com/dask/dask/issues/7292

Thanks for taking a look @bryevdv. From what I can tell the introduction of keyword argument validation with _get_figure_keywords stems from wanting to plot multiple profilers using dask/diagnostics/profile_visualize.py::visualize, which have similar but not exactly the same signatures for their corresponding plot_* utilities in dask/diagnostics/profile_visualize.py (e.g. plot_cache). That's all to say, I think this is an issue on the Dask side of things and not the bokeh side.
I'm going to merge this PR as it's a good step forward and will help resolve CI build failures. Though I agree revisiting this, and trying to eliminate the need for _get_figure_keywords, is something we should do


render script reference

@panmari Thanks for providing the render script. I am trying to write some automatic render scripts using blender, but I can't find any useful reference about the usage that is used in your script. Although I know there is blender python API documentation, it doesn't seem to help. Would you mind providing me with some material or tutorial to write render script with blender using python, thanks for your kind help.

My workflow was

Trying it out in the UX, stitching a render graph together there.
Translating my graph to code.
When things broke unexpectedly, asked at https://blender.stackexchange.com/


Add pre-commit to check unix line feeds

It would be great to avoid carriage return chars (\r), the code would be the same as HardTabs pre-commit. I can prepare a Pull Request if you want to.

One thing to keep in mind is that if your repository is ever developed on a Windows environment, then you'll need to provide some way for developers to work with carriage returns. Typically this is done with Git's core.autocrlf and core.eol options, but those aren't tracked in source control.
Given it's the same code as HardTabs (as you pointed out), we should probably create a generic hook that allows you to specify an arbitrary regex so you can flag any offensive lines. Then prohibiting carriage returns would be as simple as adding \r$ to the regex, but we allow the hook to be used for other purposes as well (and stop polluting the namespace with a bunch of awfully simple hook names).
Happy to accept a pull request.

What if you want to exclude the hard tabs hook from some files but not
exclude the line feeds hook from those files?
On Nov 30, 2015 7:56 PM, "Shane da Silva"<EMAIL_ADDRESS>wrote:

One thing to keep in mind is that if your repository is ever developed on
a Windows environment, then you'll need to provide some way for developers
to work with carriage returns. Typically this is done with Git's
core.autocrlf and core.eol options, but those aren't tracked in source
control.
Given it's the same code as HardTabs (as you pointed out), we should
probably create a generic hook that allows you to specify an arbitrary
regex so you can flag any offensive lines. Then prohibiting carriage
returns would be as simple as adding \r$ to the regex, but we allow the
hook to be used for other purposes as well (and stop polluting the
namespace with a bunch of awfully simple hook names).
Happy to accept a pull request.
—
Reply to this email directly or view it on GitHub
https://github.com/brigade/overcommit/issues/301#issuecomment-160844769.

Good point, @lencioni.
It sounds like we might want to re-introduce the idea of an inherit option so that we can define a canonical "grep" hook which can be inherited by other hooks to reuse that common code.

At this point I think the best is to leave this idea and maybe create a place to link community custom hooks, what do you think?

Overcommit itself includes a collection of built-in hooks which can be thought of as from the community.
I understand that you're suggesting something slightly different (and I'm definitely not against the idea), but I'm not personally interested in maintaining and moderating another collection besides the Overcommit's built-in hooks. I think the hooks that ship with Overcommit provide a nice collection of examples which others can copy/modify to suit their needs.


Insufficient information in Aggregate exercise

Challenge Store Data in MongoDB has an issue.
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
var mongo = require('mongodb').MongoClient
var age = process.argv[2]

var url = 'mongodb://localhost:27017/learnyoumongo'
var doc = {firstName:process.argv[2],lastName:process.argv[3]}
mongo.connect(url, function(err, db) {
  if (err) throw err
  var parrots = db.collection("prices")
  parrots.aggregate([
     { $group: {
        _id: 'total' // This can be an arbitrary string in this case
       ,total: {
          $avg: 'price' // <---- I have NO IDEA what the name of the field is
        }
      }}
    ]).toArray(function(err, results) {
      // handle error
      if(err) throw err
      console.log(Number(results).toFixed(2))
    })
  db.close()
})

this is what i have. the problem is the instructions dont tell us what the name of the field is and there is no way to investigate what the schema of the collections is according to my googling around. please provide better instructions

(as in, i went with 'price' for now but it doesnt work. neither does 'prices' or '$price' or '$prices' or 'value')

Hi @sw-yx!
This is from the description of the challenge:

Say you have a collection named prices. Each price document is modeled like so:

   {
      "name": "Tshirt",
      "size": "S",
      "price": 10,
      "quantity": 12
      "meta": {
        "vendor": "hanes",
        "location": "US"
      }
    }

In this exercise, we need to calculate the average price for all documents in prices
that have the size that will be passed as the first argument to your script.

It does show the price field. Because of the way aggregate works, you have to put a $ in front of the field name. I believe the challenge shows it sufficiently. You seem to have tried this as well, and it's the correct value.
The reason it doesn't pass for you is because the way you're logging it in the console is incorrect. I recommend logging results in it's entirety to find out what part you need to log.
Next time, please hit us up in the HelpBackend chat room first. 🙂
If you think I'm wrong in closing this issue, please reopen it and add further clarification.
Happy coding!


[Feature] posibility of change of unicorn: prefix by one custom like uni: on JS

This is an interesting idea! It reminds me of this: https://twitter.com/calebporzio/status/1283446501201649664. I think livewire ended up using wire for the attributes. For django-unicorn I do try to keep "Explicit is better than implicit." (from https://www.python.org/dev/peps/pep-0020/) in mind and maybe uni isn't clear enough for what is happening?
Another (probably way too cutesy) idea would be to use 🦄. So, it would be something like <input 🦄:model="name"></input>. Pretty sure that's a bad idea! :)
Another option would be to support unicorn or uni, but it might make the javascript slightly more complicated in a few places.

i thinking about the long of the property. unicorn it is too large ... uni can handle easy ...

@zodman Thoughts? https://github.com/adamghill/django-unicorn/pull/53


docs-dark-mode

The dark mode styles will activate when the .dark class is applied to the html or body element.

The proper fix for this was applied in #726


Clarification on Certificate Auto Rotation

Hi team,
For the section on "certificate auto rotation", please can we have clarification on the following:

An example of the content that should be present in the bootstrap-kubeconfig file if TLS bootstrapping is enabled
To enable the feature, which type of upgrade is needed - i.e. control plane only, a node pool only, control plane + node pools or any upgrade operation whatsoever?

Thank you!
Kind regards,
Adam

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

ID: 9b78509d-73eb-6c32-aee1-9b34685a64ff
Version Independent ID: 6f87cf70-1f5a-0f9e-862d-ae1436595f3b
Content: Rotate certificates in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/certificate-rotation.md
Service: container-service
GitHub Login: @zr-msft
Microsoft Alias: zarhoads

@AdamSharif-MSFT Thanks for your comment. We will review the issue and get back to you shortly.

Hello @AdamSharif-MSFT,
Please find answers in-line

An example of the content that should be present in the bootstrap-kubeconfig file if TLS bootstrapping is enabled?

The bootstrap kubeconfig should be in a path available to the kubelet, for example /var/lib/kubelet/bootstrap-kubeconfig.
Its format is identical to a normal kubeconfig file. A sample file might look as follows:
apiVersion: v1
kind: Config
clusters:

cluster:
certificate-authority: /var/lib/kubernetes/ca.pem
server: https://my.server.example.com:6443
name: bootstrap
contexts:
context:
cluster: bootstrap
user: kubelet-bootstrap
name: bootstrap
current-context: bootstrap
preferences: {}
users:
name: kubelet-bootstrap
user:
token: 07401b.f395accd246ae52d

The important elements to note are:
certificate-authority: path to a CA file, used to validate the server certificate presented by kube-apiserver
server: URL to kube-apiserver
token: the token to use
As per the doc TLS bootstrapping has been enabled by default in all Azure regions.
How to check whether current agent node pool is TLS Bootstrapping enabled?
To verify if TLS Bootstrapping is enabled on your cluster browse to the following paths. On a Linux node: /var/lib/kubelet/bootstrap-kubeconfig, on a Windows node, it’s c:\k\bootstrap-config.

To enable the feature, which type of upgrade is needed - i.e. control plane only, a node pool only, control plane + node pools or any upgrade operation whatsoever?
Both.
Azure Kubernetes Service will automatically rotate non-ca certificates on both the control plane and agent nodes before they expire with no downtime for the cluster.

I have asked content author if we can add a sample of bootstrap-kubeconfig to the doc for a better user experience. I will update it accordingly.


ExposedDropdownMenu has wrong padding when has more then 1 item

Describe the bug
I have an app using Compose Multiplatform, which worked well on 1.5.12. But i updated to 1.6.0-beta2 (1.6.0-rc01 works behaves the same) because of PullRefresh which i needed in my app. But then i saw a bug (which isn't there on 1.6.0-beta1 and 1.5.12):
When ExposedDropdownMenu has more then 1 items it suddenly goes to the top of view.
Affected platforms
Select one of the platforms below:

Android
iOS (not tested but i think it persists there too)

Versions

Kotlin version*: 1.9.22
Compose Multiplatform version*: 1.6.0-rc01 and 1.6.0-beta2
OS version(s)* (required for Desktop and iOS issues): Android 13 MIUI 14
OS architecture (x86 or arm64): arm64
JDK (for desktop issues): JDK 17 jbr

To Reproduce
Steps and/or the code snippet to reproduce the behavior:

Create a simple app with ExposedDropdownMenu text input which can have multiple items
Run it on mobile device.
Try to enter some text that matches multiple items.
See that ExposedDropdownMenu is on the top.

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

The last screenshot is how it should be
Additional context
On desktop is seems to work OK.

Hi @weekly71 - if the bug is Android-only (which seemingly it is since it's tested only against Android and Desktop, being problematic only at Android) then please, report it in the Jetpack Compose tracker

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


[v1.0][W10-B2] Sell IT

@ongkuanyang @XavierMaYuqian @glorialaw
Some comments added. Please take a look and update the document as necessary.
Don't close this pull request; we will use it for further reviews later in the semester.
Good job on this one! Please remember to complete the deliverables before coming to the tutorial next week.

@ongkuanyang @XavierMaYuqian @glorialaw
Missed adding; please update the Readme page with:

badge for Travis (and coveralls, if you have enabled) on your Readme page.
Name of the product.

@ongkuanyang @XavierMaYuqian @glorialaw
To me it seems your User guide is quite incomplete. In addition, I don't see pictures updated for two of you. Hence I think you missed the milestone.
Additionally,
I would want you to mention the following in your Developer guide

For each team member what are the features (major and minor) you are proposing?
Within the scope of the project, how does it fit in (just a one or 2 line summary)
Please do this by end of day Monday 19 March.

@ongkuanyang @XavierMaYuqian @glorialaw
Please take a look at some comments I have added for your developer guide.
You can use them to improve your DG.
In addition, I see that your user guide has things for v1.2 and coming in v2.0. What about the features you are implementing in the remaining milestones? Please complete the user guide to include all the features and/or commands that you plan to implement in your project.


Whatsapp voice msg that is being recorded gets deleted when bell sounds

Original issue: https://github.com/mindful-marc/mindbell/issues/41

Cannot reproduce this behaviour with Android Marshmallow. Bell sound is properly recorded into the voice message ;-)
Furthermore I could not find a way to detect whether the microphone is in use without requesting the microphone. But requesting the microphone requires microphone permission which I surely do not want to add to MindBell.
Therefore bug get's closed with wontfix.


State when the runtime should and must not apply Linux ambient capabities

Ambient capabilities are a feature, since Linux 4.3, that enables capabilities
to be set on non root proesses directly. They are the only way to set these,
so are desirable in the case of "no new privileges" where suid binaries or
filesystem capabilities cannot be used as tis flag denies these operations,
and therefore there is no other way to apply capabilities to non root processes.
Without "no new privileges" users generally expect suid binaries or
filesystem capabilities to be the way to grant capabilities to non
root processes.
See https://github.com/opencontainers/runc/pull/1286 for the runc pull
and detailed explanation of the security issues in offering a choice here.
Signed-off-by: Justin Cormack<EMAIL_ADDRESS>

Related to this topic, I think that in the pre-existing wording the capabilities field is a bit under-specified. For example, it doesn't spell out which set(s) of capabilities it affects.
More generally, this field can be read both as some upper limit that a process is allowed to reach (ie. focused on the bounding set) or as starting privileges that the process will already have (ie. focused on the ambient/effective set). This PR seems to go in the latter direction, so I think it's the right time to clarify the semantics.

@lucab yes that is a good point. It has always tried to do both, well at least runc has, and so what this spec was based from, ie it sets the bounding set, and then sets effective and inheritable to the same.

I am happy to add those changes here, and retitle this "clarify the capabilities spec"...

@justincormack WDYT of adding a separate boolean for ambient capabilities? That way the config generator has the option to do what it wants rather than tying this to noNewPrivileges?

@mrunalp yes that is an option, but I do think this version should cover all the use cases, without complicating the spec.
If you set NNP you must want ambient applied (well, at least if you choose a non root user, it makes no real difference in the root case) because otherwise you dont actually get the capabilities you asked for and have no way to get them under any circumstance, so it definitely makes sense here.
If you don't have NNP set, you are implying that you may want to raise capabilities, but if you set ambient caps you dont need to raise privs as you already have them.
So:
NNP=true ambient=false pointless, get no caps
NNP=true ambient=true sensible
NNP=false ambient=false sensible, historic behaviour
NNP=false ambient=true effectively same as NNP=true ambient=true
It is true that the NNP flag has some other effects (unpriv seccomp) but I don't think they affect this much.
For capability aware software, the nnp+ambient setting makes the most sense, and I would try to encourage people to use it - we have a PR for docker to have a daemon setting to make it the default now https://github.com/docker/docker/pull/29984 and I am just working on a PR to go in conjunction with the runc PR that will reduce non root default capabilities in the nnp case. I also plan to improve the explanation for what NNP does.
For people running applications that use sudo and expect that to restrict caps, any ambient setting is a real problem, as it gives unprivileged processes root-like capabilities.
If we were to add a flag, I would set it to the same as NNP in Docker, as it is too confusing to have another option, and explain what ambient caps are. We cannot change the way sudo works for existing users (who of necessity are not using NNP).

@mrunalp another option is to simply expose the four capabilities sets in Linux, and make the user specify exactly what they want, but no one has asked for this, and it is very complex.

As you seem to be still in brainstorming mode, another idea is to follow the split you described in your other PR (modern vs traditional apps) and having two sets to describe:

the maximum set of possible caps later usable by the process (via fcaps, setuid-bit, capset)
the actual caps pre-activated by the parent for the process (which can then avoid caps manipulation)

This won't break backward compatibility (the first set is the one already in this spec, without runc build tag) and will allow for some more flexibility at the low level (eg. mixing NNP=0 and still having a defined upper bound and optional starting caps as well). The only invariant is that the first set must be a superset of the second set.

@lucan if NNP is defined it is not that much use the initial process having a broader bounding set than current set, as if it has CAP_SETPCAP it can raise, and if not it may as well have the initial set as the bounding set. With either mode it is really only useful if an initial process drops caps for sub processes anyway, so it has less privileged children, or it drops caps when it does not need them, but there is no real use case for the initial process not being fully privileged that I can see.
With the non NNP mode, well you would just use fscaps, and make the initial process non root.
There has never been a call for splitting up and making the caps more complicated, and I think it is because there is really no reason to.

Its @lucab and not lucan (me) ;)

@Lucan sorry! github autocomplete is weird!

@lucab ^^

I don't really like tying up NNP with ambient capabilities. To be honest, I would prefer if we switch to something like capsh's format with the different bits (eipa). That would then be a minimally complicated modification -- the downside being that it is no longer POSIX capabilities capable (no pun intended).

NNP=true ambient=false pointless, get no caps

But it isn't pointless. If you're running a root process that then switches UID/GID and then executes another process, then this change will mean that the new process now has the full capability set.
I do agree that the usual case is "pointless" with an unprivileged user, but actually you could implement this in several ways that makes it not pointless (not that I'm suggesting you should implement it by overwriting the process's code with ptrace(2)).
I understand why you'd want to do this, but NNP has a very specific meaning in Linux -- it's a bit unfortunate that it isn't in the Linux-specific section so it makes it more prone to having its semantics be changed like this.

@cyphar yes I guess that the NNP, root, ambient case is potentially a bit confusing for a program that expects to be able to drop caps by just changing uid.
The capsh format is pretty horrible, I have not yet met someone who can understand it, and it does not really make sense to have a microformat like that in a JSON spec. We could just have the four arrays though.
POSIX capabilities don't exist in any meaningful sense - POSIX dropped the spec and the only similar implementation is the Linux one.

We discussed this on the OCI call today and we think that having a separate boolean for ambient caps would be preferable.

@mrunalp hmm, but the ambient capability set can also only be a subset of the process' bounding set right ? In that case specifying only a boolean feels restrictive. Maybe adopting current systemd configuration i.e. 1 list for bounding set, 1 list for ambient also works here ?

Yes a boolean for ambient does seem to only cover some use cases. eg you
might want to grant everyone CAP_NET_BIND_SERVICE ambient at all times,
because you do not consider it a security issue, while still granting some
non ambient caps. Two lists is more flexible.
On Wed, Feb 1, 2017 at 11:04 PM, Daniel, Dao Quang Minh <
<EMAIL_ADDRESS>wrote:

@mrunalp https://github.com/mrunalp hmm, but the ambient capability set
can also only be a subset of the process' bounding set right ? In that case
specifying only a boolean feels restrictive. Maybe adopting current systemd
configuration i.e. 1 list for bounding set, 1 list for ambient also works
here ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/opencontainers/runtime-spec/pull/668#issuecomment-276812011,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAdcPEGoNe-i04smmn7RCTLhV0qIiN3lks5rYQ97gaJpZM4LrLpJ
.

So we should have this then?

{
    "capabilities" : [],
    "ambient_capabilities": []
}

@crosbymichael it is more logical to have
{
    "capabilities": {
          "bounding": [],
          "ambient": []
     }
}

but obviously that is less backward compatible. It is more forward compatible if we want to add the other two sets though.

i'm fine changing it to something move obvious while we are still pre 1.0 if everyone else is good with it.  its not like we haven't changed the types of things 1000 times

@justincormack @crosbymichael SGTM

Closing in favour  of #675


Focus blinking on collapsing of the inner trap

You can see this behavior on the sixth demo. After inner trap collapsing focus goes to the initial item and then to the "activate inner trap" button.
This behavior visible even on such simple implementation. Just imagine some React components with lots of inputs, buttons and focus animations. Looks horrible with this blinking.

Maybe it makes sense to handle this 'return focus' behavior in the current active trap? Save the last focus when trap paused, and focus it instead on the initial element when unpaused.
'returnFocusOnDeactivate' -> 'returnFocusOnUnpaused'

@galanovnick Do you still see that on the latest demo: https://davidtheclark.github.io/focus-trap/demo/? I saw it last night but it seems to me to be fixed with the latest release.

@davidtheclark yeah, it's just fine with last release. Thanks.


DLC not updated before send

Before sending the NMT message as master the DLC field should be updated.
`
/* Send NMT master message. */
if (error == CO_ERROR_NO) {
    NMT->NMT_TXbuff->data[0] = command;
    NMT->NMT_TXbuff->data[1] = nodeID;
    NMT->NMT_TXbuff->DLC = 2;
    error = CO_CANsend(NMT->NMT_CANdevTx, NMT->NMT_TXbuff);
}

`
the line below is added
NMT->NMT_TXbuff->DLC = 2;

DLC is set inside CO_CANtxBufferInit(). It must not be set in that place. DLC is controlled exclusively by driver.

Ok, thanks for the clarification.